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;
天........................ 真的不能再小了!