完全Oracle安裝建庫手冊
背景介紹
安裝配置這東西吧,真沒啥可寫的,但是你說不寫詳細點吧,真的好多學員搞不懂,所以呢,熊熊思前想後,打算把自己從頭到尾怎麽安裝的,完全寫一下,希望能讓大家有個全面的基礎認知
準備工作
安裝Xmanager
這個軟件功能很強大,熊熊安裝他主要是用於把遠程服務器的屏幕共享到本地桌面上
軟件在官網或者很多地方都有下載,這裏就不詳細給出鏈接地址了(也許後期熊熊會把所有需要的軟件都放在百度雲盤上,誰知道呢)
雙擊Xmanager安裝程序,在歡迎頁面點擊下一步繼續
必須接受許可協議,下一步繼續
主要是輸入產品密鑰(網上有很多,能找到,也有專門的註冊機),點擊下一步繼續
安裝路徑可以根據自己實際情況,下一步繼續
典型安裝就夠了,下一步繼續
開始菜單裏的程序文件夾,這個默認即可,下一步繼續
選擇中文語言,點擊安裝
安裝完成
下載安裝包
說在前面:其實,對於絕對的新手來講,強烈建議下載一個OEL7.6安裝最踏實,因為裏面對Oracle內核有優化,該有的包和參數也都提前給設置好了,省心
https://edelivery.oracle.com/osdc/faces/SoftwareDelivery#! 下載鏈接在這裏,需要註冊一個Oracle官網用戶並登陸,通常選擇第七個包,就是最後一個即可,如果不用OEL,就自己下載Centos 7.6也可以
Oracle安裝包下載
先把database的包下了就行了,想練習的,就把下面的example包也下了
同樣需要註冊一個Oracle官網用戶並登錄
參數配置
創建組和賬戶(root賬號)
groupadd -g 501 oinstall
groupadd -g 502 dba
useradd -g oinstall -G dba oracle
創建一些目錄和權限(root賬號)
mkdir -p /orasetup /home/app/oracle chmod -R 775 /orasetup /home/app chown -R oracle:oinstall /orasetup /home/app
上面具體的路徑,需要根據自己的實際情況來定,比如通常默認為/u01/app/oracle
切換到Oracle賬號,編輯一些必要的環境變量
[oracle@svn ~]$ pwd
/home/oracle
[oracle@svn ~]$ vi .bash_profile
具體內容如下
alias rm=‘rm -i‘
alias cp=‘cp -i‘
alias mv=‘mv -i‘
alias vi=‘vim‘
alias sqlplus=‘rlwrap sqlplus‘
alias rman=‘rlwrap rman‘
export ORACLE_BASE=/home/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export ORACLE_SID=bear
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib/usr/lib
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$ORACLE_HOME/jdk/bin
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export NLS_LANG="Simplified Chinese_China".AL32UTF8
ORACLE_BASE是Oracle基目錄(這裏可以包括所有Oracle產品都可以裝在這個目錄下)
ORACLE_HOME是Oracle數據庫軟件目錄
ORACLE_SID是數據庫唯一標示(在單實例尤其重要)
下面的LD_LIBRARY_PATH和PATH分別是bin操作路徑和字典庫路徑
NLS_DATA_FORMAT是日期顯示格式(這裏是年月日 時分秒)
NLS_LANG是數據庫顯示字符集及國家字符集顯示
(中文是Simplified_Chinese_China.AL32UTF8)
這裏需要安裝一個rlwrap的軟件,我們來看一下它的作用以及如何安裝
如果沒有rlwrap,默認sqlplus是不支持上下左右的鍵盤滾動以及歷史記錄快速查詢的(list命令可以查詢歷史記錄,但是很不方便)
因此我們來安裝這個軟件(網上有很多下載地址,這裏就不給鏈接了)
[root@svn tmp]# pwd
/tmp
[root@svn tmp]# ll -h
總用量 248K
-rw-r--r-- 1 root root 246K 2月 14 2011 rlwrap-0.37.tar.gz
[root@svn tmp]# tar -zxvf rlwrap-0.37.tar.gz
[root@svn tmp]# cd rlwrap-0.37/
[root@svn rlwrap-0.37]# pwd
/tmp/rlwrap-0.37
[root@svn rlwrap-0.37]# ./configure
如果出現readline的報錯,那麽就執行命令yum -y install *readline*
來安裝缺失的包
否則正確的話,應該出現下圖所示[root@svn rlwrap-0.37]# make && make install
執行安裝即可
編輯好.bash_profile的環境變量文件後,wq退出,執行source .bash_profile來使其生效
[root@svn ~]# vi /etc/profile設置系統級環境變量
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
增加上面的部分,主要是為了解除限制
添加完以後,也要wq保存退出,執行source /etc/profile使其生效
[root@svn ~]# vi /etc/security/limits.conf 編輯一些參數設置
oracle soft stack 10240
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
添加如上設置,主要是允許打開的軟硬限制,noproc表示的是每個用戶最大的進程數,nofile表示的時最多能同時打開的文件數。
整個這些,真有心的,可以看一下這個鏈接(https://www.cnblogs.com/galengao/p/5764693.html)
開始安裝
在xmanager那個文件夾裏,選擇passive這個,雙擊後,右下角會出現一個x的圖標
[oracle@svn ~]$ export DISPLAY=192.168.9.179:0.0
[oracle@svn ~]$ xhost +
access control disabled, clients can connect from any host
按上面顯示設置你的本地IP顯示(註意,根據你的本地IP實際情況來設置DISPLAY)
[oracle@svn orasetup]$ pwd
/orasetup
[oracle@svn orasetup]$ ll -h
總用量 0
drwxr-xr-x 7 oracle oinstall 117 1月 27 2017 database
drwxr-xr-x 5 oracle oinstall 90 1月 27 2017 examples
[oracle@svn orasetup]$
把Oracle安裝包傳到/orasetup目錄下並解壓後,出現database文件夾,切入進去
[oracle@svn database]$ pwd
/orasetup/database
[oracle@svn database]$ ./runInstaller
執行安裝
第一步出現配置安全更新,因為沒有Metalink賬號,所以把Oracle支持的勾打沒了,點擊下一步繼續
先僅安裝數據庫軟件,點擊下一步繼續
目前只考慮單實例安裝,點擊下一步繼續
選擇企業版進行安裝,點擊下一步繼續
這裏可以看到,上面是Oracle的基目錄,下面是Oracle的產品目錄,這兩個目錄都在Oracle賬號下的.bash_profile文件中配置好,這裏是直接讀取的該文件,點擊下一步繼續
各種操作所需的權限組,自己學習都給他dba組就得了,省心,點擊下一步繼續
如果有先決條件需要處理,有個腳本執行,缺包的話,使用yum命令進行安裝,為什麽讓用OEL呢,因為只需要yum -y install oracle就搞定了,特別方便,這裏我沒有任何問題,點擊安裝開始安裝
用root賬號執行上圖所示腳本[root@svn ~]# /home/app/oracle/product/12.2.0/db_1/root.sh
腳本執行完成後,在執行配置腳本窗口點擊確定按鈕
軟件安裝完畢,點擊關閉即可
靜默安裝
有些時候,我們經常無法用桌面方式安裝(本地or遠程都算上),所以遠程靜默安裝就尤其重要了,下面我們來看一下如何操作
在database的response目錄下,有個db_install.rsp的文件,先把他備份一下
上面的文件裏,都是一些實際參數,根據自己實際情況改一下就好了,這裏就不一一解釋了,很簡單的,如果還有不懂的同學再問我就好了
用上圖的命令來調用靜默安裝,這裏就不演示具體安裝了,安裝後也需要用root賬號執行兩個腳本,就都ok了
安裝監聽
NETCA
Oracle用戶下在命令行鍵入netca
選擇監聽程序配置,點擊下一步繼續
添加監聽程序,下一步繼續
默認監聽名稱listener,下一步繼續
默認TCP協議,下一步繼續
默認端口1521,下一步繼續
無需配置另一個監聽,下一步繼續
監聽程序配置完成,下一步繼續
點擊完成按鈕完成配置
創建數據庫
在oracle賬號下鍵入dbca
選擇創建數據庫,下一步繼續
選擇高級配置,下一步繼續
選擇單實例數據庫,默認一般用途(OLTP),下一步繼續
從12C版本支持CDB與PDB數據庫(即容器數據庫與可插拔數據庫)
CDB全稱為Container Database,中文翻譯為數據庫容器
PDB全稱為Pluggable Database,即可插拔數據庫
從12C開始,Oracle實例與數據庫可以形成一對多的關系
選擇存儲屬性,選擇OMF表空間管理,點擊下一步繼續
設定快速閃回區的存儲方式、路徑和大小,下一步繼續(練習階段,暫不開啟歸檔)
可以看到,已經加載我們設定好的監聽程序,下一步繼續
安全選項在練習環境就不設置了,下一步繼續
進程我設置為500、字符集選擇AL31UTF8,連接模式為專用服務器模式,練習環境示例方案可以打上勾,內存情況請根據實際情況自行設置,點擊下一步繼續
如果我們的共享內存設置超過總內存的一半,那麽需要在Linux系統中設置shm,虛擬內存頁大小
[root@svn ~]# vi /etc/fstab 編輯這個文件
tmpfs /dev/shm tmpfs defaults,size=12288M 0 0
加上上面這行,wq保存退出後,umount /dev/shm再mount /dev/shm即可
為了後期加入到OEM CC中,這裏就不設置單機版的OEM了,下一步繼續
這裏熊熊偷懶使用統一管理口令了,下一步繼續
有興趣的可以查看所有的初始化參數,也可以生成數據庫創建腳本來學習(這個腳本主要采用的是RMAN的CLONE技術),點擊下一步繼續
這裏會列出一個詳細的配置清單,查證無誤後,點擊完成開始建庫
至此,數據庫創建完畢,點擊關閉即可
靜默建庫
編輯dbca.rsp文件可以進行dbca靜默建庫,該文件具體如何編輯,官網有詳細的記錄,這裏不做具體解釋了[oracle@svn response]$ dbca -silent -createDatabase -responseFile ./dbca.rsp
用上述命令可以進行dbca的靜默建庫,在此之前,編輯該腳本,把sid、dbname等該設置的都設置好即可
手工建庫
寫在前面:手工建庫坑很多,而且說實話,意義並不大,所以強烈不推薦新手來試驗
12C創建CDB的區別在於,要創建CDB,CREATE DATABASE語句必須包含ENABLE PLUGGABLE DATABASE子句。當包含此子句時,該語句使用根和種子創建CDB。如果未指定ENABLE PLUGGABLE DATABASE子句 那新創建的數據庫是非CDB。該語句不會創建根和種子,非CDB永遠不會包含PDB。
主要是在原來的建庫腳本中(不清楚的去看我的專欄,blog上也有),加上下面這段
12C R2版本建庫後,相關執行腳本都集成到了catcdb.pl這個perl腳本中,簡單編輯修改一下即可使用,具體請根據實際情況修改,這裏就不演示了
總之,手工建庫不適合新手,不適合新手,不適合新手,重要事情說三遍!
完全Oracle安裝建庫手冊