揭開Oracle 10G手工創建數據庫的神秘面紗

最近在網上看到很多初學Oracle或是從舊版的Oracle升級到10G的朋友們都問如何在Oracle 10G裏手工建庫的問題。今天正好有空,于是乎把在Oracle 10G裏手工建庫的全過程寫出來,供各位從事Oracle工作和學習的同朋友們參考,希望能夠對大家有所幫助。

在Oracle中建庫,通常有兩種方法。一是使用Oracle的建庫工且DBCA,這是一個圖形界面工且,使用起來方便且很容易理解,因爲它的界面友好、美觀,而且提示也比較齊全。在Windows系統中,這個工具可以在Oracle程序組中打開(」開始」—「程序」—「 Oracle - OraDb10g_home1」—「 Configuration and Migration Tools」—「 Database Configuration Assistant」),也可以在命令行(」開始」—「運行」—「cmd」)工具中直接輸入dbca來打開。另一種方法就是手工建庫,這也就是下面所要講的內容。

手工建庫比起使用DBCA建庫來說,是比較麻煩的,但是如果我們學好了手工建庫的話,就可以使我們更好地理解Oracle數據庫的體系結構。手工建庫須要經過幾個步驟,每一個步驟都非常關鍵。它包括:

1、 創建必要的相關目錄

2、 創建初始化參數文件

3、 設置環境變量Oracle_sid

4、 創建實例

5、 創建口令文件

6、 啓動數據庫到nomount(實例)狀態

7、 執行建庫腳本

8、 執行catalog腳步本創建數據字典

9、 執行catproc創建package包

10、 執行pupbld

11、 由初始化參數文件創建spfile文件

12、 執行scott腳本創建scott模式

做完了以上的步驟之後就可以使用「SQL>alter database open;」打開數據庫正常的使用了。下面,我將具體地把以上的幾個步驟用實驗展開來講。

實驗系統平台:Windows Server 2000數據庫系統版本:Oracle Database 10G

Oracle的安裝路徑:D盤 創建的數據庫名稱:book

1、打開命令行工具,創建必要有相關目錄

C:\>mkdir D:\oracle\product\10.1.0\admin\book

C:\>mkdir D:\oracle\product\10.1.0\admin\book\bdump

C:\>mkdir D:\oracle\product\10.1.0\admin\book\udump

C:\>mkdir D:\oracle\product\10.1.0\admin\book\cdump

C:\>mkdir D:\oracle\product\10.1.0\admin\book\pfile

C:\>mkdir D:\oracle\product\10.1.0\admin\book\create

C:\>mkdir D:\oracle\product\10.1.0\oradata\book

上面創建目錄的過程也可以在Windows的圖形界面中去創建。其中D:\oracle\product\10.1.0\admin\book目錄下的幾個子目錄主要用于存放數據庫運行過程中的跟蹤信息。最重要的兩上子目錄是bdump和udump目錄,bdump目錄存放的是數據庫動行過程中的各個後台進程的跟蹤信息,當中alert文件是警告文件,其文件名稱爲alert_book.log,當數據庫出現問題時,首先就可以去查看此文件以找出原因,手工創建過程中出現的各種問題往往也可以通過查看這個文件找到原因。Udump目錄存放和特定會話相關的跟蹤信息。D:\oracle\product\10.1.0\oradata\book目錄存放各種數據庫文件,包括控制文件、數據文件、重做日志文件。

2、創建初始化參數文件

數據庫系統啓動時須要用初始化參數文件的設置分配內存、啓動必要的後台進程的。因此,初始化參數文件創建的是否正確、參數設置是否正確關系著整個建庫的「命運」。

創建初始化參數文件可以通過拷貝現在的初始化參數文件並將其做適當的修改即可,從而不必要用手工去一句一句地寫出來,因爲初始化參數文件的結構體系基本上都是一樣的。在我們安裝Oracle的時候,系統已經爲我們安裝了一個名爲orcl的數據庫,于是我們可以從它那裏得到一份初始化參數文件。打開D:\oracle\product\10.1.0\admin\orcl\pfile,找到init.ora文件,把它拷貝到D:\oracle\product\10.1.0\bd_1\databse下,並將其改名爲initbook.ora。接著用記事本的方式打開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――注意此處的「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

C:\>set oracle_sid=book

設置環境變量的目地是在默認的情況下,指定命令行中所操作的數據庫實例是book。

4、創建實例(即後台控制服務)

C:\>oradim –new –sid book

oradim是創建實例的工具程序名稱,-new表明執行新建實例,-delete表明執行刪掉實例,-sid指定害例的名稱。

5、創建口令文件

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

orapwd是創建口令文件的工肯程序各稱,file參數指定口令文件所在的目錄和文件名稱,password參數指定sys用戶的口令,entries參數指定數據庫擁用DBA權限的用戶的個數,當然還有一個force參數,相信您不指即明,這裏就不再細述。

請注意,這裏的命令要一行輸入,中間不得換行,否則會出現不必要的錯誤。

口令文件是專門存放sys用戶的口令,因爲sys用戶要負責建庫、啓動數據庫、關閉數據庫等特殊任務,把以sys用戶的中令單獨存放于口令文件中,這樣數據庫末打開時也能進行口令驗證。

6、啓動數據庫到nomount(實例)狀態

C:\>sqlplus /nolog

SQL*Plus:Release 10.1.0.2.0 - Production on 星期三 6月 29 23:09:35 2005

Copyright 1982,2004,Oracle. All rights reserved.

SQL>connect sys/bookstore as sysdba ---這裏是用sys連接數據庫

已連接到空閑例程

SQL>startup nomount

ORACLE 例程已經啓動。

Total System Global Area 319888364bytes

Fixed Size 453612bytes

Variable Size 209715200bytes

Database Buffers 109051904bytes

Redo Buffers 667648bytes

SQL>

7、執行建庫腳本

執行建庫腳本,首先要有建庫的腳本。(去哪找建庫腳本呢?我又沒有!)不用著急,請接著往下看。

得到一個符合自己要求的建庫腳本有兩種方法,一種方法是在自己的電腦上用DBCA來建,接照它的提示一步步地去做,在做到第十二步的時候,請選擇「生成建庫腳本」,然後就大功告成,你就可以到相應的目錄上去找到那個腳本並適當地修它便可便用。另一種方法就是自己手工去寫一份建庫腳本,這也是這裏要見意使用的方法,用記事本編輯如下的內容,並將其保存爲文件名任取而後綴名爲(*.sql)的SQL腳本,這裏保存到E盤根本錄下且文件名稱爲book.sql。

Create database book

datafile 'D:\oracle\product\10.1.0\oradata\book\system01.dbf' size 300M reuse autoextend on next 10240Kmaxsize 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" --請注意這裏的undo表空間要和參數文件對應

datafile 'D:\oracle\product\10.1.0\oradata\book\undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited

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、執行catalog腳步本創建數據字典

SQL>start D:\oracle\product\10.1.0\db_1\rdbms\admin\catalog.sql

9、執行catproc創建package包

SQL>start D:\oracle\product\10.1.0\db_1\rdbms\admin\catproc.sql

10、執行pupbld

在執行pupbld之前要把當前用戶(sys)轉換成system,即以system賬戶連接數據庫。因爲此數據庫是剛建的,所以system的口令是系統默認的口令,即manager。你可以在數據庫建好以後再來重新設置此賬戶的口令。

SQL>connect system/manager

SQL>start D:\oracle\product\10.1.0\db_1\sqlplus\admin\pupbld.sql

11、由初始化參數文件創建spfile文件

SQL>create spfile from pfile;

12、執行scott腳本創建scott模式

SQL>start D:\oracle\product\10.1.0\db_1\rdbms\admin\scott.sql

13、把數據庫打開到正常狀態

SQL>alter database open;

14、以scott連接到數據庫(口令爲tiger),測試新建數據庫是否可以正常運行

至此,整個數據庫就已經建好了。接著你就可以在此數據庫上建立自己的賬戶和表空間啦以及數據庫對象,這裏就不再作更多地敘述。

· 把年齡相仿的獅虎熊放一起,誰更厲害?結果出人意料

很多人都想知道獅子、老虎和熊打起來誰最厲害,于是便有好事之人把這三種動物關在一起...

· 湖北宜昌三峽壩區水面驚現神秘動物

近日,湖北宜昌,一段視頻在當地熱傳:有網友在三峽壩區拍到神秘動物,體型碩大數米長...

· 什麽是語段?語段的類型以及和句群、段落的區別與聯系是什麽?

句群是最高級的語言單位。 段落(自然段)是章法單位...

 
Oracle 10g數據庫的安全性和身份管理
Oracle數據庫10g爲Oracle身份治理提供了一種安全、可伸縮的基礎。Oracle互聯網目錄(OID)是作爲一個運行在Oracle數據庫10g上的應用程序來實施的,使 OID能夠在一個單一服務器上或者某個網格中的各個節點上支持數T字節...查看完整版>>Oracle 10g數據庫的安全性和身份管理
 
手工創建oracle數據庫
系統環境: 1、操作系統:Windows2000 Server 2、數據庫: Oracle8i R2 (8.1.6) for NT 企業版/Oracle 9i for NT 企...查看完整版>>手工創建oracle數據庫
 
爲你揭開抗菌産品的神秘面紗
爲你揭開抗菌産品的神秘面紗
插畫 劉麗娜 隨著健康環保意識的逐步增強,消費者對家居産品的附加功能有了更多要求,不少廠家也順勢推出了一些抗菌産品,抗菌地板、抗菌潔具、抗菌塗料等抗菌建材在如今的市場上隨處可見,似乎已相當“成熟”。然...查看完整版>>爲你揭開抗菌産品的神秘面紗
 
不再高深莫測:揭開商業智能神秘面紗_應用體驗_信息化頻道
  商業智能(BI)軟件並不是什麽高深莫測的玩意,至少在上海中原物業顧問有限公司(下稱中原地産)看來是如此。人力密集型的房地産中介行業,一貫以依靠大量銷售人員“拼單”而著稱,不過現在,他們成功地將這個再...查看完整版>>不再高深莫測:揭開商業智能神秘面紗_應用體驗_信息化頻道
 
揭開IP存儲的神秘面紗(一)
本文著重介紹了基于iSCSI協議的IP 存儲技術、現今存儲界的IP 存儲産品、應用方案以及IP 存儲發展前沿。前言2003年2月,北半球隆冬的氣息還沒有散去,但是每一個IT人的心中都知道,經過9.11洗禮後的IT的春天已經靜靜向...查看完整版>>揭開IP存儲的神秘面紗(一)