銀河麒麟V10SP1搭建oracle19c(單庫)

老油条666發表於2024-07-14

遇到的坑: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

9oracle 使用者配置 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

9oracle 使用者配置 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檢查例項是否被註冊上

相關文章