您的位置:首页技术文章
文章详情页

oracle817在solairs8下的安装

【字号: 日期:2023-11-17 19:07:05浏览:41作者:猪猪
一、安装前的预备 1、由root执行的任务(用root用户登录) 1.1 设置系统变量 1) 用文本编辑器打开'/etc/system' 文件 # vi /etc/system 2)在 '/etc/system' 文件结尾插入如下几行 ;set shmsys:shminfo_shmmax=4294967295set shmsys:shminfo_shmmin=1set shmsys:shminfo_shmmni=512set shmsys:shminfo_shmseg=128set semsys:seminfo_semmap=64set semsys:seminfo_semmni=4096set semsys:seminfo_semmns=4096set semsys:seminfo_semmsl=4096set semsys:seminfo_semmnu=4096set semsys:seminfo_semume=64set 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.0ORACLE_BASE=/u01/oracleORACLE_HOME=/u01/oracle/product/8.1.7ORACLE_SID=oracle8ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataCLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/rdbms/jlibLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libNLS_LANG=american_america.ZHS16GBKPATH=/usr/bin:/usr/ucb:/etc:/usr/local/bin:/usr/ccs/bin:/usr/openwin/binPATH=$ORACLE_HOME/bin:$PATHexport PATHexport DISPLAY ORACLE_HOME ORACLE_BASE ORACLE_SID ORA_NLS33 LD_LIBRARY_PATH NLS_LANG CLASSPATH3) oracle用户重新登录,以使之前修改的 '.profile' 文件配置生效 4) 通过env命令检查刚才的配置是否生效 $ env5) 进入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/bashsu - oracle<EOF.; /home/oracle/.bash_profilelsnrctl start svrmgrl<EOEconnect internal startup exit EOE exit EOF2)、关闭脚本(dbstop)#! /bin/bashsu - oracle<EOF.; /home/oracle/.bash_profilelsnrctl stopsvrmgrl<EOEconnect internal shutdown immediate exit EOE exit EOF然后赋可执行权限并拷贝到/etc/init.d下Chmod +x dbstartChmod +x dbstop在做连接ln –s /etc/init.d/dbstart /etc/rc2.d/S99dbstartln –s /etc/init.d/dbstop /etc/rc0.d/K10dbstop到此oracle就可以在solaris下正常运行了
标签: Oracle 数据库