Redhat 5 下 Oracle10g 安裝

hunterjoy發表於2012-10-01

1.安裝JDK

(1) 下載後的BIN檔案可以直接執行
# chmod 755 jdk-1.6.0_23-linux-i586.rpm.bin
# ./ jdk-1.6.0_23-linux-i586.rpm.bin
此步完成後,會生成jdk-1.6.0_23-linux-i586.rpm的檔案
預設安裝到了/usr/java/jdk1.6.0_23
(2) /etc/profile 設定環境變數
增加如下內容:

JAVA_HOME=/usr/java/jdk1.6.0_23
JRE_HOME=/usr/java/jdk1.6.0_23/jre
PATH=$PATH:$JAVA_HOME/bin:JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH


按Esc,然後:wq儲存退出
使環境變數生效 source /etc/profile
檢視: echo $JAVA_HOME (會顯示JDK所在目錄)

***********************************************************************************************************

2.檢查安裝包
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
glibc-devel-2.5-12.i386.rpm
glibc-headers-2.5-12.i386.rpm
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128 compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
libXpm-3.5.5-3.i386.rpm libXp
openmotif21-2.1.30-8 setarch-1.3-1
libgomp-4.1.1-52.el5.i386.rpm
查詢所需安裝包是否完整
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libXp
由於缺失的包之間有嚴格的依賴關係,所以必須按照如下順序安裝缺失的包
rpm -Uvh compat-db-4*
rpm -Uvh libaio-0*
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh glibc-headers-2.5-12.i386.rpm
rpm -Uvh glibc-devel-2.5-12.i386.rpm
rpm -Uvh compat-gcc-34-3*
rpm -Uvh compat-gcc-34-c++-3*
rpm -Uvh libXp-1*
rpm -Uvh openmotif-2*
rpm -Uvh gcc-4*
rpm -Uvh glibc-2.5-12.i686.rpm
rpm -Uvh libgomp-4.1.1-52.el5.i386.rpm
rpm -Uvh gcc-4.1.1-52.el5.i386.rpm
安裝完成後仍然提示部分包沒有安裝,不過不影響使用
package compat-gcc is not installed
package compat-gcc-c++ is not installed
package compat-libstdc++ is not installed
package compat-libstdc++-devel is not installed
另一種說法:
查詢所需安裝包是否完整
rpm -q gcc make binutils openmotif setarch libXp
而對於需要安裝的包,按如下關鍵字搜尋和安裝即可 compat -> libXp -> openmotif 全部安裝完畢即可(我是這樣做的)

***********************************************************************************************************

3.增加Oracle安裝和使用的使用者
(1) 新增組和使用者
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
passwd oracle


(2) 建立Oracle的安裝目錄,並把許可權付給oracle使用者,其實建立使用者後就已經有該檔案了
mkdir -p /home/oracle/
chown -R oracle:oinstall /home/oracle
chmod -R 775 /home/oracle


***********************************************************************************************************

4.修改配置檔案
(1) /etc/sysctl.conf 行末新增以下內容,已有的修改
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphors: 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

執行下面的命令使得核心引數生效
/sbin/sysctl -p

(2) /etc/security/limits.conf 行末新增以下內容
#use for oracle
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536


(3) /etc/pam.d/login 行末新增以下內容
session required pam_limits.so

(4) /etc/selinux/config
更改 SELINUX=disabled 關閉防火牆,必須的

(5) /etc/redhat-release Linux版本資訊,5不支援Oracle,安裝後可以改回去
Red Hat Enterprise Linux AS release 3 (Taroon)
或Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

(6) gedit /etc/profile 就是增加JDK配置的檔案,在增加JDK配置後緊接著增加如下內容
if [ $USER = "oracle" ];then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi


(6) bash_profile 在建立使用者後在使用者的目錄下有一個.bash_profile(使用Oracle使用者)
並在檔案中增加如下內容
(ORACLE_BASE是最重要的,他代表Oracle的安裝路徑)
(在安裝時就可以建立資料庫,如果安裝完畢重啟,則再啟動監聽時無法啟動,則要注意ORACLE_HOME在資料庫安裝後要根據實際路徑進行修改)

ORACLE_BASE=/home/oracle/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=CUI
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH


***********************************************************************************************************

5.解壓(使用Oracle使用者)
unzip 10201_database_linux32.zip -d /tmp/oracle
改許可權
chown oracle /tmp/oracle
chmod -R 755 /tmp/oracle

安裝
到根目錄下:./runInstaller
(如果安裝時不建立資料庫,可以在Oracle_HOME/bin 下執行 dbca 來建立和管理資料庫)

***********************************************************************************************************

6.配置Oracle在Linux下的命令
(1) 修改Rehhat版本資訊
/etc/redhat-release 將版本改為原來版本

(2) 啟動資料庫與監聽
/etc/oratab
SID名字:/Oracle/app/product/10.2.0/db_1:N為
oracle:/Oracle/app/product/10.2.0/db_1:Y

$Oracle_HOME/bin/dbstart
把其中的Oracle_HOME_LISTNER=什麼東西,註釋掉
加上 Oracle_HOME_LISTNER=$Oracle_HOME

修改/增加配置檔案,起名字叫oracle,新增下面的script
(如果.bash_profile檔案中配置過的話,就把export登出)
===== Script. ====
#!/bin/bash
#
# chkconfig: 35 95 1
# description: init script. to start/stop oracle database 10g, TNS listener, EMS

# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_TERM=xterm
export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH
export ORACLE_SID=oracle
export DISPLAY=localhost:0
export ORACLE_USER=oracle

# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"<lsnrctl start
sqlplus /nolog<connect / as sysdba
startup
EOS
emctl start dbconsole
EOO
touch /var/lock/subsys/$scriptname
;;
stop)
su - "$ORACLE_USER"<lsnrctl stop
sqlplus /nolog<connect / as sysdba
shutdown immediate
EOS
emctl stop dbconsole
EOO
rm -f /var/lock/subsys/scriptname
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac

===========end of script==============
授權
chown root:root /etc/rc.d/init.d/oracle
chmod 755 /etc/rc.d/init.d/oracle


(3) 啟動/關閉服務
service oracle start / service oracle stop
(有可能啟動會報syntax error: unexpected end of file錯)
(這是因為回車的問題,你用vi把它去掉。在windows裡,換行用的兩個符號,回車符\r換行符\n;在linux下只需一個符號\n就可以了)

***********************************************************************************************************

附(一):解除安裝(簡單,全是rm)
1)使用SQL*PLUS停止資料庫
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown [immediate]
SQL> exit

2)停止Listener
$ lsnrctl stop
3)停止HTTP服務
$ $ORACLE_HOME/Apache/Apache/bin/apachectl stop
4)用su或者重新登入到root
(1)執行 $ORACLE_HOME/bin/localconfig delete
(2)# rm -rf $ORACLE_BASE/*
(3)# rm -f /etc/oraInst.loc /etc/oratab
(4)# rm -rf /etc/oracle
(5)# rm -f /etc/inittab.cssd
(6)# rm -f /usr/local/bin/coraenv
(7)# rm -f /usr/local/bin/dbhome
(8)# rm -f /usr/local/bin/oraenv

(9)刪除oracle使用者和組
userdel –r oracle
groupdel oinstall
groupdel dba

(10)將啟動服務刪除
chkconfig --del dbora
附(二):正常模式啟動和關閉資料庫
9i 之後已經沒有 svrmgrl 了,所有的管理工作都透過 sqlplus 來完成
啟動資料庫步驟如下:
注:$ORACLE_HOME為oracle的安裝路徑
1,以oracle使用者登入
su oracle
2,啟動TNS監聽器
$ORACLE_HOME/bin/lsnrctl start
3,用sqlplus啟動資料庫
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> startup

出現如下顯示,表示Oracle已經成功啟動
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 778392 bytes
Variable Size 74456936 bytes
Database Buffers 130023424 bytes
Redo Buffers 262144 bytes
Database mounted.
Database opened.
4,用sqlplus停止資料庫
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> shutdown

注:shutdown可加關閉選項,從最溫和到最粗暴的行為選項為(shutdown、shutdown transactional、shutdown immediate、shutdown abort)
命令解釋如下
shutdown:關閉,等待每個使用者退出系統戓被取消後退出關閉資料庫
shutdown transactional:事務性關閉,等待每個使用者提交戓回退當前的事務,然後oracle取消對話,在所有使用者退出系統後執行關閉
shutdown immediate:直接關閉,取消所有使用者對話(促使回退),執行正常的關閉程式
shutdown abort:終止關閉,關閉資料庫時沒有自動檢查點戓日誌開關
出現如下顯示,表示oracle已經停止
Database closed
Database dismounted
ORACLE instance shut down

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/543979/viewspace-745521/,如需轉載,請註明出處,否則將追究法律責任。

相關文章