1、配置内核参数
Vi /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.aio-max-nr = 1048576
修改完成后,保存退出,执行sysctl –p 进行生效
2、新增oracle并配置权限
[root@oracle12 ~]# groupadd dba
[root@oracle12 ~]# useradd -g dba -m oracle
[root@oracle12 ~]# passwd oracle
[root@oracle12 ~]# vi /etc/security/limits.conf
Oracle soft nproc 2047
Oracle hard nproc 16384
Oracle soft nofile 1024
Oracle hard nofile 65536
Oracle soft stack 10240
Oracle hard stack 10240
[root@oracle12 ~]# vi /etc/pam.d/login
在最后一行的上一行添加
Seesion required pam_limits.so
3、配置环境变量
- root用户配置
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 –n 65536
fi
fi
- 新建oracle所需要的文件夹
[root@oracle12 ~]# mkdir -p /opt/oracle/product
[root@oracle12 ~]# mkdir -p /opt/oracle/oradata
[root@oracle12 ~]# mkdir -p /opt/oracle/oraInventory
[root@oracle12 ~]# chown -R oracle:dba /opt/oracle
[root@oracle12 ~]# chmod -R 775 /opt/oracle/
- Oracle 用户配置环境变量
[root@oracle12 ~]# su oracle
[oracle@oracle12 root]$ vi /home/oracle/.bash_profile
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=en_US.UTF8
保存退出后,source /home/oracle/.bash_profile 执行生效
4、安装依赖包
- 自动挂载源
[root@oracle12 ~]# mkdir /mnt/cdrom
[root@localhost mnt]# mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
[root@localhost mnt]# vim /etc/fstab
/dev/cdrom /mnt/cdrom iso9660 defaults 0 0
[root@oracle12 mnt]# cd /etc/yum.repos.d
[root@oracle12 yum.repos.d]# rename .repo .repo.bak *
[root@oracle12 yum.repos.d]# cp CentOS-Base.repo.bak CentOS-Base.repo
[root@oracle12 yum.repos.d]# vim CentOS-Base.repo
[base]
name=CentOS-Local Source
baseurl=file:///mnt/cdrom/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
只保留上面的内容
[root@oracle12 yum.repos.d]# yum clean all
[root@oracle12 yum.repos.d]# yum repolist
包的路径在 /mnt/cdrom/Packages
- 安装oracle12c要用的依赖包
[root@oracle12 Packages]# yum install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi l ibXtst make sysstat
安装完成后,进行验证
[root@oracle12 Packages]# rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXts t make sysstat
有可能 compat-libstdc++-33未安装成功,此时上传compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm,使用yum install 进行安装即可;安装 完成后再次使用rpm -q 进行验证
5、安装JDK
当前环境中未安装时,再进行此步操作,如已经完成安装则不需要再进行操作
- 查看当前安装的JDK
[root@oracle12 ~]# java -version
- 卸载自带的OpenJDK
[root@oracle12 ~]# rpm -qa |grep jdk
[root@oracle12 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
[root@oracle12 ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
[root@oracle12 ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
[root@oracle12 ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
[root@oracle12 ~]# rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch
- 上传下载好的JDK至linux系统上
- 解压缩
[root@oracle12 ~]# tar -zxvf jdk-8u221-linux-x64-20190913.tar.gz
将解压缩后的文件夹移动到 /opt目录下
[root@oracle12 ~]# mv jdk1.8.0_221/ /opt/jdk1.8.0_221/
- 配置环境变量
[root@oracle12 jdk1.8.0_221]# vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_221
export PATH=$PATH:$JAVA_HOME/bin
[root@oracle12 jdk1.8.0_221]# source /etc/profile
6、Oracle的安装和升级
切换到oracle用户下进行安装操作
- 上传安装文件,将安装的压缩文件上传到/home/oracle
- 解压缩安装文件
[oracle@oracle12 ~]$ unzip linuxx64_12201_database.zip
- 进入虚拟机的终端(不是在远程连接的工具上),打开到解压缩的目录下,输入命令
./runInstraller
若安装过程中出现 pdksh-5.2.14 检测为no时,可用 命令./rumInstraller –ignorePrereq 使用这个命令不会执行任何的预先检查,但要确保所需的依赖包都要正确安装
- 会进入到图形界面,图形界面的安装过程此处省略
- 安装过程中可能会提示:检查 swap size 为no 的提示信息,解决方法如下(不需要关闭安装界面):
① 使用root用户,在目录如/tmp下执行
dd if=/dev/zero of=swapfree bs=32k count=65515
② 将创建的文件用作交换区间
mkswap swapfree
③开启交换区间
swapon swapfree
④设置交换分区开机自动启动
vim /etc/fstab
/dec/hdb5 swap swap default 0 0
/tmp/swapfree swap swap default 0 0
- 设置完成后,重新检测即可
7、配置监听
关闭防火墙:systemctl disable firewalld
进入到 /opt/oracle/product/12.2.0/dbhome_1/bin 目录
执行 netca, 若提示找不命令时,执行./netca;
若不能跳出图形界面,或是有line 181: 17330 Aborted (core dumped) $JRE $JRE OPTIONS –classpath $CLASSPATH oracle.net.ca.NETCA $* 时,则需要修改主机名,使用root用户登录,执行hostname test命令;
将跳出添加临听程序的图形界面,按钮windows系统上的进行设置即可
8、Dbca建库
进入到 /opt/oracle/product/12.2.0/dbhome_1/bin 目录
执行 dbca, 若提示找不命令时,执行./dbca
9、其他
启动监听服务:lsnrctl start