必要的硬件信息檢查:
檢查內容 最小值 檢查命令參考 物理內存 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、機器負載過大 |
|