Linux安裝oracle12c的詳解
一 Linux下Oracle 12c數(shù)據(jù)庫(kù)的安裝
1.1.1 操作系統(tǒng)軟硬件檢查
1. 內(nèi)存要求
最小值為1 GB 內(nèi)存乙埃,建議值為2 GB of RAM 或者更多
查詢命令:# grep MemTotal /proc/meminfo
計(jì)算出來有1.7968G內(nèi)存版仔,滿足Oracle 12c的內(nèi)存安裝要求。
2. 系統(tǒng)內(nèi)核版本
查詢系統(tǒng)位數(shù)命令:# uname -m吨瞎;
查詢系統(tǒng)版本命令:# cat /proc/version或# cat /etc/redhat-release或# lsb_release -id痹兜;
查詢系統(tǒng)內(nèi)核版本:# uname -r。
經(jīng)查詢可知颤诀,本機(jī)系統(tǒng)版本和內(nèi)核版本都在Oracle 12c支持的范圍內(nèi)字旭。
3. 磁盤空間要求
用來安裝的Oracle 12c對(duì)應(yīng)版本的目錄硬盤保留量至少滿足上面的要求,一般情況下崖叫,這個(gè)都不是問題遗淳,如果有疑問,可以用df -h命令查詢一下目錄所在的硬盤空間使用情況心傀。
4. /tmp空間至少1GB
-
查詢命令:# df -h /tmp洲脂,Oracle安裝目錄中的/oradata目錄用來存放數(shù)據(jù)文件,/tmp目錄是根文件系統(tǒng)的一部分,而圖中查詢結(jié)果顯示根目錄還剩余48G恐锦,滿足條件往果。
這里寫圖片描述 通過命令:# df -h查看各個(gè)磁盤的使用情況。
1.1.2 安裝前系統(tǒng)配置
1. RPM要求
安裝前可先查看需要的RPM包已安裝一铅,查詢命令:# rpm -q package_name陕贮,另外,對(duì)于本系統(tǒng)版本Oracle 12c潘飘,要使用用于連接數(shù)據(jù)庫(kù)的Oracle ODBC Drivers肮之,需要安裝unixODBC-2.3.1 or later,下載地址http://www.unixodbc.org卜录。
- 檢查Oracle需要的rpm安裝情況
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libxcb libXi make sysstat
- 安裝缺失的rpm
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 elfutilslibelf-devel gcc gcc-c++ glibc.i686 glibc glibc-devel glibc-devel.i686 ksh libgcc.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 make sysstat unixODBC unixODBC.i686 unixODBC-devel unixODBCdevel.i686 libXp
3)再次檢查rpm的安裝情況
4)創(chuàng)建wap分區(qū)
關(guān)于swap交換分區(qū)的設(shè)置:
以前裝Linux服務(wù)器系統(tǒng)的時(shí)候戈擒,系統(tǒng)有1G內(nèi)存,swap交換分區(qū)分了2G艰毒,現(xiàn)在系統(tǒng)內(nèi)存加到了8G筐高,同事建議增加交換分區(qū)。我就增加16G swap分區(qū)介紹一下(添加一個(gè)交換文件方式):
1\. 查看swap 空間大小(總計(jì)):我的已經(jīng)加完了丑瞧,引用另外一臺(tái)機(jī)子的查看內(nèi)容柑土。
free -m
total used free shared buffers cached
Mem: 7985 756 7228 0 98 263
-/+ buffers/cache: 394 7590
Swap: 8189 0 8189
2.增加16G的交換空間
dd if=/dev/zero of=/usr/swap bs=1024 count=4096000 #/usr/swap 文件在的位置
如果是增加2G,則count=2048000
3.設(shè)置交換分區(qū)
mkswap /usr/swap
4.啟動(dòng)交換分區(qū)
swapon /usr/swap
#此時(shí)Top命令看到交換分區(qū)增加了绊汹,此時(shí)重啟后發(fā)現(xiàn) swap空間又變回2G了稽屏,怎么辦呢?又查了下內(nèi)容
發(fā)現(xiàn)還有一步西乖。
5.修改/etc/fstab文件狐榔,使得新加的16G交換空間在系統(tǒng)重新啟動(dòng)后自動(dòng)生效在文件最后加入:
vi /etc/fstab 增加下列內(nèi)容 i進(jìn)入修改模式
/usr/swap swap swap defaults 0 0
6.free -m 查看swap分區(qū)大小
2. 創(chuàng)建用戶、用戶組以及安裝目錄
安裝和運(yùn)行Oracle數(shù)據(jù)庫(kù)軟件都需要使用指定用戶組內(nèi)的指定用戶获雕,用戶為Oracle薄腻,出于安全考慮,用戶組建為oinstall典鸡、dba被廓,oinstall組中的成員用于管理Oracle數(shù)據(jù)庫(kù)物理軟件坏晦,dba組中的成員用于管理萝玷、操作數(shù)據(jù)庫(kù),具有sysdba權(quán)限昆婿。
[root@CentOS /]# groupadd oinstall ----創(chuàng)建oracle用戶組 [root@CentOS /]# groupadd dba----創(chuàng)建oracle用戶組 [root@CentOS /]# useradd -g oinstall -G dba oracle----oracle加入新建的2個(gè)用戶組 [root@CentOS /]# passwd oracle ----設(shè)置oracle用戶的密碼 [root@CentOS /]# mkdir -p /usr/oracle ----創(chuàng)建oracle安裝目錄 [root@CentOS /]# mkdir -p /opt/oracle/oracinstall ---創(chuàng)建racle安裝文件所在目錄 [root@CentOS /]# chown -R oracle:oinstall /usr/oracle ----更改oracle目錄用戶組 [root@CentOS /]# chmod -R 775 /usr/oracle ----更改oracle目錄權(quán)限 [root@CentOS /]# chown -R oracle:oinstall /opt/oracle/oracinstall----更改oracle安裝文件所在目錄的用戶組 [root@CentOS /]# chmod -R 755 /opt/oracle/oracinstall----更改oracleracle安裝文件所在目錄的操作權(quán)限
3. 配置系統(tǒng)內(nèi)核參數(shù)
1)共享內(nèi)存內(nèi)核參數(shù)
kernel.shmmax:每個(gè)內(nèi)存段的最大值球碉,等于或大于sga_max_size,不小于物理內(nèi)存1/2或2G
kernel.shmall:指定任意時(shí)刻仓蛆,系統(tǒng)可以分配的所有共享內(nèi)存段總和的最大值睁冬,不小于shmmax/page_size,如果服務(wù)器運(yùn)行的SGA<8G,可用默認(rèn)值
kernel.shmmni:系統(tǒng)可分配的共享內(nèi)存段的最大數(shù)量,默認(rèn)是4096
2)信號(hào)量
一種控制資源訪問的方法豆拨,Oracle實(shí)例主要使用信號(hào)量來控制共享內(nèi)存的訪問
使用processes初始化參數(shù)分配信號(hào)量直奋,其值至少等于processes
信號(hào)量?jī)?nèi)核參數(shù)
kernel.sem:如:kernel.sem = 250 32000 100 128,其中等號(hào)右邊4部分分別為semmsl施禾、semmns脚线、semopm、semmni值弥搞。
semmsl指每個(gè)信號(hào)量集合中的最大信號(hào)量個(gè)數(shù)邮绿,其值或取其最小值100,或者為所有數(shù)據(jù)庫(kù)中最大的processes+10攀例,選擇其中較大值者
semmns值是指整個(gè)系統(tǒng)范圍內(nèi)信號(hào)量總數(shù)的最大值船逮,默認(rèn)是32000
semopm用于指定每個(gè)semop()系統(tǒng)調(diào)用可以設(shè)置的信號(hào)量操作的最大數(shù)量,默認(rèn)為100
semmni用于指定信號(hào)量集合的最大數(shù)量粤铭,最小為100挖胃,Oracle建議取值128.
net.core.rmem_default辉词、net.core.rmem_max晶通、net.core.wmem_default邮弹、net.core.wmem_max抡秆,4個(gè)參數(shù)用于設(shè)置socket數(shù)據(jù)發(fā)送緩沖區(qū)及接收緩沖區(qū)的默認(rèn)大小與最大大小坊夫。
表示應(yīng)用程序可使用的IPv4端口范圍哥艇。 net.core.rmem_default: 表示套接字接收緩沖區(qū)大小的缺省值薄扁。 net.core.rmem_max: 表示套接字接收緩沖區(qū)大小的最大值听怕。 net.core.wmem_default: 表示套接字發(fā)送緩沖區(qū)大小的缺省值职烧。 net.core.wmem_max: 表示套接字發(fā)送緩沖區(qū)大小的最大值扁誓。
對(duì)應(yīng)Oracle 12c的系統(tǒng)內(nèi)核參數(shù)要求參考如下:
3) 編輯系統(tǒng)的內(nèi)核參數(shù):[root@CentOS /]# vi /etc/sysctl.conf,在文件的末尾加入內(nèi)核要求內(nèi)容蚀之,編輯完成通過“ESC”和“:wq”保存并退出編輯窗口
編輯內(nèi)核kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 fs.file-max = 6815744
- 生效新配置的系統(tǒng)內(nèi)核參數(shù)
sysctl -p
4. 配置Oracle用戶shell limit
1)為了提高在linux系統(tǒng)上運(yùn)行軟件的性能蝗敢,必須對(duì)oracle用戶設(shè)置下列限定。
修改
vi /etc/security/limits.conf
noproc - 進(jìn)程的最大數(shù)目stack - 最大棧大小nofile - 打開文件的最大數(shù)目soft 指的是當(dāng)前系統(tǒng)生效的設(shè)置值hard 表明系統(tǒng)中所能設(shè)定的最大值soft 的限制不能比har 限制高足删。用 - 就表明同時(shí)設(shè)置了 soft 和 hard 的值寿谴。oracle:被限制的用戶名,組名前面加@和用戶名區(qū)別 oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240oracle hard stack 10240
5. 編輯登錄配置文件
vi /etc/pam.d/login
進(jìn)行登錄配置文件的編輯失受,在文本最后添加:session required pam_limits.so或者session required /lib/security/pam_limits.so使shell limit生效讶泰。
6. Oracle用戶環(huán)境變量配置
要成功安裝并使用Oracle數(shù)據(jù)庫(kù)軟件,必須在Oracle用戶的.bash_profile文件中設(shè)置ORACLE_BASE拂到、ORACLE_HOME痪署、ORACLE_SID和PATH環(huán)境變量,其他的根據(jù)需要來設(shè)置兄旬。ORACLE_HOME可以在安裝前手動(dòng)配置狼犯,另外,Oracle安裝過程中會(huì)根據(jù)ORACLE_BASE的值自動(dòng)指定的ORACLE_HOME,所以也可以在安裝后將這個(gè)ORACLE_HOME寫入.bash_profile悯森。
[root@CentOS etc]# su - oracle
[oracle@CentOS ~]$ vi .bash_profile
添加如下內(nèi)容宋舷,并保存退出
# use for oracle export ORACLE_BASE=/usr/oracle export ORACLE_HOME=$ORACLE_BASE/product export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib #防止Oracle安裝界面亂碼,先把語(yǔ)言環(huán)境改為英文export LANG=en_US if [ $USER = "oracle" ];then if [ $SHELL = "/bin/ksh" ];then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
7 生效配置文件
[oracle@CentOS ~]$ source .bash_profile
8. 配置修改/etc/hosts文件(切回用戶)root
安裝RHEL的時(shí)候最好采用靜態(tài)IP地址瓢姻,
vi /etc/hosts
添加IP地址和域名的映射關(guān)系肥缔,進(jìn)入hosts文件,在文件末尾加上本機(jī)實(shí)際IP和主機(jī)用戶名
196.160.1.211 Centos dbserver
- 1
9 xhost +
這個(gè)問題比較惡心:
xhost: unable to open display “”
解決
yum install tigervnc-server
vncserver
export DISPLAY=localhost:1
xhost +
來進(jìn)行操作汹来。比如:
//切換到oracle用戶下su - oracle //查看當(dāng)前DISPLAY環(huán)境變量的值echo $DISPLAY //允許視圖界面投影到設(shè)定的ip下export DISPLAY=192.168.112.31:0.0 //再次查看DISPLAY環(huán)境變量的值echo $DISPLAY //啟動(dòng)命令xhost +
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
1 出現(xiàn)問題
使用Xmanager的Xshell連接linux续膳,進(jìn)行上述操作時(shí)會(huì)出現(xiàn)如下問題:
xhost: unable to open display “192.168.112.31:0.0”
如圖所示:
2 解決辦法
Xmanager下出現(xiàn)這個(gè)問題,首先要保證linux服務(wù)器上安裝了xterm收班,如果還未安裝xterm坟岔,可以運(yùn)行yum來安裝:
yum install xterm
- 1
其次解決辦法就是,先使用Xstart連接linux服務(wù)器摔桦,如圖所示:
注意在command命令行里輸入:
/usr/bin/xterm -ls -display $DISPLAY
- 1
如圖所示:
連接成功后直接在Xstart命令行下社付,或者再次使用Xshell命令行嘗試命令:
xhost +
就會(huì)出現(xiàn)成功的響應(yīng):
access control disabled, clients can connect from any host
如圖所示:
后面就可以正常使用遠(yuǎn)程圖形界面的操作了。
10 安裝Oracle 12c數(shù)據(jù)庫(kù)
1)使用xftp將oracle12c文件放到linux中
2)解壓縮
[root@CentOS oracinstall]# unzip linuxx64_12201_database.zip
-bash: unzip: 未找到命令
[root@CentOS oracinstall]#
解決方法
[root@CentOS oracinstall]# yum install -y unzip zip
重新解壓邻耕,成功
3)安裝
[root@CentOS database]# ./runInstaller
4)后面就可視化安裝了鸥咖。
如果你彈出了以下界面,那么恭喜你離成功只有一半的距離了兄世。
1啼辣、第一步用來配置更新以及技術(shù)支持的,把勾去掉直接下一步就行
2御滩、 配置安裝選項(xiàng)鸥拧,這三個(gè)選項(xiàng)分別表示:①創(chuàng)建并配置一個(gè)新數(shù)據(jù)庫(kù),適用于新安裝數(shù)據(jù)庫(kù)的用戶削解;②只安裝數(shù)據(jù)庫(kù)軟件富弦,適用于已有Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)用于數(shù)據(jù)遷移的;③升級(jí)已有數(shù)據(jù)庫(kù)氛驮,適用于將老數(shù)據(jù)庫(kù)升級(jí)成新數(shù)據(jù)庫(kù)的用戶腕柜。毫無疑問這里選擇第一個(gè)選項(xiàng)矫废。
3赵誓、第三步配置桌面版還是服務(wù)器版诡蜓,在linux服務(wù)器選第二個(gè)豺谈。
4厂榛、第四步分布式網(wǎng)格配置责掏,這里選擇單實(shí)例服務(wù)器配置冗疮,如果要配置分布式服務(wù)的話可以參考前面說的安裝文檔四敞,里面有詳細(xì)的分布式服務(wù)安裝過程
6.我的linux服務(wù)器選不中第二個(gè)没龙,就只能選第一個(gè)了
7,
8.執(zhí)行這部會(huì)有問題赃磨,在這一步時(shí),無法繼續(xù)邻辉,因?yàn)閛racle賬戶無法創(chuàng)建oraInventory目錄,所以必須先創(chuàng)建該用戶并授權(quán)桥狡,執(zhí)行如下操作即可
[root@getoraclelnx01 ~]# mkdir -p /usr/oraInventory
[root@getoraclelnx01 ~]# chown -R oracle:oinstall /usr/oraInventory
[root@getoraclelnx01 ~]# chmod -R 775 /usr/oraInventory
9
這里注意編碼問題部逮,要和自己服務(wù)器編碼一致,要不然數(shù)據(jù)庫(kù)中文會(huì)亂碼嫂易,可以參考我的一個(gè)博客看下
驗(yàn)證參數(shù)時(shí)兄朋,aio-max-nr設(shè)置為1048576,配置文件沒有的話要加上怜械,編輯系統(tǒng)的內(nèi)核參數(shù):[root@CentOS /]# vi /etc/sysctl.conf颅和,運(yùn)行sysctl -p使之生效。然后重新驗(yàn)證通過
運(yùn)行過程會(huì)提示讓你用root賬戶執(zhí)行2個(gè)腳本缕允,你將腳本的文件拿下來峡扩,在root賬戶下執(zhí)行即可。