首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Linux 下 Oracle 手動建庫腳本實戰全記錄

     編輯:Oracle 資料庫基礎

建庫核心腳本 c.sql

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

後續物件建立腳本 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';

實戰操作流程與避坑指南

  1. NOMOUNT 啟動執行個體
    STARTUP NOMOUNT
  2. 執行建庫腳本
    @$ORACLE_HOME/c.sql
    若報 ORA-01092,檢查 $ORACLE_HOME/rdbms/log/alert.log 末尾錯誤。常見原因:
    • compatible 參數需設為 '9.2.0'(視版本調整)
    • UNDO 表空間名稱需與 sql.bsq 內預設一致
  3. 成功標誌:顯示 Database created。
    建庫成功畫面
  4. 執行資料字典腳本:耗時較長,需耐心等待。
  5. 執行 c2.sql 建立用戶表空間與 SPFILE。
  6. 驗證建表功能:正常建表即大功告成。
    建表成功畫面

關鍵參數說明

子句用途
CONTROLFILE REUSE允許覆寫既有控制檔
MAXDATAFILES 100資料檔上限,規劃預留
UNDO TABLESPACE指定專用 UNDO 表空間,支援自動管理
CHARACTER SET AL32UTF8支援完整 Unicode,推薦新建庫預設
EXTENT MANAGEMENT LOCAL UNIFORM SIZE本地管理+均勻區塊,避免碎片

常見問題快速排查

  • 建庫卡住:查 alert.log 確認是否等待日誌切換、檔案擴展等。
  • 字元集不符:建庫後不可變更,務必確認 NLS_LANG 環境一致。
  • SPFILE 建立失敗:確認 PFILE 路徑正確、參數語法無誤。

手動建庫雖繁瑣,但能精準掌控每個細節,是 DBA 進階必備技能。建議將上述腳本參數化、模組化,構建專屬建庫工具箱。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved