欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

RHEL4.5下Oracle 手工建库操作实录

程序员文章站 2022-06-12 11:30:00
...

平台:RHEL4.5,Oracle10.2.0.1规划:db_name = ORCLDB, db_unique_name/ORACLE_SID = WENDING上面这两个参数也可以设置成一样,

平台: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;

RHEL4.5下Oracle 手工建库操作实录