Oracle学习笔记:艰难的CREATE DATABASE
create database test
controlfile reuse
datafile 'd:\data\system1.dbf' size 100m autoextend on next 100m maxsize unlimited
sysaux datafile 'd:\data\sysaux1.dbf' size 100m reuse autoextend on next 100m maxsize unlimited
default temporary tablespace temp1
tempfile 'd:\data\temp1.dbf' size 100m reuse autoextend on next 100m maxsize unlimited
undo tablespace UNDOTBS1
datafile 'd:\data\undo1.dbf' size 100m reuse autoextend on next 100m maxsize unlimited
default tablespace user1
datafile 'd:\data\user1.dbf' size 100m reuse autoextend on next 100m maxsize unlimited
extent management local autoallocate
logfile group 1 'd:\data\redo1.log' size 100m reuse,
group 2 'd:\data\redo2.log' size 100m reuse,
group 3 'd:\data\redo3.log' size 100m reuse
character set al32utf8
user sys identified by oracle
user system identified by oracle
;
真的费了很大的劲,一天的时间,才创建成功一个空的数据库!
先是遇到基本的语法错误,后又遇到 ORA-01092,又遇到ORA-01072错误,到底怎么解决的。不清楚!
几个关键点:
1.reuse关键字,只要是物理文件,管他如何,都要用reuse。意思是忽略文件已存在的错误!但它似乎会重新使用文件的部分已有信息,就会造成创建失败,罪魁祸首啊
2.只要是表空间,均可以包含n个物理文件,除非指定 set default bigfile tablespace 数据库属性,那样只能有1个文件了!
3.datafile 对应SYSTEM表空间
4.sysaux datafile 对应SYSAUX表空间
5.必须指定的logile文件组,至少要有两组
6.default temporary tablespace表空间
7.undo tablespace 表空间
8.default tablespace默认用户表空间
9.sga_target必须设置到一个最小值后才能创建成功,这是另一个造成创建失败的刽子手!
另外:
手工create database的最小初始化参数集如下:
*.compatible='10.2.0.1.0'
*.control_files='d:\data\control01.ctl'
*.db_name='test'
*.sga_target=200m
*.undo_management='AUTO'
啊........................ 真的不能再小了!
手工create database的最小语句集如下:
create database;
天........................ 真的不能再小了!