免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3847 | 回复: 1
打印 上一主题 下一主题

Solaris下安装oracle 9i文档 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-01 21:20 |只看该作者 |倒序浏览

一、创建用户组和用户
   添加组和用户
   groupadd dba
   groupadd oinstall
   useradd  -g oinstall -G dba -m -s /bin/bash -d /export/home/oracle oracle
   修改用户密码
   passwd oracle
二、设置内核参数
  solaris的内核参数保存在/etc/system文件内,用VI之类的编辑器/etc/system,安装9i的要求,在system文件末端添加以下行:
  set shmsys:shminfo_shmmax=4294967295 (如果是4G的物理内存,设为2147483647)
  set shmsys:shminfo_shmmin=1
  set shmsys:shminfo_shmseg=100
  set shmsys:shminfo_shmmni=1
  set semsys:seminfo_semmns=800
  set semsys:seminfo_semmni=315
  set semsys:seminfo_semmsl=300

各参数说明:
shmmax - 共享内存段的最大字节数,,oracle官方文档建议该值设为物理内存的1/2
shmmin - 共享内存段的最小尺寸.
shmmni - 共享内存段的最大数目.
shmseg - 每个进程可分配的最大共享内存段数目.
shmall - 最大的并发共享内存段数目,比SGA还要大.
semmns - 信号灯的最大数量,跟ORACLE的PROCESS数有关.
semmsl - 每个信号灯集合中最多的信号灯数目.

设置完毕后,保存,重启系统使设置生效

三、设置安装目录
   mkdir /app/u01/oracle
   mkdir /app/u01/oracle/product
   mkdir /app/u01/oracle/product/9.2.0
   chown -R oracle:oinstall /app/u01/oracle

四、设置环境变量
   编辑oracle用户的环境变量,修改.profile文件
   进入oracle用户主目录
   su - oracle
   cd
   用vi编辑器编辑oracle用户的配置文件
   vi .profile
   在.profile文件加入以下内容
   ORACLE_BASE=/app/u01/oracle;export ORACLE_BASE
   ORACLE_HOME=/app/u01/oracle/product/9.2.0;export ORACLE_HOME
   ORACLE_SID=orawap;export ORACLE_SID
   ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data;export ORA_NLS33
   LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH
   NLS_LANG=american_america.ZHS16GBK;export NLS_LANG
   PATH=$ORACLE_HOME/bin:/usr/bin:/usr/ucb:/etc:/usr:$PATH;export PATH

  运行. /.profile使环境变量生效

五、安装
   注销、以oracle用户登录
   运行:/cdrom/DISK1/runInstaller开始安装,
   在安装过程中,需要输入一下信息。如Path,参照前面的设置即可。注意,在选择数据库服务器字符集时,不要用默认的,应选择
   SIMPLIFIED CHINESE_CHINA.ZHS16GBK
   在安装过程中需要以root用户执行几个sh文件,按提示去做即可,最后设置sys、system用户的密码

六、安装失败的原因及应做动作
   1)可能导致安装失败的一些原因:
      1、在主机/etc/system文件中设置对oracle的内核参数有错误
      2、在oracle用户目录下的.profile文件对oracle设置的环境变量有错误
   以上错误都可导致oracle在安装完毕后建立数据库时产生错误并无法建立数据库
   2)安装失败后应做动作:
        将oracle安装盘第一张放入光驱,运行/cdrom/DISK1/runInstaller后在弹出界面中选择卸除安装,卸除后手动删除oracle安装目录中由安装程序自动生成的目录、手动删除/var/opt/oracle下oraInst.loc、oratab两个文件;并在修改安装失败时提示的错误后重新安装oracle
数据库自动启动与关闭
1、修改oratab文件
   dbstart, dbshut会读Sun Solaris目录下/var/opt/oracle/oratab, 或者linux目录下/etc/oratab 文件。      
      先确认这里参数已正确设置:
      #你要启动的数据库sid:ORACLE_HOME:Y
      例如:
             orawic:/app/oracle/product/9.2.0:Y
      
      如果有两个在用的数据库,这里oratab里可以是两行。
      
      例如:
            orawic:/app/oracle/product/9.2.0:Y
             orawap:/app/oracle/product/9.2.0:Y

2、编写脚本
以root权限的用户在Sun Solaris目录/etc/init.d下, 或者linux目录/etc/rc.d/init.d下编写脚本dbora(名字可随便起)linux下也可以把.
su - oracle -c "/app/oracle/product/9.2.0/bin/lsnrctl start"
su - oracle -c "/app/oracle/product/9.2.0/bin/dbstart"
这两行直接加到/etc/rc.d/rc.local

#!/bin/sh

       OPT_=$1

       case "$OPT_" in
           start)
               /bin/echo "$0 : (start)"
               #
               # Your service startup command goes here.
               #
               su - oracle -c "/app/oracle/product/9.2.0/bin/lsnrctl start"
               su - oracle -c "/app/oracle/product/9.2.0/bin/dbstart"

               # NOTE: Must exit with zero unless error is severe.
               chmod 1777 /tmp
               chown sys:sys /tmp
               exit 0
               ;;
           stop)
               /bin/echo "$0 : (stop)"
               #
               # Your service shutdown command goes here.
               #
               su - oracle -c "/app/oracle/product/9.2.0/bin/lsnrctl stop"
               su - oracle -c "/app/oracle/product/9.2.0/bin/dbshut"
      
               # NOTE: Must exit with zero unless error is severe.
               exit 0

               ;;
           *)  /bin/echo ''
               /bin/echo "Usage: $0 [start|stop]"
               /bin/echo "       Invalid argument ==> \"${OPT_}\""
               /bin/echo ''
               exit 0
               ;;                                               
       esac                     

3、修改脚本dbora属性
   chmod 755 /etc/init.d/dbora

4、添加文件链接
   在UNIX机器开机后和关机前要执行的任务目录里加个文件链接。
    开机后自动启动ORACLE数据库:         
           Sun Solaris
           #cd /etc/rc2.d
           #ln -s /etc/init.d/dbora S99oracle
           
           Linux
           #cd /etc/rc.d/rc3.d
           #ln -s /etc/rc.d/init.d/oracle S99oracle
           
           关机前自动关闭ORACLE数据库:
           
           Sun Solaris
           #cd /etc/rc0.d
           #ln -s /etc/init.d/oracle K01oracle
           
           Linux
           #cd /etc/rc.d/rc0.d
           #ln -s /etc/rc.d/init.d/oracle K01oracle

5、修改BUG
   如果数据库是9i,则dbstart存在bug,运行dbstart出错信息如下:
   Can't find init file for Database 'xxx'
   需要修改dbstart脚本
   1)备份原脚本
      cp dbstart dbstart.bak
   2)修改脚本
       SPFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora
找出下面的行:
       PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
在上一步找到的行下添加一下代码:
       SPFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora
然后再找出行:
        if [ -f $PFILE ] ; then     
将之改为:
        if [ -f $PFILE -o -f $SPFILE ] ; then   或者 if [ -f $PFILE ] || [ -f $SPFILE ]; then

到此就完成了,重启OS,测试


数据库常规设置
1、修改用户默认密码及锁住无用的系统用户
   修改密码:alter user DBSNMP identified by newpassword;
   锁定用户:alter user scott account lock;
   9i下一般只需要修改这两个系统用户(sys、system用户的密码应在数据库安装过程中设置)
2、建立用户的配置文件,限制用户连续失败的登录次数
   create profile prof limit FAILED_LOGIN_ATTEMPTS 4;
   在创建用户时,需指定配置文件
   create user test identified by test profile prof;
3、如果有多块硬盘,应把控制文件放置到不同的硬盘上
   1)更改系统信息
   alter system set control_files=
  '/app/oracle/oradata/orawic/control01.ctl',
  '/app/oracle/oradata/orawic/control02.ctl',
  '/app/oracle/oradata/orawic/control03.ctl',
  '/disk2/orawic/control04.ctl'
  scope=spfile;
  2)拷贝物理文件
   做完上一步后,只是在逻辑上增加了控制文件,并没有在物理上增加,我们要手工增加新增的控制文件。方法是复制其中一个已有的控制文件到步骤1设定的目录下,并改名为步骤1设定的名称。
  3)关闭并重启数据库
     shutdown immediate;
     startup;
    数据库重启后,就会同时往所有的控制文件里写数据。

4、如果存在多块硬盘,应把在线日志同一组成员放在不同硬盘上
   1)查处oracle的所有日志组及其对应的组成员
      select * from v$logfile;
   2)为各日志组添加成员(一个日志组至少应该有2个成员),并放置到不同的硬盘上
      alter database add logfile number '/disk2/ora/redo01b.log' to group 1;
      alter database add logfile number '/disk2/ora/redo02b.log' to group 2;
      alter database add logfile number '/disk2/ora/redo03b.log' to group 3;
5、修改oracle临时表空间
   1)建立临时表空间
    create temporary tablespace wic_temp
    tempfile '/app/oracle/oradata/orawic/wic_temp.dbf' size 1024M
    extent management local;
   2)修改oracle默认临时表空间
     alter database default temporary tablespace wic_temp;
6、修改oracle默认UNDO表空间
  1)创建UNDO表空间
     create undo tablespace wic_undo
     datafile '/app/oracle/oradata/orawic/wic_undo.dbf' size 2048M;
  2)修改oracle默认UNDO表空间
     alter system set undo_tablespace=wic_undo;
7、创建数据表空间
  1)创建表空间
     create tablespace wic_public datafile
     '/app/oracle/oradata/orawic/wic_public.dbf' size 1024M;
  2)测试用户可使用这个表空间作为默认表空间,正式用户不建议使用该表空间,应为每一个正式用户创建对应的表空间
     alter user wap_test default tablespace wic_public;


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/40226/showart_312382.html

论坛徽章:
0
2 [报告]
发表于 2011-09-15 11:34 |只看该作者
多谢楼主分享这么有用的信息
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP