银河麒麟V10SP1搭建oracle19c(单库)
遇到的坑: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/config SELINUX=disabled
3、/etc/hosts 配置主机名
[root@RHEL7U6 /]# vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.186.30 alice
4、修改内核参数
#vi /etc/sysctl.d/99-oracle-database-sysctl.conf 添加如下内容 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 #该参数是控制共享内存页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。如果一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB = 16777216KB/4KB = 4194304 kernel.shmmax = 1073741824 #内存的 50%,以字节为单位 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 要更改内核参数的当前值: # /sbin/sysctl --system 确认值设置正确: # /sbin/sysctl -a
5、修改用户系统限制
vi /etc/security/limits.d/oracle-database.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32786 oracle hard memlock unlimited oracle 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检查实例是否被注册上