SCO UNIX下安装ORACLE数据库

一. 调SCO系统参数   
  
进入 scoadmin/Hardware/Kernel Manager,选择Tune Parameter, 作如下修改   
  
15 SHMMAX 20   
  
16 SEMMNI 20971520   
  
之后relink,执行init 0   
  
二. 安装SCO 关于Oracle 补丁文件   
  
进入Software Manager,如列表内没有COFF Linker Supplement (Ver oss459A), 须先安装“SCO的Oracle 补丁”,否则安装的过程将出现难以想象的问题。   
  
SCO的Oracle 补丁盘插入软驱后执行:   
  
#doscp a:/*.* /tmp   
  
#cd tmp   
  
#mv oss459a.z oss459a.Z   
  
#uncompress oss459a.Z   
  
#cp oss459a /tmp/VOL.000.000   
  
回到Software Manager,   
  
选择菜单 Sofware - Install new ...   
  
选择:<*> From localhost   
  
Media Device选择 media images,   
  
Image Directory选择在/tmp中,   
  
将显示 COFF Linker Supplement (Ver oss459A)   
  
按[install]钮执行安装,   
  
安装完成后,Software Manager列表内将出现   
  
COFF Linker Supplement (Ver oss459A)。   
  
注:1) mv oss459a.z oss459a.Z Z 大小写改动方法   
  
    
  
三 创建dba组和 oracle用户 - oracle7   
  
指明Oracle用户的根目录(例如:/u/oracle7)   
  
指明用户属于dba组   
  
    
  
四 编辑oracle7 [Oracle用户]的.profile文件   
  
login:oracle7   
  
password:****   
  
$pwd   
  
/u/oracle7   
  
$vi .profile   
  
增加如下内容:   
  
ORACLE_BASE=/u/oracle7   
  
ORACLE_HOME=/u/oracle7/product/734   
  
ORACLE_SID=oracle7   
  
ORACLE_TERM=ansi   
  
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib   
  
ORACLE_NLS32=$ORACLE_HOME/ocommon/nls/admin/data   
  
ORACLE_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/opt/bin:/usr/lbin:.   
  
ULIMIT=2297152   
  
TERM=ansi   
  
TMPDIR=/u/tmp   
  
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/opt/bin:/usr/lbin:.   
  
export ORACLE_BASE ORACLE_HOME ORACLE_SID   
  
export ORACLE_TERM LD_LIBRARY_PATH   
  
export ORACLE_NLS32 ORACLE_PATH ULIMIT TERM TMPDIR PATH   
  
    
  
五. 安装准备   
  
# su - oracle7   
  
$ mkdir u0   
  
$ mkdir u1   
  
$ mkdir u2   
  
$ su root   
  
# mkdir cdrom   
  
# chmod 777 /cdrom   
  
# mkdir u   
  
# cd u   
  
# mkdir tmp   
  
# chmod 777 /u/tmp   
  
六.在/etc/services 文件中加入一行:listener 1521/tcp   
  
# cd /etc   
  
# vi services   
  
在文件中加入一行:listener 1521/tcp   
  
    
  
七 开始安装   
  
插入Oracle 7.3.4 Enterprise Edition光盘,开始安装   
  
# /etc/mount -f RCKRDG,lower /dev/cd0 /cdrom   
  
# exit   
  
$ su - oracle7   
  
$ cd /cdrom/orainst   
  
$ ./orainst   
  
选择:custom方式   
  
注:字符集WE8ISO8859P1   
  
    
  
八 当安装程序提问 是否已执行rootpre.sh时,选NO (还没有)退出安装程序。   
  
cd /cdrom/orainst   
  
./rootpre.sh   
  
./orainst   
  
    
  
九 安装选件   
  
Oracle On-Line Viewer   
  
Oracle Unix installer 4.0.1   
  
Oracle distributed Database   
  
Oracle Server(RDBMS) 7.3   
  
PL/SQL V2.3   
  
SQL*NET   
  
SQL*PLUS   
  
TCP/IP Protocal Adapter
  
    
  
十 执行root.sh   
  
$ su root   
  
# cd $ORACLE_HOME/orainst   
  
# ./root.sh   
  
安装完成   
  
请启动数据库,在本地运行SQL*Plus测试一下。   
  
十一 修改初始化文件   
  
cd $ORACLE_BASE/admin/oracle/pfile   
  
vi initoracle.ora   
  
Oracle的参数调整   
  
$cd $ORACLE_HOME/dbs   
  
$vi initoracle7.ora   
  
除了将processes的参数保持为“Small”,其他各项的参数均打开为“Large”,且该数据库的“Total System Global Area”的大小(启动数据库时显示)为服务器所带内存的1/2~2/3之间,如果上述参数调整后达不到这个大小,则要对参数db_block_buffers的大小进行修改(增大其大小)。   
  
另外还须将compatible的参数调整为:7.3.0.0 。   
  
每次参数调整后要重启数据库才回生效。   
  
$ svrmgrl   
  
SVRMGR>connect internal   
  
Connected.   
  
SVRMGR>startup   
  
ORACLE instance started.   
  
Total System Global Area 38791712 bytes   
  
Fixed Size 41880 bytes   
  
Variable Size 12371592 bytes   
  
Database Buffers 26214400 bytes   
  
Redo Buffers 163840 bytes   
  
Database mounted.   
  
Database opened.   
  
SVRMGR>shutdown immediate   
  
Database closed.   
  
Database dismounted.   
  
ORACLE instance shut down.   
  
SVRMGR>   
  
SVRMGR>   
  
十一 编辑listener.ora tnsnames.ora   
  
#cp $ORACLE_HOME/network/admin/*.ora /etc   
  
#cd /etc   
  
#chown oracle7:dba tnsnames.ora   
  
#chown oracle7:dba listence.ora   
  
#vi tnsnames.ora   
  
------------------------------------------------------   
  
Tnsnames.ora编辑为   
  
Oracle7=   
  
(DESCRIPTION=   
  
(ADDRESS=(PROTOCOL=TCP)(Host=sjztkl)(Port=1521))   
  
(CONNECT_DATA=(SID=oracle7))   
  
)   
  
------------------------------------------------------   
  
    
  
#vi listener.ora   
  
------------------------------------------------------   
  
listener.ora编辑为:   
  
LISTENER=   
  
(ADDRESS_LIST=   
  
(ADDRESS=(PROTOCOL=TCP)(Host=sjtkl)(Port=1521))   
  
)   
  
SID_LIST_LISTENER=   
  
(SID_LIST=   
  
(SID_DESC=   
  
(GLOBAL_DBNAME=sjztkl.)   
  
(ORACLE_HOME=/u/oracle7/product/734)   
  
(SID_NAME=oracle7)   
  
)   
  
)   
  
STARTUP_WAIT_TIME_LISTENER=0   
  
CONNECT_TIMEOUT_LISTENER=10   
  
TRACE_LEVEL_LISTENER=OFF   
  
------------------------------------------------------   
  
#exit   
  
    
  
十二 手动启动监听进程   
  
$cd $ORACLE_HOME/bin   
  
$lsnrctl start   
  
看监听进程是否成功启动。   
  
如果启动成功,在工作站上测试是否可以通过SQL*Net连接到服务器的ORACLE上。   
  
    
  
十四 实现机器启动后ORACLE数据库和Listener的自启动   
  
#cd /etc   
  
#vi oratab 将N改为Y   
  
#cd /etc/rc2.d   
  
#vi S100dbstart   
  
建立的新文件,键入:   
  
su oracle7 -c /u/oracle7/product/734/bin/dbstart &   
  
#cd /etc/rc0.d   
  
#vi K100dbshut   
  
建立的新文件,键入:   
  
su oracle7 -c /u/oracle7/product/734/bin/dbshut & sleep 1000   
  
---------(以下带“;”号的为注释部分,可省去)--------- -------------------   
  
; vi lsnrstart(在目录:$ORACLE_HOME/bin下)   
  
; 建立的新文件, 键入: /u/oracle7/product/734/bin/lsnrctl start   
  
;往文件S100dbstart中键入:su- oracle7 -c /u/oracle7/product/734/bin/lsnrstart &   
  
; vi lsnrstop(在目录:$ORACLE_HOME/bin下)   
  
; 建立的新文件, 键入: /u/oracle7/product/734/bin/lsnrctl stop   
  
;往文件K100dbshut中键入:su - oracle7 -c /u/oracle7/product/734/bin/lsnrstop & sleep 1000   
  
; 注:文件lsnrstart和lsnrstop的读写权限为:-rwxr-xr-x   
  
------------------------------------------------------------------   
  
# su - oracle7   
  
$ cd $ORACLE_HOME/bin   
  
$ vi dbstart 将启动lsnrctl的语句加入   
  
/svrmgrl 查找字符串   
  
键入:$ORACLE_HOME/bin/lsnrctl start   
  
(放在该句"#Figure out if this is a V5,V6 or V7 database"之上)   
  
$ vi dbshut 将停止lsnrctl的语句加入   
  
/svrmgrl 查找字符串   
  
键入:$ORACLE_HOME/bin/lsnrctl stop   
  
(放在该句"#See if it is a V6 or V7 database"之上)   
  
$exit   
  
$/etc/shutdown   
  
重启后测试,ORACLE数据库是否已经启动成功,监听进程时是否已经启动成功(工作站可以通过SQL*Net连接到服务器的ORACLE上)   
  
十六 重新启动