轉自:
http://blog.csdn.net/tianlesoftware/article/details/4680230
在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>alterdatabase 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 319888364
bytes Fixed Size 453612bytes
Variable Size 209715200bytes
DatabaseBuffers 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 640Kmaxsize 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>connectsystem/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>alterdatabase open;
14、以scott連接到數據庫(口令為tiger),測試新建數據庫是否可以正常運行 至此,整個數據庫就已經建好了。接著你就可以在此數據庫上建立自己的賬戶和表空間啦以及數據庫對象,這里就不再作更
多地敘述。
附:本意是想在linux上創建個oracle實例的,用這個文檔搗鼓了半天,都快結束了才發現這個方法只能在window上使用。暈死了。自己機子上裝的oracle 11i的,看了下與oracle 10g還是有點區別的:
沒仔細研究,就發現amin下目錄不一樣:
Oracle 10G下有bdump ,udump ,cdump,pfile,create
Oracle 11i 只有 adump,dpdump,pfile 三個。有空在研究吧。
還是想在linux下手動創建個。
unix和linux下沒有oradim命令,因為沒用,oradim主要就是用來控制服務的,unix/linux上oracle 實例不需要建立服務,所以就沒有。
posted on 2011-07-18 18:50
xzc 閱讀(682)
評論(0) 編輯 收藏 所屬分類:
Oracle