遇到的坑: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檢查例項是否被註冊上