oracle 利用脚本建库

1:创建环境变量

  export $ORACLE_HOME $ORACLE_SID(准备建立的数据库的SID)

2:建立初始化参数文件

  $ORACLE_HOME/dbs/init$ORACLE_SID.ora (可以从已经建好的库里面拿,通常在pfile 里面),也可以自己建:

 

  control_files = ($ORACLE_HOME/oradata/$ORACLE_SID/control1.ctl,$ORACLE_HOME/oradata/$ORACLE_SID/control2.ctl,$ORACLE_HOME/oradata/$ORACLE_SID/control3.ctl)
  undo_management = AUTO
  undo_tablespace = UNDOTBS1

      db_domain =
  db_name =   #ORACLE_SID
  db_block_size = 8192
  sga_max_size = 320M
  sga_target = 320M

 

      audit_file_dest =  #不设置默认$ORACLE_HOME/rdbms/adump
      background_dump_dest =     #不设置默认$ORACLE_HOME/rdbms/log
      core_dump_dest =     #不设置默认$ORACLE_HOME/rdbms/dbs
      user_dump_dest =     #不设置默认$ORACLE_HOME/rdbms/log
      open_cursors = 1500   #不设置默认50
      processes = 500   #不设置默认40
      log_archive_dest_1 = 'LOCATION=/orahome/arch/WENDING'   #不设置默认为空,归档存储在$ORACLE_HOME/rdbms/dbs/arch
      log_archive_format = 'log_%t_%s_%r.arc'   #不设置默认为%t_%s_%r.dbf
      job_queue_processes = 10   #不设置默认为0
      undo_retention = 10800   #不设置默认为900
      如果需要开通审计功能,设置如下参数
      audit_sys_operations = TRUE
      audit_trail = db,extended   #这里注意,如果将来会转换成物理备库,这里就不能设置db,否则将来物理备库没法打开read only模式
      db_recovery_file_dest = $ORACLE_HOME/flash_recovery_area #OMF模式必需设置
      db_recovery_file_dest_size = 2G #OMF模式必需设置

      如果采用OMF管理数据库文件,则还需设置以下参数
      db_create_file_dest = $ORACLE_HOME/oradata #自动在该目录下建立./{db_name}/datafile 目录
      db_create_online_log_dest_1 = $ORACLE_HOME/oradata #自动在该目录下建立./{db_name}/onlinelog 目录

 

3:建立密码文件:

      $ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc force=y

4:建立目录:

      mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/adump
      mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/bdump
      mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/cdump
      mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/dpdump
      mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/udump
      mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/pfile

 

      #如果采用OMF管理数据库文件,则无需建立下面的目录
       mkdir -p /orahome/oradata/$ORACLE_SID
       mkdir -p /orahome/arch/$ORACLE_SID

 

5:启动实例并开始建库

  $ORACLE_HOME/bin/sqlplus '/as sysdba'

      create spfile from pfile;

      startup nomount;

      start create.sql

      spool $ORACLE_HOME/cat.log

      start  $ORACLE_HOME/catalog.sql      #建数据字典视图

      start  $ORACLE_HOME/catproc.sql  #建存储过程包 

      start  $ORACLE_HOME/catblock.sql   #建锁相关的几个视图

      start  $ORACLE_HOME/catoctk.sql   #建密码工具包dbms_crypto_toolkit

      start  $ORACLE_HOME/owminst.plb     #建工作空间管理相关对象,如dmbs_wm

      spool off

 

       执行完可以查看日志cat.log

       关于create.sql 脚本参考如下:

  $ORACLE_SID 为ora2

  create database ora2
   logfile
        group 1 ('/usr/local/oracle/product/10.2.0/db_1/oradata/ora2/redo01.log') size 100M,
        group 2 ('/usr/local/oracle/product/10.2.0/db_1/oradata/ora2/redo02.log') size 100M,
        group 3 ('/usr/local/oracle/product/10.2.0/db_1/oradata/ora2/redo03.log') size 100M
   maxlogfiles 10
   maxlogmembers 5
   maxloghistory 1
   maxdatafiles 100
   maxinstances 1
   datafile '/usr/local/oracle/product/10.2.0/db_1/oradata/ora2/system01.dbf' size 256M
   undo tablespace UNDOTBS1
   datafile '/usr/local/oracle/product/10.2.0/db_1/oradata/ora2/undotbs01.dbf' size 200M autoextend on next 5M maxsize unlimited
   sysaux datafile '/usr/local/oracle/product/10.2.0/db_1/oradata/ora2/sysaux01.dbf' size 100M
   default temporary tablespace temp
   tempfile '/usr/local/oracle/product/10.2.0/db_1/oradata/ora2/temp01.dbf' size 512M autoextend on next 5M maxsize unlimited
   character set US7ASCII
   national character set AL16UTF16;

 

6:新建sqlplus属性和帮助、USERS表空间

 

  在执行pupbld之前要把当前用户(sys)转换成system,即以system账户连接数据库。因为此数据库是刚建的,所以system的口令是系统默认 的口令,即manager。你可以在数据库建好以后再来重新设置此账户的口令

  start $ORACLE_HOME/sqlplus/admin/pupbld.sql

7: 修改为归档模式并重启

 

      shutdown immediate;
      connect /as sysdba
      startup mount
      alter database archivelog;
      alter database open;
      重新编译所有失效过程:
      execute utl_recomp.recomp_serial();

8:建库完毕

      alter database open;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值