Linux AS3 下安裝oracle的過程

BTxigua發表於2007-08-18

Install Oracle9i on RedHat Linux AS3

1、安裝Redhat Enterprise Linux Advanced Server3,安裝時swap分割槽設定為記憶體的二倍。不要採用 DHCP設定主機名和IP地址,而是“手工設定”。否則會在安裝oracle的時候出現如下錯誤: 引用:Thrown when the IP address of a host cannot be determined


2、安裝系統補丁包
su - root
rpm -ivh
compat-db-4.0.14-5.i386.rpm
compat-gcc-7.3-2.96.122.i386.rpm
compat-gcc-c++-7.3-2.96.122.i386.rpm
compat-libstdc++-7.3-2.96.122.i386.rpm
compat-libstdc++-devel-7.3-2.96.122.i386.rpm
openmotif21-2.1.30-8.i386.rpm
setarch-1.3-1.i386.rpm
tcl-8.3.5-92.i386.rpm
一般在第三張安裝盤上能找到這些rpm包。網上下載地址:http://mirror.centos.org/

安裝完後,將gcc、g++更換為2.96的版本.,方法如下:
引用:#su - root
mv /usr/bin/gcc /usr/bin/gcc323
ln -s /usr/bin/gcc296 /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++323 # if g++ doesn't exist, then gcc-c++ was not installed
ln -s /usr/bin/g++296 /usr/bin/g++



3、設定核心引數:
用grep MemTotal /proc/meminfo檢視記憶體總量
出現 MemTotal XXXXXKB,其中的XXXXX就是記憶體總量。
修改兩個檔案,如下:
引用:
#vi /etc/sysctl.conf
加入:
#最大共享記憶體段尺寸(位元組)
kernel.shmmax = xxxxx*1024*2(為記憶體的2倍,切換到位元組。要是超過這個值,在執行dbca時會出現Ora

-27123:Unable to attach to shared memeroy segment)
#最小共享記憶體段尺寸(位元組)
kernel.shmmni=4096

kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
#vi /etc/security/limits.conf

SHMSEG 每程式最大共享記憶體段數量
SHMMNI 系統範圍最大共享記憶體段數量
SEMMNI 訊號燈識別符號的最小數量
SEMMNS 系統範圍的最大訊號燈數量
SEMMSL 每套訊號燈最小訊號燈數量
SEMMAP 訊號燈對映裡的記錄數量
SEMVMX 訊號燈的最大值
加入:
oracle hard nofile 65536
oracle soft nofile 65536
oracle hard nproc 16384
oracle soft nproc 16384



4、建立使用者、設定環境變數
建立使用者的命令是以root使用者執行的。
引用:#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle
useradd -g oinstall -G dba oracle2

設定環境變數:
以oracle使用者登入,
引用:vi $HOME/.bash_profile
插入下面的內容
# Set the LD_ASSUME_KERNEL environment variable only for Red Hat 9 and
# for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) !!
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
export LD_ASSUME_KERNEL=2.4.1

# Oracle Environment
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in

$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH

# Set shell search path*
**port PATH=$PATH:$ORACLE_HOME/bin

然後登出重新登入,用set|more檢視環境變數是否生效。因為我把Oracle安裝在了oracle使用者主目錄下,

所以我的ORACLE_BASE值為/home/oracle,當然你也可以安裝到指定的目錄,如下:
引用:#su - root
#mkdir /opt/oracle
#mkdir /opt/oracle/product
#mkdir /opt/oracle/product/9.2.0
#chown -R oracle.oinstall /opt/oracle

#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chmod 755 /var/opt/oracle

這時ORACLE_BASE的值就是/opt/oracle。

5、開始安裝
從http://www.oracle.com下載三個安裝檔案,
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
用zcat ship_9204_linux_disk1.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk2.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk3.cpio.gz|cpio -idmv
生成三個資料夾Disk1,Disk2,Disk3。

進入Disk1目錄執行runInstaller之前,注意三點:
a、安裝需要以oracle身份登陸xwindow,若以root使用者登入,直接su - oracle 執行./runinstaller,則

將無法安裝,Xlib: connection to ":0.0" refused by server
這種情況下可以在root下執行xhost +
#xhost +
#su - oracle
$./runinstaller &
b、export LANG=en_us(否則安裝介面出來就會出現“□”,因為Oracle9i不支援中文介面。)
[root@localhost]# xhost +
access control disabled, clients can connect from any host
[root@localhost]# su - oracle
[oracle@localhost]$ export LANG=en_us
[oracle@localhost]$ ./runInstaller
c、安裝p3006854_9204_LINUX.zip補丁,否則會出現如下錯誤:
引用:Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time

reference

從http://metalink.oracle.com下載p3006854_9204_LINUX.zip補丁。安裝此補丁的方法:引用:
su - root
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt

# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
#
注意:如果執行 rhel3_pre_install.sh出現下面的錯誤
rhel3_pre_install.sh: line 36: gcc: command not found
是因為你忘了安裝gcc,同樣要是出現下面的錯誤:
# ls
ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file:

No such file or directory
# rm /etc/ld.so.preload
rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file:

No such file or directory
#
請不要退出bash,用下面的方法來修復(我開始遇到,後來沒有遇到了,可能是因為我把gcc降級到了296

吧)
# echo "" >; /etc/ld.so.preload
rm /etc/ld.so.preload
And start over again.

現在執行./runInstaller &(必須進入到Disk1目錄,或者從光碟執行,從光碟安裝千萬不要進

入/mnt/cdrom後執行runInstaller,而是這樣執行./mnt/cdrom/runInstaller,否則放第二張安裝盤的時

候會很麻煩)

安裝過程:
--歡迎介面。顯示了Oracle安裝的原始檔所在目錄,還有要安裝到的產品目錄。點“Next”;
--接著出現的下一個介面是Inventory路徑,點“Next”;
--現在要求使用者輸入UNIX組名,我們用Oracle使用者所在的組“oinstall”,然後點“Next”
如果你是第一次安裝Oracle產品,則要你執行一個sh檔案,檔案是/tmp/orainstRoot.sh,
我們開啟一個shell視窗,切換到root使用者,如下:
引用:su root
sh /tmp/orainstRoot.sh
執行完畢我們返回Oracle安裝介面,點“Continue”;
--選擇檔案存放的目錄,我們選擇預設值。然後“Next”;
--安裝的產品是“Oracle9i Database 9.2.0.4.0”,點“Next”;
--選擇安裝型別是“通用”,預設選項。點“Next”;
--輸入全域性資料庫名,然後“Next”;
--資料檔案的存放位置,我採用的是預設位置,點“Next”;
--出現安裝元件的選擇結果,這時點“Install”,開始安裝,複製檔案;
--當安裝並link完後,出現配置工具介面,agent服務不能配置成功,忽略不用管,在下面修復。
--At the end of the installation, exit runInstaller.

若在安裝型別時,選擇custom,可參考如下選擇:
- Installation Types: Select Custom since we only want to install the software for now
- Available Products: Click Next or add some more components.
- Components Locations: Accept default values and click Next
- Privileged Operating System Groups:
I used the default values: OSDBA Group = dba, OSOPER Group = dba
- Oracle Managent Server Repository:
I used the default choice
- Create database: Select NO since we first have to patch Oracle before a database can

be created!
- Summary: Start the Install
- Configuration tools: Tools won't come up. Simply ignore it.
- At the end of the installation, exit runInstaller.



6、當安裝完成後,要求以”root”身份執行”root.sh”,以”root”身份開啟一終端視窗,執行如下:
[root@localhost 9.2.0]# ./root.sh
Running Oracle9 root.sh script...
...

7、返回 GUI window 介面點選 “OK” ,完成安裝。
8、系統會要求配置sys和system 口令。
9、執行dbca建立或者修改資料庫,建議在dbca最後一步選擇" Generate Database Creation Scripts "

而去掉"Create Database"。dbca建立的指令碼檔案會放在 $HOME_DIR/admin/test/下,(test為資料庫名),之後以手工方式執行指令碼來建立生成資料庫。

10、執行netca配置監聽
11、執行 oemapp console檢視配置情況
12、安裝p3119415_9204_LINUX.zip補丁
此補丁也是從http://metalink.oracle.com下下載,同時要下載一個opatch軟體包:

p2617419_220_GENERIC.zip,它主要是用來解決agent服務不能啟動的錯誤。
過程如下:引用:su - oracle
$ cp p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
$ unzip p3119415_9204_LINUX.zip
$ cd 3119415
$ opatch apply

補丁修復完成,需要relinked一個.mk檔案。
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
現在在執行agentctl start,看是不是可以成功執行agent服務了啊,可以用stop、status來停止此服務或者檢查服務的狀態。


OK,所有配置基本完成,可以手工執行指令碼建庫:
生成的建庫指令碼在/$ORACLE_BASE/admin/$ORACLE_SID/scripts目錄下,可以檢視目錄下的.sh檔案,按照.sh檔案中的命令一步一步完成建庫。

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

相關文章