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!
