手工建立資料庫能深入理解 Oracle 架構。本文記錄在 Windows 平台上手工建立 Oracle 10g 資料庫的完整步驟與關鍵腳本。
mkdir d:\oracle\product\10.1.0\database
mkdir e:\oracle\admin\Ora10g\bdump
mkdir e:\oracle\admin\Ora10g\cdump
mkdir e:\oracle\admin\Ora10g\create
mkdir e:\oracle\admin\Ora10g\pfile
mkdir e:\oracle\admin\Ora10g\udump
mkdir e:\oracle\flash_recovery_area
mkdir e:\oracle\oradata\Ora10g
set ORACLE_SID=ORA10G
oradim.exe -new -sid ORA10G -startmode manual -spfile
oradim.exe -edit -sid ORA10G -startmode auto -spfile
orapwd.exe file=d:\oracle\product\10.1.0\db_1\PWDORA10G.ora password=sysPassword force=y
依序執行四個核心腳本(路徑依實際安裝調整):
CreateDB.sql:建立資料庫、表空間、重做日誌、控制檔。CreateDBFiles.sql:建立資料檔、暫存表空間、UNDO 表空間。CreateDBCatalog.sql:建立資料字典視圖。postDBCreation.sql:建立 Server Parameter File (SPFILE)、啟用封鎖檢測、設定時區等後續作業。執行方式:sqlplus /nolog @<script_path>
CONNECT SYS/change_on_install AS SYSDBA
SET ECHO ON
STARTUP NOMOUNT PFILE=initORA10G.ora
CREATE DATABASE ORA10G
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE 'e:\oracle\oradata\Ora10g\system01.dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
LOGFILE GROUP 1 ('e:\oracle\oradata\Ora10g\redo01.log') SIZE 50M,
GROUP 2 ('e:\oracle\oradata\Ora10g\redo02.log') SIZE 50M,
GROUP 3 ('e:\oracle\oradata\Ora10g\redo03.log') SIZE 50M
DEFAULT TEMPORARY TABLESPACE TEMP
UNDO TABLESPACE UNDOTBS;
-- 後續建立 SYSAUX、USERS 等表空間
執行完所有腳本後,ALTER DATABASE OPEN; 開啟資料庫,並可建立 SCOTT 範例結構驗證。
手工建庫雖繁瑣,但能掌控每個細節(字元集、檔案路徑、大小、自動擴展等),是 DBA 進階必修課。