遇到的坑:1.PRVG-0282问题
解决:在先决条件检查步骤,PRVG-0282:无法检索操作系统分发ID的报错,该问题是由于字符集和环境变量问题,只需在执行安装前:
使用oracle用户登录,不要root跳到oracle用户下 export CV_ASSUME_DISTID=RHEL7.6 export LANG=en_US
然后刷新环境变量
在执行./runInstaller即可。
2.DBT-05509 failed to connect to the specified database(xxx).
解决:我是因为环境变量配错了
检查环境变量:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
和图形化 安装选的编码是否一致
3.Error in invoking target ‘libasmclntsh19.ohso libasmperl19.ohso client_sharedlib’ of makefile
原因:glibc在2.28版本以后不再提供libpthread_nonshared.a文件,而Oracle安装则需要用到此文件,因此报错。解决办法:从CentOS上或其他服务器上拷贝libpthread_nonshared.a到/usr/lib64目录中,然后重新解压一遍安装包并授权,再清除oraInventory目录下的所有文件,最后重新调用图型界面安装。
下载内容:
oracle https://www.alipan.com/s/VFeR1Ns2xCb 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
一 服务器配置 1
1、关闭 iptables 防火墙 1
2、关闭 SELinux 防火墙 1
3、/etc/hosts 配置主机名 1
4、修改内核参数 2
5、修改用户系统限制 2
6、修改系统设置 UDP 和 TCP 内核参数 2
7、禁用透明大页、开启大页配置 3
(1) 查看当前 THP 功能状态 3
(2) 修改文件,关闭 THP 功能 3
(3) 修改后重启,确认 THP 功能关闭 3
(4) 开启 HugePages 大页功能 3
8、建立组和用户 3
9、oracle 用户配置 bash_profile 4
10、创建目录 4
11、安装依赖包 5
二 安装数据库 5
1、 安装oracle软件 5
2、 安装监听:netca 10
3、 安装数据库:dbca 14
ORACLE介质下载地址https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html
一 服务器配置
1、关闭 iptables 防火墙
[root@RHEL7U6 ~]# systemctl stop firewalld.service[root@RHEL7U6 ~]# systemctl disable firewalld.service
2、关闭 SELinux 防火墙
[root@RHEL7U6 ~]# vi /etc/selinux/configSELINUX=disabled
3、/etc/hosts 配置主机名
[root@RHEL7U6 /]# vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.186.30 alice
4、修改内核参数
#vi /etc/sysctl.d/99-oracle-database-sysctl.conf 添加如下内容fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152 #该参数是控制共享内存页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。如果一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB = 16777216KB/4KB = 4194304kernel.shmmax = 1073741824 #内存的 50%,以字节为单位kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576要更改内核参数的当前值:# /sbin/sysctl --system确认值设置正确:# /sbin/sysctl -a
5、修改用户系统限制
vi /etc/security/limits.d/oracle-database.conforacle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240oracle hard stack 32786oracle hard memlock unlimitedoracle soft memlock unlimited
6、修改系统设置 UDP 和 TCP 内核参数
设置 TCP / IP 临时端口范围参数,以便为预期的服务器工作负载提供足够的临时端口, Oracle 推荐的是 9000 到 65500。
查看当前的端口范围
[root@RHEL7U6 /]# cat /proc/sys/net/ipv4/ip_local_port_range
9000 65500
如果不是 9000 到 65500 ,Oracle 建议您永久保留这些设置。root 使用文本编辑器打开/etc/sysctl.conf,添加或更改以下内容:
net.ipv4.ip_local_port_range = 9000 65500
然后重新启动网络:
# /etc/rc.d/init.d/network restart
7、禁用透明大页、开启大页配置
Oracle 建议您在开始安装之前禁用 Transparent HugePages。
透明 HugePages 内存与标准 HugePages 内存不同,因为内核 khugepaged 线程在运行时动态分配内存。标准 HugePages 内存在启动时预先分配,并且在运行时不会更改。
Disabling Transparent HugePages, 在/etc/default/grub.conf GRUB_CMDLINE_LINU 的最后,加上 transparent_hugepage=never
(1) 查看当前 THP 功能状态
[root@RHEL7U4 /]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@RHEL7U4 /]#
(2) 修改文件,关闭 THP 功能
[root@RHEL7U4 /]# vi /etc/default/grub
GRUB_CMDLINE_LINUX="rhgb quiet transparent_hugepage=never"
[root@ RHEL7U4 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@ RHEL7U4 ~]# reboot
(3) 修改后重启,确认 THP 功能关闭
[root@ RHEL7U4 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
(4) 开启 HugePages 大页功能
计算需要的页数:
linux 一个大页的大小为 2M,开启大页的总内存应该比 sga_max_size 稍稍大一点,比如sga_max_size=180g,则: hugepages > (180*1024)/2 = 92160
配置 sysctl.conf 文件,添加:
[oracle@RHEL7U6 ~]$ vi /etc/sysctl.d/99-oracle-database-sysctl.conf
vm.nr_hugepages = 512
要更改内核参数的当前值:
# /sbin/sysctl --system
确认值设置正确:
# /sbin/sysctl -a
8、建立组和用户
[root@RHEL7U6 /]# groupadd -g 54321 oinstall
[root@RHEL7U6 /]# groupadd -g 54322 dba
[root@RHEL7U6 /]# groupadd -g 54323 oper
[root@RHEL7U6 /]# groupadd -g 54324 backupdba
[root@RHEL7U6 /]# groupadd -g 54325 dgdba
[root@RHEL7U6 /]# groupadd -g 54326 kmdba
[root@RHEL7U6 /]# groupadd -g 54327 asmdba
[root@RHEL7U6 /]# groupadd -g 54328 asmoper
[root@RHEL7U6 /]# groupadd -g 54329 asmadmin
[root@RHEL7U6 /]# groupadd -g 54330 racdba
[root@RHEL7U6/]# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba,racdba oracle
[root@RHEL7U6/]# /usr/sbin/useradd -u 54331 -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba grid
确认用户组信息
$ id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba), 54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54327(asmdba),54330(racdba)
$ id grid
uid=54331(grid) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54327(asmdba),54328(asmoper),54329(asmadmin),54330(racdba)
[root@RHEL7U6/]# passwd oracle
[root@RHEL7U6/]# passwd grid
9、oracle 用户配置 bash_profile
[oracle@RHEL7U6~]$ vi /home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=alice
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0.0.0/dbhome_1
export ORACLE_SID=node(实例名称)
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
[oracle@RHEL7U6~]$ source .bash_profile
10、创建目录
# mkdir -pv /u01/app/oracle/{oraInventory,product/19.3.0.0.0/dbhome_1}
# chmod -R 755 /u01
# chown -R oracle:oinstall /u01
上传LINUX.X64_193000_db_home.zip安装包到/u01/app/oracle/product/19.3.0.0.0/dbhome_1
#chown oracle:oinstall LINUX.X64_193000_db_home.zip
#unzip LINUX.X64_193000_db_home.zip
11、安装依赖包
#yum install -y bc binutils compat-libcap1 compat-libstdc++ elfutils-libelf elfutils-libelf devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb make net-tools nfs-utils python python-configshell python-rtslib python-six targetcli smartmontools sysstat gcc*
#yum install compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
二 安装数据库(在vm上执行)
1、安装oracle软件
#xhost +
#su - oracle
$export DISPLAY=:0.0
$cd /u01/app/oracle/product/19.3.0.0.0/dbhome_1
$./runInstaller
2、安装监听:netca
$netca
执行lsnrctl status查看监听当前状态
3、安装数据库:dbca
$dbca
进度条走完,实例安装成功,执行lsnrctl status检查实例是否被注册上