Oracle數據庫部署
Oracle數據庫在電信、銀行、證券、交通等大型應用場合擁有絕對領先的優勢。
安裝Oracle 12c(CentOS-7)
注意事項:
防火牆設置為禁用;
SELinux設置為禁用;
默認安裝設置為軟件開發;
內核選擇3.10.0.54.0.1.el7.x86_64及以上版本。
前置條件准備
1.系統配置要求:
Oracle 12c明確支持的Linux操作系統包括Oracle Linux 7. Oracle Linux 6. Oracle Linux 5. RedHat Enterprise Linux 7、Red Hat Enterprise Linux 6. Red Hat Enterprise Linux 5. SUSE Linux Distributions.NeoKylin Linux Advanced Server Distributions。 因為Red Hat Enterprise 和CentOS屬於同步發行的操作系統,所以Oracle 12c也同樣支持CentOS7. CentOS6. CentOS5 操作系統。在其他Linux系統中安裝時,個別軟件或配置文件可能需要做適當調整。通過以下命令可以查看系統版本。
[oracle@oracle-pc ~]$ cat /etc/centos-release CentOS Linux release 7.7.1908 (Core)
操作系統要求:
物理內存:必須高於1GB,對於vmware虛擬機不少於2GB
交換空間:物理內存為1~2GB時,交換空間為物理內存的1.5~2倍;物理內存為2~16GB時,交換空間與物理內存大小相同;物理內存超過16GB時,交換分區使用16GB就可以了。
查看物理內存和交換空間的命令
[root@oracle-pc ~]# grep MemTotal /proc/meminfo MemTotal: 7990132 kB [root@oracle-pc ~]# grep SwapTotal /proc/meminfo SwapTotal: 8257532 kB [root@oracle-pc ~]#
磁盤空間要求:
對於Oracle 12c 數據庫,若程序文件和數據文件安裝在同一分區,則該分區硬盤空間的最小要求為企業版6.4GB、標准版6.1GB;除此以外,還應確保/tmp目錄的可用空間不少於1GB.總地來說,建議為Oracle 12c 准備至少15GB的硬盤空間。通過以下命令查看磁盤空間的使用情況。
[root@oracle-pc ~]# df -hT 文件系統 類型 容量 已用 可用 已用% 掛載點 devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs tmpfs 3.9G 13M 3.8G 1% /run tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 50G 19G 32G 37% / /dev/sda1 xfs 1014M 184M 831M 19% /boot /dev/mapper/centos-home xfs 441G 41M 441G 1% /home tmpfs tmpfs 781M 12K 781M 1% /run/user/42 tmpfs tmpfs 781M 0 781M 0% /run/user/54321 tmpfs tmpfs 781M 0 781M 0% /run/user/0
在/etc/hosts文件中添加,主機名和IP的映射關系
一旦Oracle安裝完成建議就不要再修改主機名,否則會啟動失敗
[root@oracle-pc ~]# hostname oracle-pc [root@oracle-pc ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.19.10 oracle-pc
2.軟件環境要求
Oracle 12c的安裝過程通常在圖形化界面進行,因此使用已經帶有GNOME桌面環境的CentOS服務器。使用YUM安裝Oracle所需要的依賴包。(本地yum源即可)
[root@Oracle ~]# yum -y install binutils compat-libcapl compat- libstdc++-33 \ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libgcc libstdc++ \ libstdc++-devel 1ibXi libXtst make sysstat unixODBC uni xODBC-devel
3.內核要求
為了確保數據庫運行穩定,Oracle 12c針對Linux內核參數、進程會話提出了一些要求,其中一部分設置在安裝過程中檢測並修復,但並不一定很完整,所以最好的做法是根據安裝文檔進行配置。
內核參數調整體現在/etc/sysctl. conf 文件中,主要包括與內存調度、端口范圍.打開文件數、1/O請求等相關的一些設置,相關數值不可低於安裝要求。修改完畢后通過執行如下的"sysctl -p'命令使新配置立即生效。
[root@oracle-pc ~]# vim /etc/sysctl.conf ······ fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 //表示所有內存大小(單位:頁) kernel.shmmax = 4294967295 //表示最大共享內存,如果小的話可以按實際情況而定,一般為物理內存的一半(單位:字節) kernel.shmmni = 4096 //表示最小共享內存固定4096KB(由於32位操作系統默認一頁為4K) kernel.sem = 250 32000 100 128 //4個參數依次是SEMMSL:每個用戶擁有信號量最大數,SEMMNS:系統信號量最大數,SEMOPM:每次semopm系統調用操作數,SEMMNI:系統辛苦量集數最大數。這4個參數為固定內容大小 net.ipv4.ip_local_port_range = 9000 65500 //ip_local_port_range表示端口的范圍,為指定的內容 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
4.Oracle用戶環境要求
Oracle 12c需要固定的運行用戶oracle、安裝組oinstall、管理組dba,這些賬號應該提前建好。用來存放oracle程序及數據庫文件的基本目錄也要提前創建好(/u01/app/oracle)
[root@localhost ~]# mkdir -p /u01/app/oracle [root@localhost ~]# groupadd -g 54321 oinstall [root@localhost ~]# groupadd -g 54322 dba [root@localhost ~]# useradd -u 54321 -g oinstall -G dba oracle [root@localhost ~]# passwd oracle 更改用戶 oracle 的密碼 。 新的 密碼: 無效的密碼: 密碼未通過字典檢查 - 過於簡單化/系統化 重新輸入新的 密碼: passwd:所有的身份驗證令牌已經成功更新。 [root@localhost ~]# chown -R oracle:oinstall /u01/app/ [root@localhost ~]# chmod -R 755 /u01/app/oracle/
Oracle 12c的安裝任務以運行用戶oracle的身份執行,需適當調整oracle用戶的環境配置以滿足要求。
[root@localhost ~]# vim /home/oracle/.bash_profile ······ umask 022 ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/ ORACLE_SID=orcl NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8 PATH=$PATH:$ORACLE_HOME/bin LANG=zh_CN.UTF-8 export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
5.oracle用戶資源限制要求
進程會話限制可以采用pam. Jimits認證模塊來實現.通過修改登錄程序login的PAM設置以啟用該認證,然后修改/etc/secrit/limits .conf 文件,使用戶oracle能夠打開的進程數.進程使用的文件數加大。具體操作如下:
[root@localhost ~]# vim /etc/pam.d/login ······ session required /lib/security/pam_limits.so session required pam_limits.so [root@localhost ~]# vim /etc/security/limits.conf ····· oracle soft nproc 2047 //進程數軟限制 oracle hard nproc 16384 //進程數硬限制 oracle soft nofile 1024 //文件數軟限制 oracle hard nofile 65536 //文件數硬限制 oracle soft stack 10240 //Oracle軟堆棧限制 [root@localhost ~]# vim /etc/profile ······ if [ $USER = "oracle" ];then if [ $SHELL = "/bin/ksh" ];then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
不配置oracle用戶資源限制部分,也不會影響Oracle數據庫的成功安裝。但是,若有糟糕的SQL語句對服務器的資源無限占用,導致長時間對用戶請求無響應,則建議提前限制oralce用戶資源。
准備工作完成后重啟系統。
Oracle 12c 安裝過程
Oracle的中文官方網址為https://www. oracle .com/cn,它支持Oracle 12c安裝文件的免費下載(需注冊賬號)。正確選擇所使用的系統平台(如Linux x86-64),然后下載linuxx64_ _12201_ _database. zip這個ZIP壓縮包到/tmp/,解壓后可獲得database文件夾, Oracle 的安裝腳本。產品手冊等文檔都位於此文件夾中,具體操作如下:
我已使用UltraISO_v9.7_Portable.exe把zip做成了ISO,在虛擬機中掛載光盤,就可以使用了。
掛載光盤,解壓到/tmp目錄
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ mount: /dev/sr0 寫保護,將以只讀方式掛載 [root@localhost ~]# ll /mnt/cdrom/ 總用量 3372751 -r-------- 1 root root 3453696911 4月 12 22:51 linuxx64_12201_database.zip [root@localhost ~]# cd /tmp/ [root@localhost tmp]# unzip /mnt/cdrom/linuxx64_12201_database.zip
解壓完畢后,會生成一個database目錄,Oracle 12c 的安裝主要通過runstaller 腳本進行,訪問網頁welcome .html 可以查閱產品手冊,其中包括產品說明、發行注記、安裝指南等文檔,為管理員提供了極為豐富的幫助信息。所有前置條件都准備好以后,就可以正式開始安裝了。如果當前的圖形桌面環境是以其他用戶的身份(如root)登錄的,則還應添加授權以允許用戶oracle 使用圖形終端。例如,xhost +oracle@localhost"表示允許 用戶oracle從本機訪問、執行,“ xhost+” 表示取消所有 限制。以用戶oracle的身份登錄到CentOS的圖形桌面環境,啟動database/目錄下的runInstaller腳本文件,具體操作如下:
[root@localhost database]# xhost +
access control disabled, clients can connect from any host
最好是注銷一下切換到oracle用戶,在執行下面的。
[oracle@localhost ~]$ cd /tmp/database/ [oracle@localhost database]$ ll 總用量 20 drwxr-xr-x 4 root root 234 1月 26 2017 install drwxrwxr-x 2 root root 61 1月 26 2017 response drwxr-xr-x 2 root root 35 1月 26 2017 rpm -rwxr-xr-x 1 root root 8771 1月 26 2017 runInstaller drwxrwxr-x 2 root root 29 1月 26 2017 sshsetup drwxr-xr-x 14 root root 4096 1月 26 2017 stage -rwxr-xr-x 1 root root 500 2月 7 2013 welcome.html [oracle@localhost database]$ export DISPLAY=:0.0 [oracle@localhost database]$ ./runInstaller 正在啟動 Oracle Universal Installer... 檢查臨時空間: 必須大於 500 MB。 實際為 43177 MB 通過 檢查交換空間: 必須大於 150 MB。 實際為 8063 MB 通過 檢查監視器: 監視器配置至少必須顯示 256 種顏色。 實際為 16777216 通過 准備從以下地址啟動 Oracle Universal Installer /tmp/OraInstall2020-04-16_08-11-53PM. 請稍候...[oracle@localhost database]$
Oracle 12c的主要安裝步驟
1.典型安裝過程
Oracle 12c的安裝過程分為典型安裝和高級安裝.采用高級安裝方式可以指定數據庫字符集.給多個管理員賬號設置不同的密碼以及指定SGA (System Global Area, 系統全局區)大小等。對於初學者,推薦采用典型安裝方式;在對Oracle有一定的了解之后, 再使用高級安裝方式。
(1)配置安全更新
實驗過程中建議將電子郵件地址留空.並取消勾選“ 我希 望通過My Oracle Support 接收安全更新”復選框。但如果已購買Oracle 12o 數據庫的授權,且服務器能夠連接Internet,建議正確填寫電子郵件地址和Oracle Support口令,以便及時接收官方的安全更新通知。完成后單擊“下一步”按鈕。
隨后會彈出警告框,提示將無法接收安全更新,如圖1.2所示,單擊”是”按鈕。
(2)安裝選項
“選擇安裝選項”界面如圖所示。全新安裝建議點選‘創建和配置 數據庫”或者‘ 僅安裝數據庫軟件”單選按鈕,后者將不會創建並配置數據庫實例。只有在對舊版本的Oracle 數據庫進行升級時,才點選” 升級現有的數據庫”單選按鈕。完成后單擊“下一步”按鈕。
(3)系統類
”選擇系統類”界面如圖所示。點選“服務器類” 單選按鈕進行安裝,該方式適用於企業環境的數據庫系統。”桌面類”方式-般只建議個人用戶使用,其包含的配置和功能比較少。完成后單擊“下一步”按鈕。
(4)數據庫安裝選項
“選擇數據庫安裝選項” 界面如圖所示。點選“ 單實例數據庫安裝”單選按鈕, 因為大多數應用場合中Oracle數據庫的用途比較單一,每台Oracle服務器只需要一個實例就可以了。 完成后單擊“下一步”按鈕。
(5)安裝類型
“選擇安裝類型”界面如圖所示。 點選‘典型安裝” 單選按鈕,采用Oracle 12c的基本配置進行完全安裝。若要為各種管理賬號分別設置口令,或者選擇語言版本,設置自動備份、存儲管理等,則應該點選“高級安裝” 單選按鈕。 完成后單擊“下一步” 按鈕。
(6)典型安裝配置
在“ 典型安裝配置”界面中,可以指定Oracle 12c 的基本目錄.軟件安裝目錄、數據庫存放目錄,也可以選擇要安裝的數據庫版本(企業版.標准版).指定全局數據庫名稱.設置管理口令(8位數,大寫字母,小寫字母,數字),勾選“創建為容器數據庫”復選框,如圖所示。完成后單擊“下一步”按鈕。(環境配置前面已經完成,只需要設置口令即可)
在典型安裝過程中,必須設置管理口令(如設為Oracle12c) .其他參數可采用默認值。Oracle 12c數據庫自動創建超級管理員用戶sys和system,當選擇“高級安裝” 時可以分別設置口令, 否則將使用同一個管理口令。輸入完成后單擊“下一步”按鈕。
###Oracle 12c 提出了可插拔式數據庫的概念,以配合雲計算。多租戶之間可以共享一套系統開銷而又彼此獨立。多租戶是一種雲概念,用於實現多用戶環境下共用相同的系統或程序組件,用戶之間彼此獨立。詳細信息請自行查閱資料。如需將數據庫配置為可插拔數據庫,那么要勾選“創建為 容器數據庫”復選框,並輸入插拔數據庫的名稱。
###圖1.7中,“軟件位置”和“數據庫文件位置”字段路徑均調用自環境變量,如果不顯示默認路徑,可能是環境變量沒有定義或定義了沒有生效。要讓環境變量生效,可以嘗試重新以oracle用戶登錄,或以oracle用戶運行“. ~/.bash. profile” 命令。
(7)創建產品清單
保持默認設置,單擊“下一步”
(8)先決條件檢查及匯總
針對各種前置條件進行檢查,若發現有未滿足的條件則會給出提示,此時應根據檢查結果進行修復或安裝必需的軟件包,如圖所示。
###在此步驟中,還可以單擊“保存響應文件” 按鈕將本次安裝設置保存 下來,生成數據庫的應答響應文件,該文件可用來免除再次安裝過程中的手動交互環節,便於Oracle 的重復部署或在文本界面中安裝.
(9)安裝產品
安裝過程中,會彈出‘執行配置腳本” 對話框,如圖1.12所示,根據提示切換為root用戶並依次執行/u01/app/oralnventory/orainstRoot . sh、 /u01/app/oracle/product/12.2. 0/dbhome_ .1/root.sh(因人而異,根據提示執行即可) 腳本文件
執行配置腳本
打開命令行(執行root.sh腳本時,需要按照默認值按兩次Enter鍵)
[oracle@localhost ~]$ su 密碼: [root@localhost oracle]# /u01/app/oraInventory/orainstRoot.sh 更改權限/u01/app/oraInventory. 添加組的讀取和寫入權限。 刪除全局的讀取, 寫入和執行權限。 更改組名/u01/app/oraInventory 到 oinstall. 腳本的執行已完成。 [root@localhost oracle]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh
(10)安裝成功
安裝結束后將彈出圖所示的對話框.並提示通過訪問htps://localhost : 500/m/.實現訪問EM (Enterprise Manager,企業管理器) Database Express 平台,以便對Oracle 12c 的數據庫進行簡單管理。單擊“關閉”按鈕關閉對話框,完成安裝。
驗證安裝結果
瀏覽器登錄:在瀏覽器中輸入網址‘https://localhost: 5500/em/”訪問 EM Database Express 平台,如圖所示。其中oracle為安裝Oracle 數據庫的主機名,該名稱需要通過hosts解析,詳見前面步驟。(需要安裝flash player)(也可以在真實機上測試)
EM Database Express界面
命令行登錄:使用SQL *Plus命令可以在命令行界面中訪問Oracle 12c 數據庫。例如,以下操作命令實現用戶sys以sysdba的身份連接到本機的Oracle 12c數據庫.根據提示需驗證管理口令(也可改用” 用戶名/密碼”的形式直接寫在命令行中)。
[oracle@localhost database]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on 星期四 4月 16 23:02:40 2020 Copyright (c) 1982, 2016, Oracle. All rights reserved. 連接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL>