一般都是使用dbca建库的,但是练习使用手工建库,可以让我们更深入了解Oracle数据库创建过程所做的详细工作,让我们可以更深刻理解Oracle数据库的文件结构。好了话不多说了,现在开始吧!
创建数据库首先要确定要创建的数据库的ORACLE_SID名称,并设置环境变量ORACLE_SID,具体细节不过多介绍,过程会忽略细节
1、设置ORACLE_SID并创建数据库相应的目录:
export ORACLE_SID=macx
mkdir $ORACLE_BASE/admin/macx/{a,b,c,u}dump -pv
mkdir /u02/macx
2、initSID.ora放到$ORACLE_HOME/dbs目录下:
macx.__db_cache_size=188743680
macx.__java_pool_size=4194304
macx.__large_pool_size=4194304
macx.__shared_pool_size=79691776
macx.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/macx/adump'
*.background_dump_dest='/u01/app/oracle/admin/macx/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u02/macx/control01.ctl','/u02/macx/control02.ctl','/u02/macx/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/macx/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='macx'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/macx/udump'
3、Create Database Statemet语句,对表空间和路径及大小做适当修改:
这个复杂的数据库创建语句是参照Oracle 10G R2的联机文档,并作修改的,突然发现文档中也存在一些问题,但是下面的语句是没问题。
CREATE DATABASE macx
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u02/macx/redo01.log') SIZE 100M,
GROUP 2 ('/u02/macx/redo02.log') SIZE 100M,
GROUP 3 ('/u02/macx/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u02/macx/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u02/macx/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE adv datafile '/u02/macx/adv01.dbf' size 100m
extent management local
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u02/macx/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u02/macx/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
4、建库语句执行后,执行创建数据字段、PL/SQL存储过程的及SQLPLUS相关脚本
@?/rdbms/admin/catalog.sql -- 创建数据字段信息
@?/rdbms/admin/catproc.sql -- 创建系统PL/SQL对象
@?/sqlplus/admin/pupbld.sql -- 创建于SQLPLUS相关的对象