雖然 DBCA 圖形化建庫便捷,但掌握手工建庫腳本能讓 DBA:
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
D:\oracle\product\10.1.0\DB_1\BIN\oradim.exe -NEW -SID ORA10G -STARTMODE MANUAL -SPFILE
D:\oracle\product\10.1.0\DB_1\BIN\oradim.exe -EDIT -SID ORA10G -STARTMODE AUTO -SPFILE
D:\oracle\product\10.1.0\DB_1\BIN\orapwd.exe FILE=D:\oracle\product\10.1.0\db_1\PWDORA10G.ora PASSWORD=sysPassword FORCE=Y
@D:\oracle\admin\dbca\scripts\CreateDB.sql
@D:\oracle\admin\dbca\scripts\CreateDBFiles.sql
@D:\oracle\admin\dbca\scripts\CreateDBCatalog.sql
@D:\oracle\admin\dbca\scripts\postDBCreation.sql
| 腳本 | 核心任務 | 關鍵參數示例 |
|---|---|---|
| CreateDB.sql | 建立資料庫骨架、系統/臨時/UNDO 表空間、Redo Log、字符集 | MAXDATAFILES 100, CHARACTER SET ZHS16GBK, LOGFILE GROUP 1 ... SIZE 100M |
| CreateDBFiles.sql | 建立應用表空間 | CREATE TABLESPACE USERS ... AUTOEXTEND ON |
| CreateDBCatalog.sql | 建立資料字典視圖、PL/SQL 套件 | @?/rdbms/admin/catalog.sql, @?/rdbms/admin/catproc.sql |
| postDBCreation.sql | 編譯無效物件、建立 SPFILE、最終啟動 | @?/rdbms/admin/utlrp.sql, CREATE SPFILE FROM PFILE |
#!/bin/bash
# 目錄建立
mkdir -p /oradata/ora9i/{controlfile,redofile}
mkdir -p /orasys/oracle/admin/ora9i/{bdump,cdump,create,udump,pfile}
# 環境變量
export ORACLE_BASE=/orasys/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=ora9i
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$PATH:$ORACLE_HOME/bin
# 密碼檔與腳本執行
$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapwora9i password=change_on_install
$ORACLE_HOME/bin/sqlplus /nolog @/home/oracle/create_script/CreateDB.sql
$ORACLE_HOME/bin/sqlplus /nolog @/home/oracle/create_script/CreateDBFiles.sql
$ORACLE_HOME/bin/sqlplus /nolog @/home/oracle/create_script/CreateDBCatalog.sql
$ORACLE_HOME/bin/sqlplus /nolog @/home/oracle/create_script/postDBCreation.sql
SELECT NAME, OPEN_MODE FROM V$DATABASE; 確認 OPENSELECT TABLESPACE_NAME FROM DBA_TABLESPACES; 核對表空間SELECT COMP_ID, STATUS FROM DBA_REGISTRY; 確認組件有效SQLPLUS SCOTT/TIGER、LSNRCTL STATUS將上述腳本納入版本控制(Git/SVN),參數化 SID、路徑、字符集、記憶體參數,即可構建企業級標準化自動化建庫流水線。