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

Oracle 10g 手工建庫全流程圖文詳解 (Windows 版)

     編輯:Oracle 資料庫基礎

前言

手工建庫雖較 DBCA 繁瑣,卻是理解 Oracle 體系架構的最佳途徑。本文以 Windows Server 2000 + Oracle 10g 為實驗環境,詳細記錄從建立目錄、參數檔、實例服務、密碼檔,到執行建庫腳本、資料字典、PL/SQL 套件、建立 SPFILE、開啟資料庫的 14 個關鍵步驟。

實驗環境規劃

  • Oracle Home:D:\Oracle\product\10.1.0\db_1
  • 資料庫名稱 / SID:book
  • 資料檔存放:D:\Oracle\product\10.1.0\oradata\book\
  • 管理目錄:D:\Oracle\product\10.1.0\admin\book\ (含 bdump, udump, cdump, pfile, create)

步驟 1:建立必要目錄

mkdir D:\Oracle\product\10.1.0\admin\book
mkdir D:\Oracle\product\10.1.0\admin\book\bdump
mkdir D:\Oracle\product\10.1.0\admin\book\udump
mkdir D:\Oracle\product\10.1.0\admin\book\cdump
mkdir D:\Oracle\product\10.1.0\admin\book\pfile
mkdir D:\Oracle\product\10.1.0\admin\book\create
mkdir D:\Oracle\product\10.1.0\oradata\book

目錄用途:bdump 存放背景進程追蹤與 alert_book.log (故障診斷首選);udump 存放用戶會話追蹤;oradata 存放控制檔、資料檔、重做日誌。

步驟 2:建立初始化參數檔

複製既有資料庫 (如 orcl) 的 init.ora 至 D:\Oracle\product\10.1.0\db_1\database\initbook.ora,修改關鍵參數:

db_domain=""
db_name=book
control_files=("D:\Oracle\product\10.1.0\oradata\book\control01.ctl",
               "D:\Oracle\product\10.1.0\oradata\book\control02.ctl",
               "D:\Oracle\product\10.1.0\oradata\book\control03.ctl")
undo_management=AUTO
undo_tablespace=UNDOTBS1
background_dump_dest=D:\Oracle\product\10.1.0\admin\book\bdump
core_dump_dest=D:\Oracle\product\10.1.0\admin\book\cdump
user_dump_dest=D:\Oracle\product\10.1.0\admin\book\udump

步驟 3:設定環境變數 ORACLE_SID

set ORACLE_SID=book

步驟 4:建立實例服務

oradim -new -sid book

步驟 5:建立密碼檔

orapwd file=D:\Oracle\product\10.1.0\db_1\database\pwdbook.ora password=bookstore entries=2

注意:命令必須單行輸入。密碼檔儲存 SYS 密碼,使資料庫未掛載時仍能驗證 SYSDBA 身分。

步驟 6:啟動至 NOMOUNT 階段

sqlplus /nolog
CONNECT sys/bookstore AS SYSDBA
STARTUP NOMOUNT

此時僅啟動執行個體 (SGA + 背景進程),未掛載資料庫。

步驟 7:執行建庫腳本

使用記事本建立 E:\book.sql,內容如下:

CREATE DATABASE book
DATAFILE 'D:\Oracle\product\10.1.0\oradata\book\system01.dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE 'D:\Oracle\product\10.1.0\oradata\book\sysaux01.dbf' SIZE 120M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'D:\Oracle\product\10.1.0\oradata\book\temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE "UNDOTBS1" DATAFILE 'D:\Oracle\product\10.1.0\oradata\book\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('D:\Oracle\product\10.1.0\oradata\book\redo01.log') SIZE 10240K,
        GROUP 2 ('D:\Oracle\product\10.1.0\oradata\book\redo02.log') SIZE 10240K,
        GROUP 3 ('D:\Oracle\product\10.1.0\oradata\book\redo03.log') SIZE 10240K;

執行:SQL> START E:\book.sql

步驟 8-10:建立資料字典與核心套件

-- 8. 資料字典視圖
@D:\Oracle\product\10.1.0\db_1\rdbms\admin\catalog.sql

-- 9. PL/SQL 內建套件
@D:\Oracle\product\10.1.0\db_1\rdbms\admin\catproc.sql

-- 10. SQL*Plus 產品使用者設定 (需以 SYSTEM 連線)
CONNECT system/manager
@D:\Oracle\product\10.1.0\db_1\sqlplus\admin\pupbld.sql

步驟 11:由 PFILE 建立 SPFILE

CONNECT sys/bookstore AS SYSDBA
CREATE SPFILE FROM PFILE;

SPFILE 將寫入 $ORACLE_HOME\database\spfilebook.ora,支援動態參數修改持久化。

步驟 12:建立 SCOTT 範例結構 (可選)

@D:\Oracle\product\10.1.0\db_1\rdbms\admin\scott.sql

步驟 13:開啟資料庫

ALTER DATABASE OPEN;

步驟 14:驗證連線

CONNECT scott/tiger
SELECT * FROM tab;

總結:手工建庫 14 步驟心法

  1. 建立目錄結構
  2. 建立參數檔
  3. 設定 ORACLE_SID
  4. 建立實例服務
  5. 建立密碼檔
  6. STARTUP NOMOUNT
  7. 執行 CREATE DATABASE
  8. 建立應用表空間
  9. 執行 catalog.sql
  10. 執行 catproc.sql
  11. 執行 pupbld.sql
  12. CREATE SPFILE FROM PFILE
  13. 執行 scott.sql (可選)
  14. ALTER DATABASE OPEN

掌握此流程,即掌握 Oracle 資料庫誕生的完整邏輯。

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