1. 程式人生 > 實用技巧 >基於linux環境安裝部署oracle-11g資料庫

基於linux環境安裝部署oracle-11g資料庫

安裝步驟:

1、下載oracle 11g 安裝包

2、安裝前的準備

2.1、建立組與使用者

[root@localhost zhuzi]# groupadd oinstall #建立oinstall組
[root@localhost zhuzi]# groupadd dba  #建立dba組
[root@localhost zhuzi]# useradd -g oinstall -g dba -m oracle #建立oracle使用者並將使用者加入到dba組與oinstall組
[root@localhost zhuzi]# passwd oracle #設定oracle使用者密碼

2.2、建立oracle安裝目錄

[root@localhost zhuzi]# mkdir -p /data/oracle #oracle根目錄
[root@localhost zhuzi]# mkdir -p /data/database #用於存放Oracle解壓後的安裝包
[root@localhost zhuzi]# mkdir -p /data/oraInventory #資料庫配置檔案目錄
[root@localhost zhuzi]# chown -R oracle:oinstall  /data #修改目錄所有者為oracle

2.3、關閉防火牆

[root@localhost zhuzi]# systemctl stop firewalld.service   #關閉防火牆
[root@localhost zhuzi]# systemctl disable firewalld.service #設定開機不啟動防火牆

2.4、優化系統核心引數 

1)、編輯/etc/sysctl.conf檔案,在檔案尾新增如下內容:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #設定最大開啟檔案數
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享記憶體的總量,8G記憶體設定:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享記憶體的段大小 kernel.shmmni = 4096 #整個系統共享記憶體端的最大數 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4埠範圍 net.core.rmem_default = 262144 net.core.rmem_max= 4194304 net.core.wmem_default= 262144 net.core.wmem_max= 1048576


2)、使配置修改核心的引數生效:
[root@localhost zhuzi]``# sysctl -p

2.5、對oracle使用者設定限制 

[root@localhost zhuzi]``# vi /etc/security/limits.conf
@student - maxlogins 4
 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

2.6、設定使用者變數

[root@localhost ~]``# vi /home/oracle/.bash_profile
export ORACLE_BASE=/data/oracle #oracle資料庫安裝目錄
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle資料庫路徑
export ORACLE_SID=orcl #oracle啟動資料庫例項名
export ORACLE_UNQNAME=orcl
export ORACLE_TERM=xterm #xterm視窗模式安裝
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #新增系統環境變數
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #新增系統環境變數
export LANG=C #防止安裝過程出現亂碼
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #設定Oracle客戶端字符集,必須與Oracle安裝時設定的字符集保持一致 

使配置的環境變數生效:
[root@localhost ~]# source /home/oracle/.bash_profile

3、開始安裝Oracle

前面設定很多內容,保險起見,重啟一次系統。

將步驟1中下載的兩個oracle安裝檔案,上傳至/usr/local/src目錄中。我使用的xshell工具,root使用者直接在命令視窗cd /usr/local/src ,然後滑鼠拖住那兩個安裝包至命令視窗就可以自動上傳。

用root使用者解壓這兩個檔案到/data/database 目錄下,設定所屬使用者與組,再切換至oracle使用者載入一下環境變數,開始安裝。

[root@localhost src]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解壓第一個壓縮包
[root@localhost src]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解壓第二個壓縮包
[root@localhost src]# chown -R oracle:oinstall /data #指定資料夾及子目錄的所屬使用者與組
[root@localhost src]# su oracle #切換至oracle使用者
[oracle@localhost src]$ cd #進入家目錄
[oracle@localhost ~]$ source .bash_profile #載入環境變數
[oracle@localhost ~]$ cd /data/database/database/ #進入oracle安裝程式存放的目錄
[oracle@localhost database]$ ./runInstaller #執行oracle安裝命令,然後彈出下圖安裝視窗。

下面為貼圖部分,修改後與下面圖保持一致即可。

1)、將勾去掉,這樣就不自動更新軟體了。

2)、提示你沒有提供電子郵件,這裡選擇yes,繼續就行。

3)、這裡選擇第二項,僅安裝資料庫軟體。

4)、這裡選擇第一個選項,單例項資料庫。第二個為安裝叢集的意思。

5)、選擇語言,預設下一步。

6)、第一個為企業版,預設直接下一步。

7)、前面咱們準備階段,已經在環境變數裡配置好了路徑,這裡就是讀取咱們前面配置的路徑,所以直接下一步。不用修改。

8)、指定配置檔案存放路徑,這個也不需要修改,也是讀取了咱們前面配置到環境變數裡的路徑。所以直接下一步。

9)、關於許可權的問題,這裡直接都是預設就行。下一步。

10)、這裡會檢查系統資源與依賴包是否都滿足,第一個提示swap大小不符合,這裡擴充套件一下swap大小,可以參考https://www.cnblogs.com/find-syc/p/12615991.html,其他問題,選中缺失的依賴包,如果下方詳情欄裡Expected value中有括號中標註(i386)或(i686),是在提示缺少32位的依賴包,但是實際上已經安裝了64位的依賴包,忽略它們,pdksh包已經安裝,就是之前安裝的ksh依賴包。

11)、點選finish完成。

 報錯解決:

1)、該軟體包包含一個靜態連結庫,地址是:/usr/lib64/libc.a
修改/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk,將
ctxhx: $(CTXHXOBJ)
    $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改為:
ctxhx: $(CTXHXOBJ)
    -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
點選Retry繼續安裝。

2)、”Error in invoking target 'agent nmhs' of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.' 

解決方法:在makefile中新增連結libnnz11庫的引數
修改/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,將
$(MK_EMAGENT_NMECTL)修改為:$(MK_EMAGENT_NMECTL) -lnnz11
點選Retry繼續安裝。

有時候安裝介面出現的灰色豎線無法拉開,可以重新執行./runInstaller,在重複上述步驟以後,第11步做完直接按照上面兩個問題的解決辦法修改兩個mk檔案,修改好安裝時就不會報錯了。mk檔案是makefile檔案,**要以tab鍵開頭**,所以直接複製上面的修改語句會報錯,要把

-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a的前面的空格修改成tab鍵,不然會報錯。

3)安裝Database Configuration Assistant會需要挺長的時間,當安裝完成後會彈出一個對話方塊,點選"Password management...",將豎線拉成對話方塊,給SYS、System、Scoot、SH設定密碼,它們的預設密碼分別是SYS:change_on_install、System:manager、Scoot:tiger、SH:sh,分別輸入進對應的密碼輸入框中,在Scoot、SH設定密碼之前,點選對號就可以為它們設定密碼了。

4)最後等進度在100%的時候,會出現一個豎線,把它拉開,按照裡面的提示以root許可權進入提示的地址,執行上面提示的兩個sh檔案,第二個sh檔案要你選地址直接回車就好了。

12)、用root使用者,依次執行下面兩條命令。

[root@localhost zhuzi]# /data/oraInventory/orainstRoot.sh 
[root@localhost zhuzi]# /data/oracle/product/11.2.0/db_1/root.sh #這條命令執行後需要再按一次回車鍵才會結束。 

4、配置監聽

[oracle@localhost database]$ netca #建立監聽

在不修改埠的情況下,第一個監聽程式,一路回車,就配置好了。