oracle817在solairs8下的安裝

一、安裝前的準備

1、由root執行的任務(用root用戶登錄)

1.1 設置系統變量

1) 用文本編輯器打開"/etc/system" 文件

# vi /etc/system

2)在 "/etc/system" 文件結尾插入如下幾行

 set shmsys:shminfo_shmmax=4294967295
 set shmsys:shminfo_shmmin=1
 set shmsys:shminfo_shmmni=512
 set shmsys:shminfo_shmseg=128

 set semsys:seminfo_semmap=64
 set semsys:seminfo_semmni=4096
 set semsys:seminfo_semmns=4096
 set semsys:seminfo_semmsl=4096
 set semsys:seminfo_semmnu=4096
 set semsys:seminfo_semume=64
 set semsys:seminfo_semopm=100


注:
    SHMMAX maximum size of a shared memory segment
   (共享內存段的最大字節數)
    SHMMIN minimum size of shared memory segment
   (共享內存段的最小尺寸)
    SHMMNI maximum number of shared memory identifiers in the system
   (系統中共享內存標識符的最大數目)
    SHMSEG maximum number of shared memory segments a user process can attach
   (每個用戶進程可分配的最大共享內存段數目)
    SEMMNI maximum number of semaphore identifiers in the system
   (系統中信號燈標識符的最大數目)
    SEMMSL maximum number of semaphores in a set
   (每個(信號燈)集合中的信號燈的最大數目)
    SEMMNS maximum number of semaphores in the system
   (系統中信號燈的最大數目)
    SEMOPM maximum number of operations per semop call
   (每個semop調用的信號燈的最大數目)
    SEMVMX semaphore maximum value
   (信號燈最大值)

    注意!
    上面提到的 SEMMSL 和 SEMMNS 的值僅適用於最初的安裝,安裝完成後應根據應用的實際情況進行調整,其中

    ★ SEMMSL 的值可以通過以下方式計算得到:
    所有Oracle實例的"init[SID].ora"文件中最大的PROCESSES值 + 10

    ★ SEMMNS 的值可以通過以下方式計算得到:
    系統中各個Oracle實例的"init[SID].ora"文件中PROCESSES值的總和(不包括最大的那個PROCESSES值)+ 最大的那個PROCESSES值 * 2 + 10 * Oracle實例的個數。

    注:[SID]即爲具體的數據庫實例名

    例如,一個有三個 Oracle實例的系統,在各自的"initsid.ora"文件中的PROCESSES參數設置爲下列值:
    ORACLE_SID=A, PROCESSES=100
    ORACLE_SID=B, PROCESSES=100
    ORACLE_SID=C, PROCESSES=200

    則 SEMMSL 值的計算方法如下:
    SEMMSL = [(c=200) + 10] = 210
    則 SEMMNS 值的計算方法如下:
    SEMMNS = [(A=100) + (B=100)] + [(C=200) * 2] + [(# of instances=3) * 10] = 630

    對於操作系統,設置的參數值過高會導致機器不能啓動,對參數的限制,請參閱Sun SPARC Solaris系統管理文檔。

3) 重啓系統,以使新的內核參數生效 
# sync;sync;reboot

4) 系統重啓後,可以通過sysdef命令檢查 "Maximum Shared Memory" 和 "Minimum Shared Memory" 的數值(在列表底部的"Shared Memory Area" 部分)
# sysdef


1.2 建立組、用戶及相關目錄

1) 創建 "dba" 和 "oinstall" 組,添加用戶名爲 "oracle" 的用戶,併爲其設置密碼
# groupadd dba
# groupadd oinstall (可選)
# useradd -g dba -G oinstall -d /export/home/oracle -m -s /bin/sh oracle
# passwd oracle

以上操作也可通過admintool管理工具來實現
# admintool

2) 創建相關目錄
# mkdir -p /u01/oracle/product/8.1.7
# chown -R oracle:dba /u01/oracle
# chmod -R 775 /u01/oracle
# mkdir /var/opt/oracle
# chown -R oracle:dba /var/opt/oracle

 

2、由 "oracle user" 執行的任務

1) 退出root登錄,用之前創建的oracle用戶登錄

2) 修改oracle用戶的 ".profile" 配置文件
   默認識沒有.profile這個文件的,但可通過oracle用戶下的local.profile這個模板文件來生成.profile這個文件

# mv local.profile .profile

#vi .profile

添加如下內容
DISPLAY=192.168.0.28:0.0
ORACLE_BASE=/u01/oracle
ORACLE_HOME=/u01/oracle/product/8.1.7
ORACLE_SID=oracle8
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/rdbms/jlib
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
NLS_LANG=american_america.ZHS16GBK
PATH=/usr/bin:/usr/ucb:/etc:/usr/local/bin:/usr/ccs/bin:/usr/openwin/bin
PATH=$ORACLE_HOME/bin:$PATH
export PATH
export DISPLAY ORACLE_HOME ORACLE_BASE ORACLE_SID ORA_NLS33 LD_LIBRARY_PATH NLS_LANG CLASSPATH
3) oracle用戶重新登錄,以使之前修改的 ".profile" 文件配置生效

4) 通過env命令檢查剛纔的配置是否生效
$ env

5) 進入oracle安裝文件所在目錄並開始進行安裝
(假設oracle817安裝文件存在於"/export/home/oracle/ora817/Disk1")

$ cd /export/home/oracle/ora817/Disk1
$ ./runInstaller

 注:1、下載的Oracle cpio文件的解開方法爲:cpio -idcmv < <filename.cpio> 。

     2、安裝過程中,當提示要運行 root.sh ($ORACLE_HOME/root.sh)腳本時,要手工打開一個新的console(控制檯)以root用戶身份執行。

     3、如安裝完成後初始化數據庫過程中遇到 ORA-03114: not connected to ORACLE 錯誤,則應適當加大 SEMMSL, SEMMNS 等參數的數值。

6) 安裝完後的簡單測試

默認已經是oracle用戶登錄,執行 lsnrctl start 啓動Oracle LISTENER

$ lsnrctl start

當監聽啓動成功後,將會看到如下類似信息:

LSNRCTL for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production on 23-JUN-2002 04:02:46
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Starting /u01/oracle/product/8.1.7/bin/tnslsnr: please wait...
TNSLSNR for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production
System parameter file is /u01/oracle/product/8.1.7/network/admin/listener.ora
Log messages written to /u01/oracle/product/8.1.7/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gokmen.selcuk.edu.tr)(PORT=1521)))
Listening on: 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gokmen.selcuk.edu.tr)(PORT=2481))
                                                     (PROTOCOL_STACK=(PRESENTATION=GIOP) 
(SESSION=RAW)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production
Start Date 23-JUN-2002 04:02:47
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /u01/oracle/product/8.1.7/network/admin/listener.ora
Listener Log File /u01/oracle/product/8.1.7/network/log/listener.log
Services Summary...
PLSExtProc has 1 service handler(s)
orcl has 1 service handler(s)
The command completed successfully

如果看到的是如下類似信息,說明監聽已經啓動:

LSNRCTL for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production on 24-JUN-2002 05:02:46
(c) Copyright 1998 Oracle Corporation. All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started

7)編寫數據庫啓動腳本

 由於它自帶的啓動腳本有問題,所以這裏我乾脆自己寫了一個簡單的腳本

啓動和關閉腳本

1)、啓動腳本(dbstart)

#! /bin/bash

su - oracle<EOF

.  /home/oracle/.bash_profile

lsnrctl start

svrmgrl<EOE

connect internal

startup

exit

EOE

exit

EOF

2)、關閉腳本(dbstop)

 #! /bin/bash

su - oracle<EOF

.  /home/oracle/.bash_profile

lsnrctl stop

svrmgrl<EOE

connect internal

shutdown immediate

exit

EOE

exit

EOF

然後賦可執行權限並拷貝到/etc/init.d下

Chmod +x dbstart

Chmod +x dbstop

在做連接

ln –s /etc/init.d/dbstart /etc/rc2.d/S99dbstart

ln –s /etc/init.d/dbstop /etc/rc0.d/K10dbstop

到此oracle就可以在solaris下正常運行了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章