ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle 10g手工建库(转载)

oracle 10g手工建库(转载)

原创 Linux操作系统 作者:lxn_sps 时间:2009-07-22 15:39:27 0 删除 编辑

平台:RHEL4.5,Oracle10.2.0.1
规划:db_name = ORCLDB, db_unique_name/ORACLE_SID = WENDING
上面这两个参数也可以设置成一样,这里主要就是特意区别一下。

1. 设置环境变量
$ export ORACLE_BASE=/u01/app/oracle
$ export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
$ export ORACLE_SID=WENDING

2. 建初始化参数文件
$ vi $ORACLE_HOME/dbs/init$ORACLE_SID.ora
#以下为建库必需参数
control_files = (/orahome/oradata/control1.ctl,/orahome/oradata/control2.ctl,/orahome/oradata/control3.ctl)
undo_management = AUTO
undo_tablespace = UNDOTBS1
db_name = ORCLDB
db_unique_name = WENDING
db_block_size = 8192
sga_max_size = 320M
sga_target = 320M
#以下为一般建库需设置的参数,不设置就采用默认值
audit_file_dest = /u01/app/oracle/admin/WENDING/adump   #不设置默认$ORACLE_HOME/rdbms/adump
background_dump_dest = /u01/app/oracle/admin/WENDING/bdump   #不设置默认$ORACLE_HOME/rdbms/log
core_dump_dest = /u01/app/oracle/admin/WENDING/cdump   #不设置默认$ORACLE_HOME/rdbms/dbs
user_dump_dest = /u01/app/oracle/admin/WENDING/udump   #不设置默认$ORACLE_HOME/rdbms/log
db_domain = LK   #不设置默认为空
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 = /orahome/flash_recovery_area #OMF模式必需设置
db_recovery_file_dest_size = 2G #OMF模式必需设置

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

3. 建立密码文件
$ $ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc force=y

4. 建立需要的目录
$ rm -rf $ORACLE_BASE/admin/$ORACLE_SID
$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/adump
mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/bdump
mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/cdump
mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/dpdump
mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/udump
mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/pfile

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

5. 建spfile后启动实例并开始建库
$ sqlplus '/as sysdba'
SQL> create spfile from pfile;   (会自动读取pfile:$ORACLE_HOME/dbs/init$ORACLE_SID.ora)
SQL> startup nomount
SQL> create database ORCLDB CONTROLFILE REUSE
   MAXINSTANCES 8 MAXDATAFILES 100
   MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 5  
   character set ZHS16GBK national character set AL16UTF16
logfile group 1 ('/orahome/oradata/WENDING/redo1.log') size 50M reuse,
   group 2 ('/orahome/oradata/WENDING/redo2.log') size 50M reuse,
   group 3 ('/orahome/oradata/WENDING/redo3.log') size 50M reuse
datafile '/orahome/oradata/WENDING/system.dbf' size 500M reuse autoextend on next 10M maxsize unlimited extent management local
sysaux datafile '/orahome/oradata/WENDING/sysaux.dbf' size 100M autoextend on next 10M maxsize unlimited
default temporary tablespace temp tempfile '/orahome/oradata/WENDING/temp01.dbf' size 100M reuse autoextend on next 10M maxsize unlimited
undo tablespace undotbs1 datafile '/orahome/oradata/WENDING/undotbs1.dbf' size 100M reuse autoextend on next 10M maxsize unlimited
USER SYS IDENTIFIED BY "iamwangnc" USER SYSTEM IDENTIFIED BY "iamwangnc";

建库还可以考虑如下参数:
SET TIMEZONE = 'time_zone_region'
SET TIMEZONE = '{+|-} hh:mm'
FORCE LOGGING
建完库,数据库就自动open了。
注意:MAXLOGFILES代表可创建的logfile group数,MAXLOGMEMBERS代表每个group内的member数。10.2前如果超过了就需要重建控制文件,10.2中就没这个必要了,Oracle会自动更新控制文件里这两个参数值,不需要重建控制文件了!oracle10g中默认MAXLOGFILES为16,MAXLOGMEMBERS为3但新建时不能超过5否则会出现ORA-02249错误。
另外,如果以后要获得指定的这些MAXxxx参数,可以通过通过转储控制文件的方式获得:alter database backup controlfile to trace;

如果采用OMF管理数据库文件,则通过以下方式建库:
SQL> create database ORCLDB
controlfile reuse ARCHIVELOG
character set ZHS16GBK national character set AL16UTF16
undo tablespace undotbs1
default temporary tablespace temp;
或者直接最小方式建立(字符集根据操作系统会自动指定,其它参数用默认值):
SQL> create database ORCLDB;

7. 运行数据字典脚本,其中catalog和catproc是必需的,其它可选:
SQL> spool /orahome/cat.log
SQL> @?/rdbms/admin/catalog.sql       (建数据字典视图)
SQL> @?/rdbms/admin/catproc.sql       (建存储过程包)
SQL> @?/rdbms/admin/catblock.sql   (建锁相关的几个视图)
SQL> @?/rdbms/admin/catoctk.sql       (建密码工具包dbms_crypto_toolkit)
SQL> @?/rdbms/admin/owminst.plb       (建工作空间管理相关对象,如dmbs_wm)
SQL> spool off
执行完后检查/orahome/cat.log看看有什么不可接受的错误没有。

8. 新建sqlplus属性和帮助、USERS表空间
SQL> connect system/iamwangnc
SQL> @?/sqlplus/admin/pupbld.sql
SQL> @?/sqlplus/admin/help/hlpbld.sql helpus.sql
SQL> connect /as sysdba
SQL> CREATE TABLESPACE USERS LOGGING DATAFILE '/orahome/oradata/WENDING/users01.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 10m MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
SQL> ALTER DATABASE DEFAULT TABLESPACE USERS;

9. 最后修改为归档模式并重启
SQL> shutdown immediate;
SQL> connect /as sysdba
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;
重新编译所有失效过程:
SQL> execute utl_recomp.recomp_serial();

10、建立和配置EM(可选):
SQL> @?/sysman/admin/emdrep/sql/emreposcre /u01/app/oracle/product/10.2.0/db_1 SYSMAN iamwangnc TEMP ON;
SQL> alter user SYSMAN identified by "iamwangnc" account unlock;
SQL> alter user DBSNMP identified by "iamwangnc" account unlock;
SQL> host emca -config dbcontrol db -silent -DB_UNIQUE_NAME WENDING -PORT 1521 -EM_HOME /u01/app/oracle/product/10.2.0/db_1 -LISTENER LISTENER -SERVICE_NAME WENDING.LK -SYS_PWD "iamwangnc" -SID WENDING -ORACLE_HOME /u01/app/oracle/product/10.2.0/db_1 -DBSNMP_PWD "iamwangnc" -HOST "vmone" -LISTENER_OH /u01/app/oracle/product/10.2.0/db_1 -LOG_FILE /orahome/emConfig.log -SYSMAN_PWD "iamwangnc";

到此建库完毕!

来源于:http://hi.baidu.com/edeed/blog/item/33c6b9012d501805728da568.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10537377/viewspace-609915/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-12

  • 博文量
    43
  • 访问量
    207534