操作系統版本:CentOS 7、數據庫版本:Oracle 12c
安裝步驟:
- 關閉防火牆,禁止防火牆開機自啟
# 關閉防火牆 systemctl stop firewalld.service # 禁止防火牆開機啟動 systemctl disable firewalld.service # 查看防火牆狀態 systemctl status firewalld.service
- 關閉selinux安全限制
# 編輯文件 vi /etc/selinux/config # 修改內容 SELINUX=disabled
- root用戶安裝相關依賴
[root@RD-GYJDEDRT~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 ibXext ibXext.i686 libX11 libX11.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat
- root用戶修改系統內核參數
[root@RD-GYJDEDRT~]# vi /etc/sysctl.conf
在文件末尾加上以下內容
kernel.shmmni=4096 kernel.sem=250 32000 100 128 fs.file-max=6815744 fs.aio-max-nr=1048576 net.ipv4.ip_local_port_range=9000 65500 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048576
使剛才的修改生效,執行:
[root@RD-GYJDEDRT~]# sysctl -p
- 建立用戶和組
[root@RD-GYJDEDRT~]# groupadd oinstall [root@RD-GYJDEDRT~]# groupadd dba [root@RD-GYJDEDRT~]# groupadd oper [root@RD-GYJDEDRT~]# useradd -g oinstall -G dba,oper oracle
- 限制資源參數
[root@RD-GYJDEDRT~]# vi /etc/pam.d/login
打開文件后,在文件中添加如下:
session required pam_selinux.so open session required pam_namespace.so <span style="color:#ff0000;">session required pam_limits.so #添加</span> session optional pam_keyinit.so force revoke session include system-auth session optional pam_ck_connector.so
- 修改用戶限制
[root@RD-GYJDEDRT~]# vi /etc/security/limits.conf
打開文件后,在文件末尾添加如下:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768
- 在root用戶下創建oracle基目錄與oracle軟件位置並給與權限
mkdir /u01/app/oracle mkdir /u01/app/oracle/product/12.2.0/dbhome_1
給與權限
chown -R 775 /u01
- 配置安裝環境
為oracle用戶創建密碼 passwd oracle 輸入密碼
切換用戶
切換用戶 [root@RD-GYJDEDRT~]# su - oracle [oracle@RD-GYJDEDRT~]$ vi ./bash_profile
在文件中添加以下內容
umask 022 export ORACLE_BASE=/u01/app/oracle
基本內容配置已完成
- 解壓縮與安裝(安裝過程中一定要記好自己的實例名)
使用unzip解壓文件 進入解壓后的database文件夾啟動 ./runInstaller
如果無法啟動可參考之后的netca錯誤解決方案
注:執行數據庫安裝腳本./runInstal 的時候,
如果無法啟動也可能是和startup時遇到的同樣的問題,
參考最下方startup報錯解決方式,復制並修改init.ora文件即可郵件可以不需要配置,之后的安裝中如果跳出兩行腳本需要執行,那么在外面切換到root下執行兩個命令之后點擊繼續就行了
如果無法創建,就去創建對應的文件夾並給與775權限,之后一路next就行了
以上安裝中文是我從別的地方拷貝過來的,與英文內容一致,可以進行參考。
安裝完配置路徑環境
[oracle@RD-GYJDEDRT ~]$ vi ~/.bash_profile export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin 使得配置生效 [oracle@RD-GYJDEDRT ~]$ source ~/.bash_profile
創建監聽
[oracle@RD-GYJDEDRT ~]$ netca 如果運行不了就去/u01/app/oracle/product/12.2.0/dbhome_1/bin文件下執行 或者source ~/.bash_profile再次生效試試
沒問題最好,如果仍然無法啟動可以參考以下解決方案
netca 無法啟動
圖形界面無法啟動
先切換到root用戶,執行xhost +
然后再切換到oracle用戶,執行export DISPLAY=:0.0
出現亂碼執行export LANG=US_en
在這里介紹下兩種情況的常見問題:
一種是本地運行的命令,另一種則是遠程ssh命令安裝。
DISPLAY科普
DISPLAY變量是用來設置將圖形顯示到何處.比如CENTOS,你用圖形界面登錄進去,DISPLAY自動設置為DISPLAY=:0.0表示顯式到本地監視器,那么通過終端工具(例如:xshell)進去,運行圖形界面的程序,如果沒有設置,系統是不允許程序啟動的。
在執行xhost +命令(使得所有客戶都可以訪問)
正常返回信息為:
access control disabled,clients can connect from any host
此時就可以啟動了
如果xhost +不能執行,報錯:xhost : unable to open display ""
可以輸入命令export DISPLAY=:0執行一下
再執行xhost +
#xhost + ip (name表示該ip機器可以使用該服務)
#(本地安裝不需要考慮)遠程ssh安裝
先安裝xmanager,自行百度下載安裝,否則無法彈窗。
先切換到root用戶,執行xhost +()
正常返回:access control disabled,clients can connect from any host
切回oracle用戶,執行:export DISPLAY=192.168.1.2:0.0
比如你的oracle服務器ip是192.168.0.1,訪問的客戶端的ip是192.168.1.2,當你用192.168.1.2連接上數據庫后,希望在192.168.1.2上顯示圖像界面,這是就需要export DISPLAY=192.168.1.2:0.0
再執行oracle安裝文件,會提示彈窗授權:
unable to open display
點擊是后,會正常彈窗。
如果出現了如下錯誤:
u01/oracle/bin/netca: line 178: 11819 Aborted $JRE $JRE_OPTIONS -classpath $CLASSPATH oracle.net.ca.NetCA $*
是由於默認的主機名導致的,修改2處
[oracle@jc11g ~]$ cat /etc/sysconfig/network 查看,之后使用vi修改為以下形式
NETWORKING=yes
HOSTNAME=安裝時的實例名
GATEWAY=你的主機GATAWAY
[oracle@jc11g ~]$ cat /etc/hosts 查看,之后使用vi修改為以下形式
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost 安裝時的實例名
( 由於默認主機名錯誤導致,修改配置文件/etc/hosts,修改
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost 安裝時的實例名)
再執行
hostname 安裝時的實例名
oracle安裝完成后,可以創建數據庫啦!
運行dbca
[oracle@RD-GYJDEDRT ~]$ dbca


應定義為你的全局數據庫名與SID

默認大小就行,此處不需要修改為圖中值直接next就可以
注:安裝過程非常長,毀天滅地形式的長,建議睡前安裝美滋滋,不然會等到精神崩潰(也可能是我的電腦配置太差了)
之后切換到oracle用戶然后 sqlplus "/as sysdba" 進入sql界面,然后 startup 數據庫就會顯示出來,至此安裝結束 startup可能遇到的問題標注在下面
注:執行數據庫安裝腳本./runInstal 的時候,如果無法啟動也可能是和startup時遇到的同樣的問題,參考startup報錯解決方式,復制並修改init.ora文件即可
Oracle 12c報錯:ORA-01078和LRM-00109的解決辦法 數據庫首次安裝完成后,startup啟動數據庫顯示報錯: [oracle@lemon admin]$ sqlplus / as sysdba; SQL*Plus: Release 12.2.0.1.0 Production on Sun Dec 17 10:00:20 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/u01/app/oracle/product/12..
0/db_1/dbs/initNNLEI.ora' 查看報錯路徑: [oracle@lemon ~]$ cd /u01/app/oracle/product/12.2.0/db_1/dbs [oracle@lemon dbs]$ ll 總用量 20 -rw-rw---- 1 oracle oinstall 1544 12月 17 06:17 hc_nnlei.dat -rw-r--r-- 1 oracle oinstall 3079 5月 15 2015 init.ora -rw-r----- 1 oracle oinstall 24 12月 17 05:55 lkNNLEI -rw-r----- 1 oracle oinstall 3584 12月 17 06:11 orapwnnlei -rw-r----- 1 oracle oinstall 3584 12月 17 09:51 spfilennlei.ora 解決辦法: 從pfile參數文件里,拷貝一份spfile參數文件並重新命名為initNNLEI.ora #如果找不到spfile就直接拿dbs下面的init.ora復制一份並修改為報錯中需要的名稱就行 ,如上圖就是將init.ora修改為initNNLEI.ora,並參考后面09925進行路徑修改 cp init.ora initNNLEI.ora 注:此方法優於pfile拷文件,建議使用此方法 注:參考09925后可以規避以下的幾乎所有報錯 [oracle@lemon ~]$ cd $ORACLE_BASE/admin/nnlei/pfile [oracle@lemon pfile]$ ll 總用量 4 -rw-r----- 1 oracle oinstall 1951 12月 17 05:48 init.ora.1117201761430 [oracle@lemon pfile]$ cp init.ora.1117201761430 /u01/app/oracle/product
/12.2.0/db_1/dbs/initNNLEI.ora [oracle@lemon pfile]$ cd $ORACLE_HOME/dbs [oracle@lemon dbs]$ ll 總用量 24 -rw-rw---- 1 oracle oinstall 1544 12月 17 06:17 hc_nnlei.dat -rw-r----- 1 oracle oinstall 1951 12月 17 10:59 initNNLEI.ora -rw-r--r-- 1 oracle oinstall 3079 5月 15 2015 init.ora -rw-r----- 1 oracle oinstall 24 12月 17 05:55 lkNNLEI -rw-r----- 1 oracle oinstall 3584 12月 17 06:11 orapwnnlei -rw-r----- 1 oracle oinstall 3584 12月 17 09:51 spfilennlei.ora Oracle ora 01261,Oracle心得:ORA-01261:ORA-01262:錯誤的解決 用ps -ef|grep ora_ 查看沒有發現oracle的進程。進入數據庫啟動遇上ORA-01261:ORA-0
1262:錯誤。$ sqlplus quot;/as sysdbaquot 用ps -ef|grep ora_ 查看沒有發現Oracle的進程。 進入數據庫啟動遇上ORA-01261:ORA-01262:錯誤。 $ sqlplus "/as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on Tue Dec 15 08:25:22 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORA-01261: Parameter db_recovery_file_dest destination string c
annot be translat ed ORA-01262: Stat failed on a file destination directory IBM AIX RISC System/6000 Error: 2: No such file or directory 參照上面的說明,在系統目錄中找不到db_recovery_file_dest目錄。 解決: 查看了Oracle的初始化文件。 $cat /oracle/oms/102_64/dbs/initSID.ora 如:db_recovery_file_dest='/oracle/oms/flash_recovery_area' 查看系統/oracle/oms/沒有該“flash_recovery_area”文件夾。 (如果該文件存在那么就參考09925進行解決) 用oracle用戶在/oracle/oms目錄下創建一個“flash_recovery_area”文件夾 $mkdir flash_recovery_area SQL> startup 重新啟動數據庫就正常了。 ORA-09925 Unable to create audit trail file 問題解決 和上面的01261 01262屬於同類型問題 經排查發現是我的Oracle的初始化文件無法識別<oracle_base><oracle_home>地址,
解決方案為將<oracle_base>更替為具體路徑。 注:以后可檢測具體是何原因導致的
(以發現原因:原因為profile下的init.ora沒有進行Oracle具體地址<oracle_base>的修改
,每次新安裝Oracle,應對init.ora中的配置文件進行修改,
將<oracle_base><oracle_home>更替為本機具體路徑。) 解決oracle數據庫ORA-01081 SQL>startup ORA-01081:cannot start already-running ORALCE - shut it down first SQL>shutdown immediate ORA-03135:connection lost contact 解決方法: sqlplus "/ as sysdba" sqlplus>shutdown abort; sqlplus>startup;