Oracle12C R2 for Centos 7html
背景介紹
安裝配置這東西吧,真沒啥可寫的,可是你說不寫詳細點吧,真的好多學員搞不懂,因此呢,熊熊思前想後,打算把本身從頭至尾怎麼安裝的,徹底寫一下,但願能讓你們有個全面的基礎認知linux
準備工做
安裝Xmanager
這個軟件功能很強大,熊熊安裝他主要是用於把遠程服務器的屏幕共享到本地桌面上
軟件在官網或者不少地方都有下載,這裏就不詳細給出連接地址了(也許後期熊熊會把全部須要的軟件都放在百度雲盤上,誰知道呢)
雙擊Xmanager安裝程序,在歡迎頁面點擊下一步繼續
必須接受許可協議,下一步繼續
主要是輸入產品密鑰(網上有不少,能找到,也有專門的註冊機),點擊下一步繼續
安裝路徑能夠根據本身實際狀況,下一步繼續
典型安裝就夠了,下一步繼續
開始菜單裏的程序文件夾,這個默認便可,下一步繼續
選擇中文語言,點擊安裝
安裝完成sql
下載安裝包
說在前面:其實,對於絕對的新手來說,強烈建議下載一個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帳號)vim
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帳號,編輯一些必要的環境變量bash
[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命令能夠查詢歷史記錄,可是很不方便)
所以咱們來安裝這個軟件(網上有不少下載地址,這裏就不給連接了)oracle
[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設置系統級環境變量app
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi 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。
下面是具體的建庫腳本
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;
12C R2版本建庫後,相關執行腳本都集成到了catcdb.pl這個perl腳本中,簡單編輯修改一下便可使用,具體請根據實際狀況修改,這裏就不演示了
總之,手工建庫不適合新手,不適合新手,不適合新手,重要事情說三遍!
查看數據庫狀態
在CDB數據庫中,啓動CDB數據庫並不能直接將其下的pdb啓動,咱們來看一下SQL> select con_id, dbid, guid, name , open_mode from v$pdbs;
能夠看到,PDB數據庫還處於mount狀態,即未啓動狀態,須要將其啓動
目前數據庫已啓動
切換到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 /