完全Oracle安裝建庫手冊

Oracle12C R2 for Centos 7

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

準備工作
安裝Xmanager
這個軟件功能很強大,熊熊安裝他主要是用於把遠程服務器的屏幕共享到本地桌面上
軟件在官網或者很多地方都有下載,這裏就不詳細給出鏈接地址了(也許後期熊熊會把所有需要的軟件都放在百度雲盤上,誰知道呢)
完全Oracle安裝建庫手冊
雙擊Xmanager安裝程序,在歡迎頁面點擊下一步繼續
完全Oracle安裝建庫手冊
必須接受許可協議,下一步繼續
完全Oracle安裝建庫手冊
主要是輸入產品密鑰(網上有很多,能找到,也有專門的註冊機),點擊下一步繼續
完全Oracle安裝建庫手冊
安裝路徑可以根據自己實際情況,下一步繼續
完全Oracle安裝建庫手冊
典型安裝就夠了,下一步繼續
完全Oracle安裝建庫手冊
開始菜單裏的程序文件夾,這個默認即可,下一步繼續
完全Oracle安裝建庫手冊
選擇中文語言,點擊安裝
完全Oracle安裝建庫手冊
安裝完成

下載安裝包
說在前面:其實,對於絕對的新手來講,強烈建議下載一個OEL7.6安裝最踏實,因爲裏面對Oracle內核有優化,該有的包和參數也都提前給設置好了,省心
完全Oracle安裝建庫手冊
https://edelivery.oracle.com/osdc/faces/SoftwareDelivery#! 下載鏈接在這裏,需要註冊一個Oracle官網用戶並登陸,通常選擇第七個包,就是最後一個即可,如果不用OEL,就自己下載Centos 7.6也可以
Oracle安裝包下載
完全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*來安裝缺失的包
否則正確的話,應該出現下圖所示
完全Oracle安裝建庫手冊
[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

開始安裝
完全Oracle安裝建庫手冊
在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

執行安裝
完全Oracle安裝建庫手冊
第一步出現配置安全更新,因爲沒有Metalink賬號,所以把Oracle支持的勾打沒了,點擊下一步繼續
完全Oracle安裝建庫手冊
先僅安裝數據庫軟件,點擊下一步繼續
完全Oracle安裝建庫手冊
目前只考慮單實例安裝,點擊下一步繼續
完全Oracle安裝建庫手冊
選擇企業版進行安裝,點擊下一步繼續
完全Oracle安裝建庫手冊
這裏可以看到,上面是Oracle的基目錄,下面是Oracle的產品目錄,這兩個目錄都在Oracle賬號下的.bash_profile文件中配置好,這裏是直接讀取的該文件,點擊下一步繼續
完全Oracle安裝建庫手冊
各種操作所需的權限組,自己學習都給他dba組就得了,省心,點擊下一步繼續
完全Oracle安裝建庫手冊
如果有先決條件需要處理,有個腳本執行,缺包的話,使用yum命令進行安裝,爲什麼讓用OEL呢,因爲只需要yum -y install oracle就搞定了,特別方便,這裏我沒有任何問題,點擊安裝開始安裝
完全Oracle安裝建庫手冊
用root賬號執行上圖所示腳本
[root@svn ~]# /home/app/oracle/product/12.2.0/db_1/root.sh
完全Oracle安裝建庫手冊
腳本執行完成後,在執行配置腳本窗口點擊確定按鈕
完全Oracle安裝建庫手冊
軟件安裝完畢,點擊關閉即可

靜默安裝
有些時候,我們經常無法用桌面方式安裝(本地or遠程都算上),所以遠程靜默安裝就尤其重要了,下面我們來看一下如何操作
完全Oracle安裝建庫手冊
在database的response目錄下,有個db_install.rsp的文件,先把他備份一下
完全Oracle安裝建庫手冊
上面的文件裏,都是一些實際參數,根據自己實際情況改一下就好了,這裏就不一一解釋了,很簡單的,如果還有不懂的同學再問我就好了
完全Oracle安裝建庫手冊
用上圖的命令來調用靜默安裝,這裏就不演示具體安裝了,安裝後也需要用root賬號執行兩個腳本,就都ok了

安裝監聽
NETCA

Oracle用戶下在命令行鍵入netca
完全Oracle安裝建庫手冊
選擇監聽程序配置,點擊下一步繼續
完全Oracle安裝建庫手冊
添加監聽程序,下一步繼續
完全Oracle安裝建庫手冊
默認監聽名稱listener,下一步繼續
完全Oracle安裝建庫手冊
默認TCP協議,下一步繼續
完全Oracle安裝建庫手冊
默認端口1521,下一步繼續
完全Oracle安裝建庫手冊
無需配置另一個監聽,下一步繼續
完全Oracle安裝建庫手冊
監聽程序配置完成,下一步繼續
完全Oracle安裝建庫手冊
點擊完成按鈕完成配置

創建數據庫
在oracle賬號下鍵入dbca
完全Oracle安裝建庫手冊
選擇創建數據庫,下一步繼續
完全Oracle安裝建庫手冊
選擇高級配置,下一步繼續
完全Oracle安裝建庫手冊
選擇單實例數據庫,默認一般用途(OLTP),下一步繼續
完全Oracle安裝建庫手冊
從12C版本支持CDB與PDB數據庫(即容器數據庫與可插拔數據庫)
CDB全稱爲Container Database,中文翻譯爲數據庫容器
PDB全稱爲Pluggable Database,即可插拔數據庫
從12C開始,Oracle實例與數據庫可以形成一對多的關係
完全Oracle安裝建庫手冊
選擇存儲屬性,選擇OMF表空間管理,點擊下一步繼續
完全Oracle安裝建庫手冊
設定快速閃回區的存儲方式、路徑和大小,下一步繼續(練習階段,暫不開啓歸檔)
完全Oracle安裝建庫手冊
可以看到,已經加載我們設定好的監聽程序,下一步繼續
完全Oracle安裝建庫手冊
安全選項在練習環境就不設置了,下一步繼續
完全Oracle安裝建庫手冊
進程我設置爲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即可
完全Oracle安裝建庫手冊
爲了後期加入到OEM CC中,這裏就不設置單機版的OEM了,下一步繼續
完全Oracle安裝建庫手冊
這裏熊熊偷懶使用統一管理口令了,下一步繼續
完全Oracle安裝建庫手冊
有興趣的可以查看所有的初始化參數,也可以生成數據庫創建腳本來學習(這個腳本主要採用的是RMAN的CLONE技術),點擊下一步繼續
完全Oracle安裝建庫手冊
這裏會列出一個詳細的配置清單,查證無誤後,點擊完成開始建庫
完全Oracle安裝建庫手冊
至此,數據庫創建完畢,點擊關閉即可

靜默建庫
完全Oracle安裝建庫手冊
編輯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。
下面是具體的建庫腳本

create database bear
user sys identified by oracle
user system identified by oracle
logfile group 1 ('$ORACLE_BASE/oradata/bear/disk1/redo01.log') size 200m,
        group 2 ('$ORACLE_BASE/oradata/bear/disk2/redo02.log') size 200m,
        group 3 ('$ORACLE_BASE/oradata/bear/disk3/redo03.log') size 200m
maxlogfiles 10
maxlogmembers 5
maxloghistory 5
maxdatafiles 1000
character set al32utf8
national character set al16utf16
extent management local
  datafile '$ORACLE_BASE/oradata/bear/disk1/system01.dbf' size 1g
  sysaux datafile '$ORACLE_BASE/oradata/bear/disk3/sysaux01.dbf' size 1g
  default tablespace deftbs
     datafile '$ORACLE_BASE/oradata/bear/disk2/deftbs01.dbf' size 1g
  default temporary tablespace temp01
     tempfile '$ORACLE_BASE/oradata/bear/disk1/temp01.tmp' size 100m
  undo tablespace undotbs
     datafile '$ORACLE_BASE/oradata/bear/disk2/undotbs01.dbf' size 2g
enable pluggable database
    seed
    file_name_convert = ('$ORACLE_BASE/oradata/bear/', '$ORACLE_BASE/oradata/pdbseed/')
    system datafiles size 1g autoextend on next 1m maxsize unlimited
    sysaux datafiles size 1g
  user_data tablespace usertbs
    datafile '$ORACLE_BASE/oradata/pdbseed/disk2/usertbs01.dbf' size 1g;

select instance_name, status from v$instance;
select open_mode, name from v$database;

完全Oracle安裝建庫手冊
12C R2版本建庫後,相關執行腳本都集成到了catcdb.pl這個perl腳本中,簡單編輯修改一下即可使用,具體請根據實際情況修改,這裏就不演示了
總之,手工建庫不適合新手,不適合新手,不適合新手,重要事情說三遍!

查看數據庫狀態
在CDB數據庫中,啓動CDB數據庫並不能直接將其下的pdb啓動,我們來看一下
SQL> select con_id, dbid, guid, name , open_mode from v$pdbs;
完全Oracle安裝建庫手冊
可以看到,PDB數據庫還處於mount狀態,即未啓動狀態,需要將其啓動
完全Oracle安裝建庫手冊
目前數據庫已啓動
完全Oracle安裝建庫手冊
切換到cdb$root用戶下,亦可以看到pdb庫已啓動
SQL> alter pluggable database all open; 使用該語句可以將cdb庫下的所有pdb數據庫均啓動,我們也可以做個觸發器,當啓動cdb的時候,自動觸發啓動所有的pdb

SQL> create or replace trigger open_pdbs
  2  after startup on database
  3  begin
  4  execute immediate 'alter pluggable database all open';
  5  end open_pdbs;
  6  /

完全Oracle安裝建庫手冊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章