ORACLE 10g FOR LINUX在FEDORA CORE 6下的安裝要點(修訂)

noter發表於2007-06-07
一、系統資源需求
至少1024 MB實體記憶體
1024-2048 需1.5倍的SWAP空間
2048-8192 需1倍的SWAP空間
8192- 需0.75倍的SWAP空間
至少400 MB /tmp 臨時目錄空間
oracle軟體需要1.5 GB 到 3.5 GB 磁碟空間
預設資料庫需要1.2 GB
二、需下載軟體包:
Oracle Database 10g Release 2 (10.2.0.1) Software
(經測試 10.1.0.3版本亦可照此安裝)
openmotif21-2.1.30-14.i386.rpm
(10.1.0.3版本檢測openmotif21-2.1.30-11.i386.rpm,但安裝14 rpm包並忽略此警告亦可)
三、修改HOSTS檔案
HOSTS檔案位於/etc/目錄,書寫格式如下:
<IP>       <機器全名(機器名.域名)>         <機器名(縮寫)>
127.0.0.1    localhost.localdomain              localhost
10.122.53.200    linux-server                  linux-server
在ORACLE監聽埠中填入 linux-server(機器全名)。
經初步測試,好像填入IP或localhost均不能訪問,因時間關係未做嚴格測試,感興趣的可自行測試。
四、設定核心引數
編輯/etc/sysctl.conf檔案 ,在最後加入oracle 10g 所需核心引數:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
參見ORACLE 文件:
執行/sbin/sysctl –p 命令使上述設定生效
五、為 oracle 使用者設定 Shell 限制
編輯/etc/security/limits.conf檔案 ,在最後加入
*     soft nproc 2047
*     hard nproc 16384
*     soft nofile 1024
*     hard nofile 65536
ORACLE 文件中 不用*號,而直接用下面將建立的linux下ORACLE管理帳號:oracle .經初步測試兩種方法均可。
六、編輯安全選項
編輯/etc/pam.d/login檔案,在最後加入
session required /lib/security/pam_limits.so
編輯/etc/selinux/config,將SELINUX設定為SELINUX=disabled,禁用SELINUX
防火牆設定我設定為禁止,時間關係未進一步測試,有興趣的可自行測試。
七、檢測和安裝RPM
# Fedora Core 6 光碟檔案
rpm -Uvh setarch-*
rpm -Uvh --force tcl-*
rpm -Uvh --force libXau-devel-* libXp-*
rpm -Uvh compat-db-*
rpm -Uvh compat-libstdc++-33*
rpm -Uvh compat-libf2c-34-*
rpm -Uvh compat-gcc-34-*
rpm -Uvh libaio-*
rpm -Uvh compat-gcc-34-c++-*
rpm -Uvh compat-libstdc++-296*
rpm -Uvh compat-libgcc-296*
# 從上面下載檔案中
rpm -Uvh openmotif21-2.1.30-14.i386.rpm
八、新增使用者組和使用者
groupadd oinstall
groupadd dba
groupadd oper
 
useradd -g oinstall -G dba oracle
passwd oracle
九、建立Oracle安裝資料夾
mkdir -p /u01/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /u01
chmod –R 775 /u01
十、修改LINUX release檔案
編輯/etc/redhat-release檔案並將(Fedora Core release 6 (Zod))用下面內容替換:
redhat-4
(10.1.0.3 改為 redhat-3)
由於ORACLE 10G僅認證支援REDHAT LINUX企業版本和NOVEL SUSE LINUX ,其他版本安裝時將存在不少問題,為規避這一問題而做此修改。
十一、配置環境變數
oracle使用者登陸並將下面內容新增到.bash_profile檔案(oracle使用者根目錄~)中:
 
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
 
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=MyTino; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
export LC_ALL=en.US    
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
由於10G對中文支援存在問題,使用export LC_ALL=en.US 將語言設定為英語。
使用下述命令使環境變數生效:
source .bash_profile
十二、修改Oracle安裝檔案及其所在目錄的所有於許可權
     將安裝裝檔案copy到個人設定的安裝資料夾,然後在終端裡面修改資料夾的歸屬及許可權,具體辦法如下:
chmod 777 /usr/oracle-install
chown -R oracle.oinstall /usr/oracle-install
十三、X windows設定
root使用者登陸,並執行下列命令:
xhost +
oracle使用者登陸,並執行下列命令:
DISPLAY=127.0.0.1:0.0;export DISPLAY
十四、ORACLE DB 和CLIENT 的安裝
一般的安裝順序是 DB –-> CLIENT
DB安裝路徑下執行下列命令:
./runInstaller –IgnoreSysPreReqs
具體步驟可參照ORACLE網站:
CLIENT安裝路徑下執行:
./runInstaller –IgnoreSysPreReqs
注:安裝時建議選擇advance install模式,FEDORA CORE 未經ORACLE認證,典型配置可能會存在問題。資料庫home設定為.bash_profile的設定。資料庫全域性名稱按要求應設定為ORACLE_SID.機器域名資料庫字符集和編碼方式請按需要進行手工設定。
安裝過程中會提示以root使用者登陸執行一些指令碼,執行後再按“ok”按鈕繼續安裝。
十五:安裝後配置
以上是基本的安裝要點。安裝成功後資料庫主要配置方法如下:
1、登陸並啟動資料庫的操作。
$ lsnrctl start
$ sqlplus /nolog
SQL*Plus: Release 9.2.0.0 - Production on Sat Mar 12 22:58:53 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect / as sysdba
Connected.
SQL> shutdown immediate 關閉資料庫(OR "dbshut" command)
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup; 啟動資料庫
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
2、啟動企業管理器
$ emctl start dbconsole
啟動成功後可從提示的網址中進行訪問
3、 dbstart指令碼修改
資料庫建立完成後,編輯/etc/oratab ,檔案設定每個例項的重啟標誌為“Y”:
vi /etc/oratab
 
MyTino:/u01/app/oracle/product/10.2.0/db_1:Y         注:(NàY
 
然後執行dbstart啟動資料庫
如資料庫無法啟動,報告Can’t find init file …的錯誤,需要複製一個初始化檔案:
cp /u01/app/oracle/admin/MyTino/pfile/init.ora.* /u01/app/oracle/product/10.2.0/db_1/dbs/initge01.ora (不改名直接拷貝亦可)
重新執行dbstart即可。
修改/ u01/app/oracle/product/10.2.0/db_1/bin/dbstart,將其中關於監聽器部分改為:
ORACLE_HOME_LISTNER=/u01/app/oracle/oracle/product/10.2.0/db_1/
編輯/etc/rc.local 加入下面一行,在起動LINUX時自動起動ORACLE:
/opt/oracel/product/10g/bin/dbstart
 
4. 編寫啟動指令碼(OPTION)
為了方便管理,可以寫一個啟動指令碼ora10g:
root身份進入,編寫以下指令碼:
#!/bin/bash
#
# chkconfig: 2345 91 19
# description: starts the oracle listener and instance
status() {
pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`
if [ "X$pid" = "X" ]
then
echo "oracle10g is not running."
exit 1
else
echo "oracle10g is running."
exit 0
fi
}
case "$1" in
start)
#startup the listener and instance
echo -n "oracle begin to startup: "
su - oracle -c "lsnrctl start"
su - oracle -c dbstart
echo "oracle10g started"
;;
stop)
# stop listener, apache and database
echo -n "oracle begin to shutdown:"
su - oracle -c "lsnrctl stop"
su - oracle -c dbshut
echo "oracle10g shutdowned"
;;
reload|restart)
$0 stop
$0 start
;;
'status')
status
;;
*)
echo "Usage: ora10g [start|stop|reload|restart]"
exit 1
esac
exit 0
存為ora10g後,然後
chmod a+x ora10g
ln -s /opt/oracle/product/10.2.0/bin/ora10g /etc/rc.d/init.d/
即可在以後以root身份執行/etc/rc.d/init.d/ora10g start |stop 來管oracle的啟動和停止了。
如果要將這個指令碼加入到系統中使其可開機執行,那麼要執行以下命令:
chkconfig --level 345 ora10g on      
 
(注:好像我做這步的時候報錯,系統不允許做此修改,我採用的是下面的方法)
 
或者可在/etc/rc.d/rc.local中加入如下:
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart" 
如想自動啟動 ORACLE 企業管理器加入如下語句:
su - oracle -c "emctl start dbconsole"
 
5, 關於資料庫刪除重新安裝的問題:
ORACLE安裝目錄刪除及/etc/ora*.*刪除就行了
#rm –f /etc/ora*.*
 
6.修改Oracle10g資料庫字符集
SQL> connect sys/oracle as sysdba
SQL> startup mount
SQL> alter session set sql_trace=true;
Session altered.
SQL> alter system enable restricted session;
System altered.
SQL> alter system set job_queue_processes=0;
System altered.
SQL> alter system set aq_tm_processes=0;
System altered.
SQL> alter database open;
Database altered.
SQL> set linesize 120;
SQL> alter database character set zhs16gbk;
alter database character set zhs16gbk
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
SQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳過超集的檢查,ALTER DATABASE character set INTERNAL_USE
Database altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
SQL> select name,value$ from props$ where name like '%NLS%';
NLS_CHARACTERSET
ZHS16GBK
 
7. oracle database備份
(1)vi bachupDb.sh
#!/bin/sh
#oracle使用者下
#crontab -e 增加 "35 4 * * * /home/oracle/dbbackup/backupDb.sh",儲存後自動安裝
#或echo "35 4 * * * /home/oracle/dbbackup/backupDb.sh" > backupDb.cron
#crontab backupDb.cron
#############
#@tip 修改為本機資料庫home目錄
export ORACLE_HOME=/opt/oracle/product/10g
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
# 注意字符集必須和資料庫的字符集一致,以避免字符集轉化失敗
export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
#@tip 125修改為要備份的oracle的ip地址的最後一段
dmpfile="`echo ~/`dbbackup/gedb_`date +%w`.dmp"
logfile="`echo ~/`dbbackup/gedb_`date +%w`.log"
 
if [ -w $dmpfile ]
then
echo "rm -f $dmpfile"
rm -f "$dmpfile"
fi
 
#@tip ip地址修改為要備份的oracle的主機地址
exp USERID=gedb/gedb@10.248.1.5/ge01 file=$dmpfile log=$logfile owner=gedb grants=y
(2)copy bachupDb.sh 到slave oracle srever 相應目錄,
chown oracle.oinstall bachupDb.sh
chmod 744 bachupDb.sh
vi bachupDb.sh 以符合安裝情況
(3)以oracle user role
crontab -e
35 4 * * * /home/oracle/dbbackup/backupDb.sh
 
8. restore oracle backup
su - oracle
imp USERID=gedb/gedb file=gedb_6.dmp log=implogfile commit=y grants=y full=y
 
 
注: 5 6 7 8 方法未測試
 
 
安裝中可能存在的問題:
1、安裝成功但無法開啟EM頁面:
錯誤:資料庫無法裝載 或 網路不能連線到資料庫
一般可能的原因是ORACLE 的TNS監聽設定不正確,該設定引數位於 oracle安裝目錄下的network目錄中。需修改的配置檔案有兩個:
listener.ora
Tnsnames.ora
請檢查該設定是否與HOSTS中的設定相匹配。
2、IE遠端訪問EM時中文顯示錯的問題
由於 ORACLE EM(企業管理器)對中文支援存在問題,部分字元顯示出錯,建議,在IE瀏覽器的 “常規”——“語言”中新增英文 ,並上移到中文之前。
 
 



本文來源:http://blog.csdn.net/chenquan_75/archive/2007/05/30/1631175.aspx
本文地址:http://www.newbooks.com.cn/info/129029.html

【來源】

相關文章