Oracle Linux And Oracle Database 11g R2 Intsallation

最近工做中用到了Oracle做爲Intel測試的數據庫,在裝Oracle LinuxOracle Database 11g R2折騰了好久,這篇文章就這兩點對你們分享一些我安裝過程當中遇到的問題和注意點,RAC暫時還未配置,稍後找時間補上 ~~~html

如今網上找一篇好的文章好難,每每要在一個話題或技術上找多方資源東拼西湊,互相借鑑才能達成目的,緣由就是不少細節部分描述不清或者忽略,這樣每每會給讀者帶來負效應,本文旨爲讀者呈現每一步的細節操做和異常處理,若有不足,請指正,謝謝!linux

友情提醒: 本文參照link較多,請細心而且耐心地進行每一步操做c++

Resource Link

Oracle Linux Installation

參考列表:bash

如下操做步驟基本是按上面兩條link走的,有一些地方不同或者是不必的我會在下面詳細講解,我裝的時候以link1爲主線,而後參照link2word文檔進行,沒有特殊標記的通常都是根據link1操做,你們也能夠這樣操做,能夠少遇一些坑,節省一些時間~~~dom

注意點:

  • Base server這一步很關鍵

    • 勾選Oracle Linux Server, Resilient StorageScalable Filesystem Support(參照link2

    • 勾選Customize Now,這一步依然很是關鍵,只有勾選了才能夠裝一些Oracle Linux須要的套件

    • 須要手動添加安裝的套件(系統默認勾選的不要刪掉,這邊的操做只添加勾選):

      • Base SystemCompatibility librariesLegacy UNIX compatibility

      • Servers: System administration tools

      • Desktops: DesktopDesktop PlatformFontsGeneral Purpose DesktopGraphical Administration ToolsInput MethodsX Window System

      • Development: Additional DevelopmentDevelopment Tools

      • Appilication: Internet Browser

  • 安裝應該是1390個包,裝好直接reboot

  • 這時候建立普通用戶的時候,千萬不要建立oracle用戶,不然以後會有不少麻煩

Oracle Linux Configuration(important and complicated)

下面講的主要是和兩個文檔不一樣的地方(依然以link1爲主線):

1. selinux須要dsiable

2. /etc/sysctl.conf參照link2kernel.shmmax = 536870912(這行參照link2

3. /etc/security/limits.conf

oracle soft nproc 16384
  oracle hard nproc 16384
  oracle soft nofile 4096
  oracle hard nofile 65536
  oracle soft stack 10240

4. 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文件

5. 路徑、權限與環境變量配置

這一步參照: 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

6. 安裝FTP並上傳zip文件(這一步有需求就執行,我是經過windows傳輸到linux上)

安裝包在頁面最上方Resource Link的第二個link,有兩個zip包,都是須要的,這就是Oracle Database 11g R2的包,下面就開始安裝數據庫了,離成功也就不遠了

Oracle Database 11g R2 Installation

參照: Oracle Database 11g Release 2 Installation on RHEL/CentOS 6.x/5.x/4.x,以這個link的步驟爲主,link1link2爲輔

1. 若是出現next button閃退的現象,進入preference裏面調節屏幕分辨率便可

2. 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 Configuration

參照: 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進入建立嚮導,填寫正確的sidsid不用填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

相關文章
相關標籤/搜索