ORACLE 10g FOR LINUX在FEDORA CORE 6下的安裝要點

 

ORACLE 10g FOR LINUX在FEDORA CORE 6下的安裝要點(修訂)
 
一、系統資源需求
至少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/[email protected]/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瀏覽器的 “常規”——“語言”中添加英文 ,並上移到中文之前。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章