手工建立oracle資料庫的過程

sunwgneuqsoft發表於2007-12-01

資料庫: Oracle 8i R2 (8.1.6) 安裝路徑:d:oracleora81 資料庫例項:mytest 資料庫全域性名稱:mytest.world

步驟一:手工建立相關目錄

這些目錄是新建資料庫的一些必要的資料夾之類,比如初始化引數資料夾,udump資料夾,資料檔案資料夾等等,下面列出的是一個最基本的目錄表

[@more@]

資料庫: Oracle 8i R2 (8.1.6) 安裝路徑:d:oracleora81 資料庫例項:mytest 資料庫全域性名稱:mytest.world

步驟一:手工建立相關目錄

這些目錄是新建資料庫的一些必要的資料夾之類,比如初始化引數資料夾,udump資料夾,資料檔案資料夾等等,下面列出的是一個最基本的目錄表

d:oracleadminmytestarch

d:oracleadminmytestbdump

d:oracleadminmytestcreate

d:oracleadminmytestpfile

d:oracleadminmytestudump

d:oracleoradatamytest

注意:建立以上資料夾比較簡單的方法是,將D:OracleOra81ADMIN資料夾下面的sample檔案直接複製到d:oracleadmin下,然後修改為你要建立的資料庫的名稱即可。資料檔案資料夾就一個資料夾,建立過程比較簡單。

步驟二:手工建立資料庫初始化檔案

你可以手工建立一個資料庫初始化檔案,也可以從其他已有資料庫中複製一個初始化檔案然後稍加修改即可。

其中需要修改的初始化檔案中的引數只要有:

db_name = "mytest"

db_domain = world

instance_name = mytest

service_names = mytest.world

control_files = (………………………………)

background_dump_dest =

utl_file_dir =

還有其他一些與路徑有關係的引數。由於初始化引數檔案比較大就不詳細列舉了。

步驟三:準備建立資料庫的指令碼,主要有兩個指令碼

D:OracleOra81RDBMSADMINBUILD_DB.SQL

D:OracleOra81RDBMSADMINBUILDALL.SQL

其中BUILD_DB.SQL這個檔案裡面的程式碼是建立資料庫的。這個檔案裡面需要進行修改以滿足新的資料庫要求,以下為修改後的BUILD_DB.SQL

startup nomount pfile=d:oracleadminmytestpfileinitmytest.ora

create database mytest

controlfile reuse

logfile 'D:Oracleoradatamytestredo01.log' size 1M reuse,

'D:Oracleoradatamytestredo02.log' size 1M reuse,

'D:Oracleoradatamytestredo03.log' size 1M reuse,

'D:Oracleoradatamytestredo04.log' size 1M reuse

datafile 'D:Oracleoradatamytestsystem01.dbf' size 100M reuse autoextend on

next 100M maxsize 500M

character set ZHS16GBK;

create rollback segment rb_temp storage (initial 100 k next 250 k);

create tablespace users

datafile 'D:Oracleoradatamytestusers01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

create tablespace rbs

datafile 'D:Oracleoradatamytestrbs01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

create tablespace temp

datafile 'D:Oracleoradatamytesttemp01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

create tablespace oem_repository

datafile 'D:Oracleoradatamytestoemrep01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

create tablespace indx

datafile 'D:Oracleoradatamytestindx01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

alter rollback segment rb_temp online;

alter user system temporary tablespace temp;

alter user system default tablespace users;

create public rollback segment rb1 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb2 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb3 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb4 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb5 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb6 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb7 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb8 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb9 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb10 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb11 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb12 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb13 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb14 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb15 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb16 storage(initial 50K next 250K)

tablespace rbs;

自己建立資料庫的時候可以修改裡面的各項引數來滿足實際的要求。

另一個檔案BUILDALL.SQL是我們一會要執行的檔案,可以開啟看一下,裡面包括很多語句,第一個就是建立資料庫的,其他的就是一些資料字典的建立,資料字典檢視的建立,同義詞的建立,scott使用者的建立等等,有興趣的可以自己多看看。這個檔案主要需要修改的就是一些路徑,檢查一下是否將要執行的檔案都存在,是否路徑都正確。下面就是這個已經修改完畢的BUILDALL.SQL檔案的例子

spool build.log

SET TERMOUT OFF

SET ECHO OFF

connect internal

@D:Oracleadminmytestbuild_db.sql

@D:OracleOra81RDBMSadmincatalog.sql

@D:OracleOra81RDBMSadmincatsnmp.sql

connect internal

@D:OracleOra81RDBMSadmincatexp7.sql

@D:OracleOra81RDBMSadmincatproc.sql

@@scott.sql

connect internal

@@demo.sql

connect system/manager

@D:OracleOra81RDBMSadmincatdbsyn.sql

@D:OracleOra81dbspupbld.sql

connect internal

@D:OracleOra81RDBMSadmincaths.sql

@D:OracleOra81RDBMSadminoramts.sql

connect internal

alter rollback segment rb_temp offline;

shutdown;

spool off

步驟四:為新資料庫建立新的例項

對資料庫例項進行操作的命令是oradim。在dos環境下可以看到oradim命令的詳細解釋:

C:>oradim

ORADIM: <命令> [選項]。請參閱相關手冊。

請輸入下列命令之一:

請指定下列引數,建立例程:

-NEW -SID sid | -SRVC 服務 [-INTPWD 口令] [-MAXUSERS 數量] [-STARTMODE a|m]

[-PFILE 檔案] [-TIMEOUT ]

請指定下列引數,編輯例程:

-EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE

檔名]

[-SHUTMODE a|i|n] [-SHUTTYPE srvc|inst|srvc,inst] [-TIMEOUT ]

請指定下列引數,刪除例程:

-DELETE -SID sid | -SRVC 服務名稱

請指定下列引數,啟動服務和例程:

-STARTUP -SID sid [-USRPWD 口令] [-STARTTYPE srvc|inst|srvc,inst] [-PFILE

件名]

請指定下列引數,關閉服務和例程:

-SHUTDOWN -SID sid [-USRPWD 口令] [-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE

a | i | n]

請指定下列引數,查詢幫助:-? | -h | -help

我們建新的例項需要用的命令是oradim –new –sid這個命令,以下就是建立新例項的命令:

c:>oradim –new –sid mytest –intpwd admin –pfile d:oracleadminmytestpfileinit.ora

其中mytest為新例項的名稱,adminsys的初始密碼,pfile後面的引數為新資料庫的初始化引數的路徑。這個命令執行以後會發現記憶體的需求增加了,在服務裡面多了一個名字為mytest的服務。

步驟五:修改oracle_sid

開啟命令提示框,在裡面輸入

c:>set oracle_sid=mytest

這個步驟是修改現在系統預設的oracle_sid,這一步驟在系統中已經存在資料庫的機器上面尤為重要

步驟六:執行建立資料庫的命令

可以在svrmgrl中或者在sqlplus中以internalsys的使用者登陸,執行剛才編輯好的檔案

sql>@BUILDALL.SQL

總結:經過以上六部就可以完成手工建立資料庫。手工建立資料庫比用dbca建立的時候有更大的靈活性。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8394333/viewspace-987137/,如需轉載,請註明出處,否則將追究法律責任。

相關文章