分享java帶來的快樂

          我喜歡java新東西

          幾個常見的LINUX下的ORACLE錯誤解決方法

          幾個常見的LINUX下的ORACLE錯誤解決方法
          作者: hew??發布日期: 2006-4-03 ?? 查看數: 269?? 出自: http://www.linuxsky.net
          必要的硬件信息檢查:

          檢查內容 最小值 檢查命令參考
          物理內存 512M # grep MemTotal /proc/meminfo
          交換空間 max{1.0 GB,2倍內存} # grep SwapTotal /proc/meminfo
          /tmp 空間 400 MB # df -k /tmp
          軟件所需空間 2.5 GB # df -k
          數據庫文件 1.2 GB # df -k


          前提:tds7.1(kernel: 2.4.21-16)操作系統選擇[完全安裝]


          一、建用戶組、用戶腳本creuser.sh

          # For create the oracle user

          #!/bin/sh

          groupadd -g 600 dba
          groupadd -g 601 oinstall
          useradd -u 600 -g dba -G oinstall oracle -d /opt/oracle -p oracle

          二、設置環境變量.bash_profile腳本如下(該腳本cp到$ORACLE_BASE目錄下,并更改文件里的SID。執行以下命令:
          # chown –R oracle.dba /opt/oracle/ ):

          # .bash_profile

          # Use to set orale profile
          # /opt/oracle/.bash_profile

          # Get the aliases and functions
          if [ -f ~/.bashrc ]; then
          SOURCE ~/.bashrc
          fi

          # User specific environment and startup programs
          PATH=$PATH:$HOME/bin

          export PATH
          unset USERNAME

          export ORACLE_BASE=/opt/oracle
          export ORACLE_SID=ORA10G #此參數應根據節點修改
          export ORACLE_HOME=$ORACLE_BASE/product/ora10g
          export TNS_ADMIN=$ORACLE_HOME/network/admin
          export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
          export PATH=$PATH:$ORACLE_HOME/bin:/sbin

          export LANG=en_US


          export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
          export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

          export THREADS_FLAG=native

          umask 022

          三、編輯/etc/sysctl.conf,在該文件末尾加入如下內容:
          kernel.shmall = 2097152
          kernel.shmmax = 2147483648
          kernel.shmmni = 4096
          kernel.sem = 250 32000 100 128
          fs.file-max = 65536
          net.ipv4.ip_local_port_range = 1024 65000
          編輯完之后,保存,執行 # /sbin/sysctl -p 命令操作來使我們所做的變更生效。
          注意:核心參數配置可能需要根據實際環境進行適當的變動.


          四、Trouble-Shooting

          1、運行runInstaller,錯誤提示如下:
          Checking requirements...
          Checking operating system version: must be redhat-2.1,redhat-3,SuSE-9,SuSE-8,UnitedLinux-1.0
          Failed<<<<
          解決方法:
          方法一:
          在/etc下創建UnitedLinux-release文件
          #cat > /etc/UnitedLinux-release << EOF
          >UnitedLinux 1.0 (i586)
          >VERSION=1.0
          >EOF
          然后就可以正常啟動安裝程序。注意不要使用vi編輯該文件,否則可能會引起ORA-12547: TNS: lost contact的錯誤。

          方法二:
          運行runInstaller -ignoreSysPrereqs,這樣會跳過檢查

          方法三:
          修改Oracle 的/.../disk1/install/linux/oraparam.ini這個參數文件


          2、安裝界面或者netca界面、dbca界面顯示很多"口口"樣子的亂碼

          解決辦法:查看locale輸出
          # locale
          LANG=zh_CN.GB18030
          LC_CTYPE=zh_CN.GB18030
          LC_NUMERIC="zh_CN.GB18030"
          LC_TIME="zh_CN.GB18030"
          LC_COLLATE="zh_CN.GB18030"
          LC_MONETARY="zh_CN.GB18030"
          LC_MESSAGES="zh_CN.GB18030"
          LC_PAPER="zh_CN.GB18030"
          LC_NAME="zh_CN.GB18030"
          LC_ADDRESS="zh_CN.GB18030"
          LC_TELEPHONE="zh_CN.GB18030"
          LC_MEASUREMENT="zh_CN.GB18030"
          LC_IDENTIFICATION="zh_CN.GB18030"
          LC_ALL=
          執行#export LANG=en_US 然后重新調用安裝程序.


          3、Oracle10g自動檢查操作系統是否符合安裝的條件。當按照上面的腳本對系統進行配置后,會有警告提示。[Retry]會看到如下提示:

          Checking for openmotif-2.1.30-11; found Not found. Failed <<<<
          Check complete. The overall result of this check is: Failed <<<<
          Problem: Some recommended packages are missing (see above)

          下載并安裝openmotif-2.1.30-11軟件包后,通過驗證。

          備注:有oracle文檔說明:對于在RHELAS3上安裝oracle10g,需要openmotif-2.2.2-16或更高版本;
          但下載openmotif-2.2.2-16.src.rpm,在機器上編譯安裝,oracle自動檢查仍然有警告提示。


          4、安裝程序在進行到74%的時,按照提示用root身份運行$ORACLE_HOME/root.sh,出現以下錯誤:

          ./root.sh: line 227: /var/opt/oracle/srvConfig.loc: 沒有那個文件或目錄
          ./root.sh: line 228: /var/opt/oracle/srvConfig.loc: 沒有那個文件或目錄
          /bin/chown: 無法取得 ‘/var/opt/oracle/srvConfig.loc’的屬性:沒有那個文件或目錄
          /bin/chgrp: 無法取得 ‘/var/opt/oracle/srvConfig.loc’的屬性:沒有那個文件或目錄
          /bin/chmod: 無法取得 ‘/var/opt/oracle/srvConfig.loc’的屬性:沒有那個文件或目錄
          Successfully accumulated necessary OCR keys.
          Creating OCR keys for user 'root', privgrp 'root'..
          OCR create keys failed, OCR error 26
          Failed to initialize Oracle Cluster Registry for cluster

          解決方法:
          # mkdir /var/opt/oracle
          # chown -R oracle.dba /var/opt/oracle
          # ./root.sh

          5、 數據庫啟動:
          $sqlplus /nolog
          SQL>connect / as sysdba
          SQL>startup

          ORA-00371: not enougsh shared pool memory, should be atleast 52132659 bytes.

          解決方法:
          這個錯誤并非是內核參數設置的問題,也和系統的物理內存大小無關。編輯$ORACLE_HOME/dbs/init$GID.ora文件:
          shared_pool_size = 52132659


          6、 數據庫啟動:
          $sqlplus /nolog
          SQL>connect / as sysdba
          SQL>startup

          ora-01102: cannot mount database in EXCLUSIVE mode

          解決方法:
          完全關閉數據庫,更改$ORACLE_HOME/dbs/init.ora文件里的db_name為建庫時定義的“全局數據庫名”,然后再重新啟動數據庫

          7、 數據庫啟動:
          $sqlplus /nolog
          SQL>connect / as sysdba
          SQL>startup

          ora-00205:error in identifying conrolfile, check alert log for more info

          解決方法:
          SQL>show parameter control_files
          SQL>CREATE CONTROLFILE
          將$ORACLE_BASE/admin/$GID/pfile/init$SID.ora***************拷貝到$ORACLE_HOME/dbs下,命名為init$SID.ora,即可解決。

          8、數據庫啟動:
          $sqlplus /nolog
          SQL>connect / as sysdba
          SQL>startup

          ORA-01990:error opening password file '$ORACLE_NAME/dbs/orapw'
          ORA-27037:unable to obtain file status
          Linux Error:2: No such file or directory
          Additional information: 3

          解決方法:
          將$ORACLE_HOME/dbs下的orapw$db_name文件拷貝生成一個orapw文件。


          8、建庫的過程中或者連接數據庫的時候提示:
          ORA-12547: TNS: lost contact
          引起該錯誤的環境比較復雜,原因可能是:
          1、用vi編輯的/etc/UnitedLinux-release文件
          2、內核參數設置不正確
          3、察看一下listener是否正常啟動: lsnrct1 status
          4、機器負載過大

          posted on 2006-06-03 00:09 強強 閱讀(736) 評論(0)  編輯  收藏 所屬分類: Oracle數據庫

          主站蜘蛛池模板: 桓仁| 海原县| 洱源县| 内江市| 中超| 抚宁县| 高青县| 金溪县| 夏津县| 延寿县| 新巴尔虎左旗| 当阳市| 和林格尔县| 定襄县| 台江县| 镇江市| 天津市| 卢氏县| 化德县| 盐源县| 鄂温| 沂水县| 华坪县| 顺平县| 瑞昌市| 乐昌市| 类乌齐县| 黄浦区| 南陵县| 苍溪县| 紫金县| 日土县| 开远市| 喜德县| 丹棱县| 长乐市| 肥东县| 山西省| 盐津县| 同江市| 固原市|