1. 程式人生 > >完全Oracle安裝建庫手冊

完全Oracle安裝建庫手冊

處理 同學 示例 文件夾 演示 orm 參數配置 靜默安裝 add

Oracle12C R2 for Centos 7

背景介紹
安裝配置這東西吧,真沒啥可寫的,但是你說不寫詳細點吧,真的好多學員搞不懂,所以呢,熊熊思前想後,打算把自己從頭到尾怎麽安裝的,完全寫一下,希望能讓大家有個全面的基礎認知

準備工作
安裝Xmanager
這個軟件功能很強大,熊熊安裝他主要是用於把遠程服務器的屏幕共享到本地桌面上
軟件在官網或者很多地方都有下載,這裏就不詳細給出鏈接地址了(也許後期熊熊會把所有需要的軟件都放在百度雲盤上,誰知道呢)
技術分享圖片
雙擊Xmanager安裝程序,在歡迎頁面點擊下一步繼續
技術分享圖片
必須接受許可協議,下一步繼續
技術分享圖片
主要是輸入產品密鑰(網上有很多,能找到,也有專門的註冊機),點擊下一步繼續

技術分享圖片
安裝路徑可以根據自己實際情況,下一步繼續
技術分享圖片
典型安裝就夠了,下一步繼續
技術分享圖片
開始菜單裏的程序文件夾,這個默認即可,下一步繼續
技術分享圖片
選擇中文語言,點擊安裝
技術分享圖片
安裝完成

下載安裝包
說在前面:其實,對於絕對的新手來講,強烈建議下載一個OEL7.6安裝最踏實,因為裏面對Oracle內核有優化,該有的包和參數也都提前給設置好了,省心
技術分享圖片
https://edelivery.oracle.com/osdc/faces/SoftwareDelivery#! 下載鏈接在這裏,需要註冊一個Oracle官網用戶並登陸,通常選擇第七個包,就是最後一個即可,如果不用OEL,就自己下載Centos 7.6也可以
Oracle安裝包下載
技術分享圖片
先把database的包下了就行了,想練習的,就把下面的example包也下了

鏈接如下:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html
同樣需要註冊一個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安裝建庫手冊