Oracle 10G利用命令列手工建立資料庫

來源:互聯網
上載者:User
Oracle 10G利用命令列手工建立資料庫

轉載:http://tech.ccidnet.com/art/1105/20080807/1536965_1.html

在Oracle中建庫,通常有兩種方法。一是使用Oracle的建庫工且DBCA,這是一個圖形介面工且,使用起來方便且很容易理解,因為它的介面友好、美觀,而且提示也比較齊全。在Windows系統中,這個工具可以在Oracle程式組中開啟(”開始”—“程式”—“ Oracle - OraDb10g_home1”—“Configuration and Migration Tools”—“ Database ConfigurationAssistant”),也可以在命令列(”開始”—“運行”—“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),測試建立資料庫是否可以正常運行

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.