首先写好建库脚本c.sql
create database mydb
controlfile reuse
maxinstances 1
maxloghistory 1
maxlogfiles 5
maxlogmembers 5
maxdatafiles 100
datafile '$Oracle_HOME/oradata/system01.dbf'size 325M reuse
autoextend on next 10240K maxsize unlimited
undo tablespace D_DUTSCR
datafile '/$ORACLE_HOME/oradata/undo01.dbf' SIZE 40M reuse
character set AL32UTF8
national character set UTF8
logfile
'$ORACLE_HOME/oradata/redo01.log' size 100M reuse,
'$ORACLE_HOME/oradata/redo02.log' size 100M reuse,
'$ORACLE_HOME/oradata/redo03.log' size 100M reuse,
'$ORACLE_HOME/oradata/redo04.log' size 100M reuse
default temporary tablespace TEMP
tempfile
'$ORACLE_HOME/oradata/temp01.dbf' size 50M reuse
extent management local uniform size 1M;
--------------------------------------------
建立数据字典的文件是:
$ORACLE_HOME/rdbms/admin/catalog.sql
$ORACLE_HOME/rdbms/admin/catPRoc.sql
$ORACLE_HOME/rdbms/admin/cateXP.sql
---------------------------------------------
建立其它的表空间和spfile,也写一个脚本c2.sql:
create tablespace users
datafile '$ORACLE_HOME/oradata/user01.dbf'size 25m reuse
autoextend on next 1024k maxsize unlimited
extent management local uniform size 500K;
create spfile='$ORACLE_HOME/dbs/spfileinter.ora' from pfile='inter.ora';
----------------------------------------------
好,脚本都预备好了,实际操作通常是这样的:
以nomount方式启动一个实例成功
然后,开始建库
SQL @$ORACLE_HOME/c.sql
会停在这里好一段时间,假如报错:
create database mydb
*
error at line 1
ORA-01092: ORACLE instance terminated. Disconnection forced.
就查看日志, $ORACLE_HOME/rdbms/log/alert.log,除非清空,否则此文件记录每一次建库的过程,这个目录下的最后一个文件记录了最后一次建库时出现的错误原因。
通常是init.ora里面的参数 comatibility 需要改正,要写成 '9.2.0',或是undo tablespace的名字的问题,一定要和 $ORACLE_HOME/rdbms/admin/sql.bsq里面默认的名字相同假如成功,会告知database created,如图:
-------------------------------------------
然后执行其它脚本,创建数据字典会很顺利,只是时间较长,要有耐心哦,最后可以建表了, 此处无需多言,成功后的画面:
Enjoy it!