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;