一、操作系统安装(centos7)
1.vmware虚拟机使用Workstation 14 Pro
2.使用镜像文件CentOS-7-x86_64-DVD-1804.iso
3.主要设置下磁盘大小,其他的都是默认。
4.进入安装界面
5.选择英文,后续方便。
6.设置DATE
7.安装软件
8.安装硬盘选择
9.安装网络
10.启动安装
11.设置用户和密码
等待安装完成
12.修改注册信息
13.登录用户
正常使用
14.设置vmware和centos互联,不用网线。
编辑文件
修改完后重启。
修改虚拟机设置
内外都可以直接连通
二、数据库安装(oracle12c)
1.安装数据库需要的rpm
解压CentOS-7-x86_64-DVD-1804.iso文件,进入Packages文件夹,拷贝如下.rpm文件至CentOS系统。
2.执行rpm -Uvh *.rpm --nodeps --force
3.修改组权限
4.上传安装包linuxx64_12201_database.zip。
5.检查安装包是否完全
6.建立数据库安装目录
mkdir -p /orcl/app/oracle/product/12.1.0/db_1
chown -R oracle:oinstall /orcl/app
chmod -R 775 /orcl/app
7.配置系统参数
#vi /etc/sysctl.conf
echo fs.aio-max-nr = 1048576 >>/etc/sysctl.conf
echo fs.file-max = 6815744 >>/etc/sysctl.conf
shmall=Totalmem*40%
echo kernel.shmall = 1717986918 >>/etc/sysctl.conf
shmmax=Totalmem*50%
echo kernel.shmmax = 2147483648 >>/etc/sysctl.conf
echo kernel.shmmni = 4096 >>/etc/sysctl.conf
echo kernel.sem = 250 32000 100 128 >>/etc/sysctl.conf
echo net.ipv4.ip_local_port_range = 9000 65500 >>/etc/sysctl.conf
echo net.core.rmem_default = 262144 >>/etc/sysctl.conf
echo net.core.rmem_max = 4194304 >>/etc/sysctl.conf
echo net.core.wmem_default = 262144 >>/etc/sysctl.conf
echo net.core.wmem_max = 1048586 >>/etc/sysctl.conf
执行生效
/sbin/sysctl -p
/sbin/sysctl -a
vi /etc/security/limits.conf
echo oracle soft nproc 2047 >>/etc/security/limits.conf
echo oracle hard nproc 16384 >>/etc/security/limits.conf
echo oracle soft nofile 1024 >>/etc/security/limits.conf
echo oracle hard nofile 65536 >>/etc/security/limits.conf
#vi /etc/pam.d/login
echo session required /lib/security/pam_limits.so >>/etc/pam.d/login
echo session required pam_limits.so >>/etc/pam.d/login
vi /etc/hosts
#增加 IP地址 主机名
vi /etc/profile
#vi ~oracle/.bash_profile
8.安装数据库
新增图像界面参数
先重启系统
su - oracle
$ cd /orcl/app/oracle
$ unzip linuxx64_12201_database.zip
$ export LANG="en_US"
$ cd /orcl/app/oracle/database
$ ./runInstaller
9.安装oracle
创建用于交换分区的文件:增加2G大小的交换分区,count等于想要的块大小
#dd if=/dev/zero of=/home/swap bs=1024 count=4096000
设置交换分区文件
#mkswap /home/swap
立即启用交换分区文件
#swapon /home/swap
如果想使得开机自启动,想要修改文件/etc/fstab 修改swap行
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=6fef81a7-d81f-4a22-8795-f714054edb2e /boot xfs defaults 1 2
/home/swap swap swap defaults 0 0
/mvp/RHEL-server-7.0-x86_64-LinuxProbe.Com.iso /mnt/cdrom iso9660 defaults,ro 0 0
修改softlimit
$ulimit -s 65536
三、server用户安装
1.新建batsvr用户
useradd -d /home/batsvr -g oinstall batsvr
2.修改batsvr用户密码
passwd batsvr
Changing password for user batsvr.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
3.安装batsvr应用
#应用解压
$ tar xvf batsvr20181121.tar
#环境配置
$ vi .bash_profile
#建立数据库用户
#su - oracle
$sqlplus / as sysdba
#查看表空间
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name;
select a.tablespace_name,a.bytes/1024/1024 “Sum MB”,(a.bytes-b.bytes)/1024/1024 “used MB”,b.bytes/1024/1024 “free MB”,round(((a.bytes-b.bytes)/a.bytes)*100,2) “percent_used” from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc
“Sum MB”表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小
“userd MB”表示表空间已经使用了多少
“free MB”表示表空间剩余多少
“percent_user”表示已经使用的百分比
#新建用户临时表空间
create temporary tablespace TEMPTBS
tempfile ‘/orcl/app/oracle/oradata/orcl/TEMP02.dbf’
size 2048m;
#新建用户数据表空间
create tablespace DATATBS
datafile ‘/orcl/app/oracle/oradata/orcl/DATATBS.dbf’ size 20480M;
#给表空间增加数据文件
alter tablespace DATATBS add datafile ‘/orcl/app/oracle/oradata/orcl/DATATBS01.dbf’ size 10240M;
#查看表空间增加的数据文件
select file_name,file_id,tablespace_name
from dba_data_files where tablespace_name=‘DATATBS’;
#删除表空间文件
alter tablespace DATATBS drop datafile ‘/orcl/app/oracle/oradata/orcl/DATATBS01.dbf’
#添加undo 表空间的数据文件,
1 增加数据文件
sql>alter tablespace UNDOTBS1
add datafile ‘/orcl/app/oracle/oradata/orcl/UNDOTBS02.dbf’ size 5120M reuse;
2 切换undo 表空间,这种情况下多用在undo 表空间已经非常大的情况。
#建立新的表空间undotbs2
sql> create undo tablespace undotbs2 datafile ‘D:\undo03.dbf’ size 100m reuse;
表空间已创建。
#切换到新建的undo表空间上来,操作如下
sql> alter system set undo_tablespace=undotbs2 scope=both;
系统已更改。
#将原来的undo表空间,置为脱机:
sql> alter tablespace undo offline;
表空间已更改。
#删除原来的undo表空间:
sql> drop tablespace undo including contents and datafiles cascade constraints
表空间已删除。
如果只是drop tablespace undo ,则只会在删除控制文件里的记录,并不会物理删除文件。drop undo表空间的时候必须是在未使用的情况下才能进行。
如果undo表空间正在使用(例如事务失败,但是还没有恢复成功),那么drop表空间命令将失败。在drop表空间的时候可以使用including contents。
#新建数据库用户
drop user cbs cascade;
create user cbs identified by cbs default tablespace DATATBS temporary tablespace TEMPTBS;
grant connect,resource to cbs;
alter user cbs account unlock;
grant unlimited tablespace to cbs;
#导入数据
$imp cbs/cbs file=cbs.dmp log=cbs.log full=y
#sqlldr导入数据当加载大量数据时(大约超过10GB),最好抑制日志的产生:
alter table t_test nologging;
#对于超大数据文件进行切分的导入就要用并发操作了,即同时运行多个导入任务.
sqlldr userid=/ control=result1.ctl direct=true parallel=true &
sqlldr userid=/ control=result2.ctl direct=true parallel=true &
sqlldr userid=/ control=result2.ctl direct=true parallel=true &
test.ctl:
OPTIONS (direct=TRUE,parallel=TRUE,multithreading=TRUE,bindsize=1024000,readsize=2048000)
unrecoverable --此选项必须要与DIRECT共同应用不产生REDO LOG,可以提高效率
load data
infile ‘/tmp/20g_1000W_200col.txt’
append
into table t_test
fields terminated by ‘|’ – 数据中每行记录用 “,” 分隔
–optionally enclosed by ‘"’ – 数据中每个字段用 ‘"’ 框起
–trailing nullcols --表的字段没有对应的值时允 许为空
(a1,a2,a3)
$sqlldr userid=cbs/cbs control=test.ctl log=log.out discard=discard.txt errors=1000000
#建立索引
#进行表统计信息更新
show parameter statistics_level
NAME TYPE VALUE
statistics_level string TYPICAL
alter session set statistics_level = all ;
#编译环境
$cd ~/pub/db
目录权限需要修改
$cd ~/bin
$makeall.sh
四、Oracle 12C客户端安装
使用winx64_12201_client安装包。
下载地址:
https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
如报上述错误:
针对客户端安装,在cmd中执行命令;
setup.exe -ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"
针对服务端安装,在cmd中执行命令:(此处不需要执行)
setup.exe -ignorePrereq -J"-Doracle.install.db.validate.supportedOSCheck=false"
设置客户端
Centos环境关闭防火墙运行:systemctl stop firewalld
永久关闭防火墙
systemctl disable firewalld.service #禁止firewall开机启动
4) 设置环境变量(修改PATH和TNS_ADMIN环境变量)
运行cmd 进入DOS,输入命令 sqlplus / as sysdba 查看NLS_LANG
对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:
SQL> selectuserenv(‘language’) nls_lang from dual;
NLS_LANG
AMERICAN_AMERICA.AL32UTF8
或者SIMPLIFIED CHINESE_CHINA.ZHS16GBK
右击"计算机" -“属性” -“高级系统设置” -“环境变量” -“系统环境变量”:
1>.选择"Path" - 点击"编辑", 把"D:\oracle\product\11.2.0\dbhome_1\instantclient;“加入;
2>.点击"新建”, 变量名设置为"TNS_ADMIN", 变量值设置为"D:\app\client\Administrator\product\12.2.0\client_1;",点击"确定";
3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"AMERICAN_AMERICA.AL32UTF8",点击"确定";
点击"新建", 变量名设置为"ORACLE_HOME", 变量值设置为"D:\app\client\Administrator\product\12.2.0\client_1;",点击"确定";
五、虚拟机加空间
扩展VMWare硬盘空间
关闭Vmware 的 Linux系统
对新增加的硬盘进行分区
执行步骤:
执行“fdisk /dev/sda”,进入到fdisk
输入p指令,查看已分区数量(有两个 /dev/sda1 /dev/sda2)
输入 n {new partition}指令,新增加一个分区
输入p {primary partition},分区类型选择为主分区
输入分区号 3 {partition number} ,分区号选3(上面显示我已经有2个分区了)
回车 默认(起始扇区)
回车 默认(结束扇区)
输入t {change partition id}指令,修改分区类型
按提示输入刚才的分区号3
输入分区类型 8e {Linux LVM partition}
输入w指令,将以上改动写入分区表
最后完成,退出fdisk命令
对新增加的硬盘格式化
添加新LVM到已有的LVM组,实现扩容
lvm 进入lvm管理
lvm> pvcreate /dev/sda3 这是初始化刚才的分区,必须的
lvm>vgextend centos /dev/sda3 将初始化过的分区加入到虚拟卷组vg_dc01
lvm>lvextend -L +79G /dev/mapper/centos-root 扩展已有卷的容量
lvm>pvdisplay 查看卷容量,这时你会看到一个很大的卷了
lvm>quit 退出
以上只是卷扩容了,下面是文件系统的真正扩容,输入以下命令:
报错:当尝试打开 /dev/mapper/centos-root 时 找不到有效的文件系统超级块
因为我的centos7的某些分区用的是xfs的文件系统(使用df -T查看即可知道)
将resize2fs替换为xfs_growfs,重新执行一遍即可,如下: