最近工做中用到了
Oracle
做爲Intel
測試的數據庫,在裝Oracle Linux
和Oracle Database 11g R2
折騰了好久,這篇文章就這兩點對你們分享一些我安裝過程當中遇到的問題和注意點,RAC
暫時還未配置,稍後找時間補上 ~~~html如今網上找一篇好的文章好難,每每要在一個話題或技術上找多方資源東拼西湊,互相借鑑才能達成目的,緣由就是不少細節部分描述不清或者忽略,這樣每每會給讀者帶來負效應,本文旨爲讀者呈現每一步的細節操做和異常處理,若有不足,請指正,謝謝!linux
友情提醒: 本文參照
link
較多,請細心而且耐心地進行每一步操做c++
參考列表:bash
如下操做步驟基本是按上面兩條
link
走的,有一些地方不同或者是不必的我會在下面詳細講解,我裝的時候以link1
爲主線,而後參照link2
的word
文檔進行,沒有特殊標記的通常都是根據link1
操做,你們也能夠這樣操做,能夠少遇一些坑,節省一些時間~~~dom
注意點:
Base server
這一步很關鍵
勾選Oracle Linux Server
, Resilient Storage
和 Scalable Filesystem Support
(參照link2
)
勾選Customize Now
,這一步依然很是關鍵,只有勾選了才能夠裝一些Oracle Linux
須要的套件
須要手動添加安裝的套件(系統默認勾選的不要刪掉,這邊的操做只添加勾選):
Base System
:Compatibility libraries
、Legacy UNIX compatibility
Servers
: System administration tools
Desktops
: Desktop
、Desktop Platform
、Fonts
、General Purpose Desktop
、Graphical Administration Tools
、Input Methods
、X Window System
Development
: Additional Development
、Development Tools
Appilication
: Internet Browser
安裝應該是1390
個包,裝好直接reboot
這時候建立普通用戶的時候,千萬不要建立oracle
用戶,不然以後會有不少麻煩
下面講的主要是和兩個文檔不一樣的地方(依然以link1
爲主線):
selinux
須要dsiable
/etc/sysctl.conf
參照link2
,kernel.shmmax = 536870912
(這行參照link2
)/etc/security/limits.conf
oracle soft nproc 16384 oracle hard nproc 16384 oracle soft nofile 4096 oracle hard nofile 65536 oracle soft stack 10240
oracle linux 6.5
光盤下載包(我是經過yum
安裝,沒有安裝的大部分都是系統已經安裝了,少部分是不必安裝)須要安裝:
ksh
libaio-devel.i686
libaio-devel.x86_64
libaio.i686
libstdc++.i686
libstdc++-4.4.7-18.el6.i686
compat-libstdc++-33.i686
不須要安裝:
numactl-devel-2*x86_64*
因爲我本地的是
libstdc++-4.4.7-4.el6.x86_64
,而安裝的是libstdc++-4.4.7-18.el6.i686
,版本不匹配會形成yum
報錯,而這個庫做爲衆多庫的依賴還不能刪除,因此只能強行升級:yum install libstdc++-4.4.7-18.el6.i686
,而後再安裝i686
文件
這一步參照: Automating Database Startup and Shutdown on Linux
附上腳本和~/.bash_profile
:start_all.sh
:
#!/bin/bash . /home/oracle/scripts/setEnv.sh export ORAENV_ASK=NO . oraenv export ORAENV_ASK=YES dbstart $ORACLE_HOME
stop_all.sh
:
#!/bin/bash . /home/oracle/scripts/setEnv.sh export ORAENV_ASK=NO . oraenv export ORAENV_ASK=YES dbshut $ORACLE_HOME
setenv.sh
:
# Oracle Settings export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=tonydb.localdomain export ORACLE_UNQNAME=sampledb export ORACLE_BASE=/home/oracle/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=sampledb export PATH=/usr/sbin:/usr/local/bin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
~/.bash_profile
最後一行追加:
. /home/oracle/scripts/setenv.sh
FTP
並上傳zip
文件(這一步有需求就執行,我是經過windows
傳輸到linux
上)安裝包在頁面最上方
Resource Link
的第二個link
,有兩個zip
包,都是須要的,這就是Oracle Database 11g R2
的包,下面就開始安裝數據庫了,離成功也就不遠了
參照: Oracle Database 11g Release 2 Installation on RHEL/CentOS 6.x/5.x/4.x,以這個link
的步驟爲主,link1
和link2
爲輔
next button
閃退的現象,進入preference
裏面調節屏幕分辨率便可check
時候報錯,若是你在上面安裝了那麼就ignore
吧,由於這些包都安裝了,只不過版本比它check
的高:libaio-0.3.105 compat-libstdc++-33-3.2.3 libaio-devel-0.3.105 libgcc-3.4.6 libstdc++-3.4.6 unixODBC-2.2.11 unixODBC-2.2.11 unixODBC-devel-2.2.11 unixODBC-devel-2.2.11 pdksh-5.2.14
參照: Oracle Listener
最後
test
不成功也不要緊,先保存設置進行下一步,這邊把lsnrcetl
起起來就能夠了,先不要進入oracle
命令行,須要等下一步建立了數據庫再進行startup
等操做
問題1:使用
netmgr
命令進入頁面更改配置最後保存的時候報錯Save Network Configuration entry failed
解決:點擊detail
可知具體錯誤緣由,能夠看到報錯信息最後是permission denied
,這是由於第一次你是用的root
用戶登陸netmgr
,因此形成tnsnames.ora
權限是root
用戶權限,因此你更改配置信息失敗,因此chown oracle:oinstall tnsnames.ora
搞定
問題2:
lsnrctl start
失敗報錯permission denied
解決:問題和上面同樣,只不過此次是listener.ora
的權限不對,因此向上面的作法再作一次,這一點能夠看出拍錯很重要,要多看detail
信息
dbca
進入建立嚮導,填寫正確的sid
,sid
不用填ORCL
,就用同步生成的就好,不一樣的數據庫能夠擁有不一樣的sid
,按照默認的配置不斷地next
就好
安裝後的默認數據庫爲orcl,如需建立新的數據庫
使用輔助工具(Linux UI mode)
root@oracledb: xhost local:oracledb
root@oracledb: su - oracle
oracle@oracledb: dbca
使用em管理WebUI
建立表空間
使用sqlplus
su - oracle (Windows下此步驟省略)
sqlplus / as sysdba
create tablespace test_space datafile '/opt/oracle/oradata/test_data.dbf' size 500M
使用em管理WebUI
建立用戶
使用sqlplus
su - oracle (Windows下此步驟省略)
sqlplus / as sysdba
create user test identified by test default tablespace test_space;
使用em管理WebUI
受權用戶權限
使用sqlplus
su - oracle (Windows下此步驟省略)
sqlplus / as sysdba
grant connect, resource to test;
使用em管理WebUI
受權DBA權限(RMAN須要dba權限來運行)
使用sqlplus
su - oracle (Windows下此步驟省略)
sqlplus / as sysdba
grant sysdba to test;
使用em管理WebUI
切換用戶
root@oracledb: su - oracle
啓動監聽
lsnrctl start
啓動實例
su - oracle (Windows下此步驟省略)
sqlplus /nolog
conn /as sysdba
startup
關閉實例
su - oracle (Windows下此步驟省略)
sqlplus /nolog
conn /as sysdba
shutdown immediate
exit
關閉監聽
lsnrctl stop
啓動歸檔日誌模式
sqlplus /as sysdba
shutdown immediate
startup mount
alter database archivelog
alter database open
關閉歸檔日誌模式
sqlplus /as sysdba
shutdown immediate
startup mount
alter database noarchivelog
alter database open
做者: Tony
日期: 2017/06/26