在windows下Oracle10g中建立資料庫(一)

來源:互聯網
上載者:User

在Oracle中建立資料庫,通常有兩種方法。

一是:使用Oracle的DBCA,這是一個圖形介面工且,使用起來方便且很容易理解,因為它的介面友好、美觀,而且提示也比較齊全。(ps:可以從開始菜單中進入DBCA,也可以在CMD中敲入dbca命令啟動DBCA)

二是:手動建立資料庫,手工建庫比起使用DBCA建庫來說,是比較麻煩的,但是如果我們學好了手工建庫的話,就可以使我們更好地理解Oracle資料庫的體繫結構。

使用DBCA與手工建庫的區別就像使用傻瓜相機與單反相機照相的區別,作為一個資深的oracle DBA必須學會手動建庫,以更好的適應企業業務的需要。

手工建庫須要經過幾個步驟,每一個步驟都非常關鍵。它包括:

1、 建立必要的相關目錄

2、 建立初始化參數檔案

3、 設定環境變數Oracle_sid

4、 建立執行個體(windows服務)

5、 建立口令檔案

6、 啟動資料庫到nomount(執行個體)狀態

7、 執行建庫指令碼

8、 執行catalog腳步本建立資料字典

9、 執行catproc建立package包

10、 執行pupbld 指令碼設定sqlplus

11、 由初始化參數檔案建立spfile檔案

12、 執行scott指令碼建立scott模式

做完了以上的步驟之後就可以使用“SQL>alter database open;”開啟資料庫正常的使用了。

這裡我們就建立一個sid為mydb的資料庫,具體的目錄根據自己安裝oracle情況決定:

1、建立必要的相關目錄

首先,建立admin目錄下的mydb,mydb下的子檔案夾

這幾個子目錄主要用於存放資料庫運行過程中的跟蹤資訊。最重要的兩上子目錄是bdump和udump目錄,bdump目錄存放的是資料庫動行過程中的各個後台進程的跟蹤資訊,當中alert檔案是警告檔案,其檔案名稱為alert_book.log,當資料庫出現問題時,首先就可以去查看此檔案以找出原因,手工建立過程中出現的各種問題往往也可以通過查看這個檔案找到原因。Udump目錄存放特定會話相關的跟蹤資訊。

第二,在oradata下建立資料庫檔案存放目錄

C:/oracle/product/10.1.0/oradata/mydb目錄存放各種資料庫檔案,包括控制檔案、資料檔案、重做記錄檔

2、建立初始化參數檔案

資料庫系統啟動時須要用初始化參數檔案的設定分配記憶體、啟動必要的後台進程的。因此,初始化參數檔案建立的是否正確、參數設定是否正確關係著整個建庫的“命運”。 建立初始化參數檔案可以通過拷貝現在的初始化參數檔案並將其做適當的修改即可,從而不必要用手工去一句一句地寫出來,因為初始化參數檔案的結構體系基本上都是一樣的。在我們安裝Oracle的時候,系統已經為我們安裝了一個名為orcl的資料庫,於是我們可以從它那裡得到一份初始化參數檔案。開啟C:/oracle/product/10.1.0/admin/orcl/pfile,找到init.ora檔案,把它拷貝到C:/oracle/product/10.1.0/bd_1/databse與C:/oracle/product/10.1.0/bd_1/dbs下,並將其改名為initmydb.ora。接著用記事本的方式開啟initmydb.ora,根據自己情況修改內容。如:必須修改db_name=mydb

注意:如果script檔案中的init.ora檔案路徑比較亂(既有斜杠也有反斜線)的情況,可以從C:/oracle/product/10.1.0/bd_1/dbs中拷貝複製。或者自己建立,備份。

3、開啟命令列,設定環境變數oracle_sid

   命令:set ORACLE_SID=mydb

4、建立執行個體服務(即後台控制windows服務)

命令:oradim -new -sid mydb

oradim是建立執行個體的工具程式名稱,-new表明執行建立執行個體,-delete表明執行刪掉執行個體,-sid指定執行個體的名稱。

命令執行完畢可以驗證服務是否建立成功

5、建立口令檔案

命令為:orapwd file=C:/oracle/product/10.1.0/db_1/database/PWDmydb.ora password=oracle entries=2

orapwd是建立口令檔案的程式名稱,file參數指定口令檔案所在的目錄和檔案名稱,password參數指定sys使用者的口令,entries參數指定資料庫擁用DBA許可權的使用者的個數。 請注意,這裡的命令要一行輸入,中間不得換行,否則會出現不必要的錯誤。 口令檔案是專門存放sys使用者的口令,因為sys使用者要負責建庫、啟動資料庫、關閉資料庫等特殊任務,把以sys使用者的中令單獨存放於口令檔案中,這樣資料庫末開啟時也能進行口令驗證。

6、啟動資料庫到nomount(執行個體)狀態

 

7、執行建庫指令碼

執行建庫指令碼,首先要有建庫的指令碼。那怎麼去找到指令碼呢?得到一個符合自己要求的建庫指令碼有兩種方法,一種方法是利用原來orcl建立資料庫DBCA產生的資料庫建立指令碼,並參照oracle文檔。另一種方法就是自己手工去寫一份建庫指令碼,並將其儲存為檔案名稱任取而尾碼名為(*.sql)的SQL指令碼,名稱為mydbcreate.sql。

CREATE DATABASE mydb

         USER SYS IDENTIFIED BY oracle

         USER SYSTEM IDENTIFIED BY oracle

         LOGFILE GROUP 1 ('C:/oracle/product/10.2.0/oradata/mydb/redo01.log') SIZE 100M,

         GROUP 2 ('C:/oracle/product/10.2.0/oradata/mydb/redo02.log') SIZE 100M,

         GROUP 3 ('C:/oracle/product/10.2.0/oradata/mydb/redo03.log') SIZE 100M

         MAXINSTANCES 8

         MAXLOGHISTORY 1

         MAXLOGFILES 16

         MAXLOGMEMBERS 3

         MAXDATAFILES 100

CHARACTER SET AL32UTF8

NATIONAL CHARACTER SET AL16UTF16

DATAFILE 'C:/oracle/product/10.2.0/oradata/mydb/SYSTEM01.DBF' SIZE 325M REUSE

EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE 'C:/oracle/product/10.2.0/oradata/mydb/SYSAUX01.DBF' SIZE 325M REUSE

DEFAULT TABLESPACE tbs_1

DEFAULT TEMPORARY TABLESPACE TEMP

TEMPFILE 'C:/oracle/product/10.2.0/oradata/mydb/TEMP01.DBF' SIZE 20480K REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

UNDO TABLESPACE UNDOTBS1

DATAFILE 'C:/oracle/product/10.2.0/oradata/mydb/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

 

執行上面的代碼有兩種方法,一種為直接複製粘貼到sqlplus中執行,另一種為用@命令執行。執行完第七步已經成功建立資料庫檔案,但是還沒有建立資料字典。

 (在第8步之前,執行了sql.bsq指令碼,D:/oracle/product/10.2.0/db_1/RDBMS/ADMIN檔案夾下,用於建立oracle資料字典基表,在create
database 時自動調用)

8、執行catalog腳步本建立資料字典

SQL>@C:/oracle/product/10.1.0/db_1/rdbms/admin/catalog.sql 

9、執行catproc建立package包

SQL>@C:/oracle/product/10.1.0/db_1/rdbms/admin/catproc.sql

10、執行pupbld

在執行pupbld之前要把目前使用者(sys)轉換成system,即以system賬戶串連資料庫。因為此資料庫是剛建的,所以system的口令是oracle(參加建立資料庫代碼)。

SQL>connect system/oracle

SQL>@C:/oracle/product/10.1.0/db_1/sqlplus/admin/pupbld.sql

11、由pfile建立spfile

SQL>create spfile from pfile

12、執行scott指令碼建立scott模式 (如果需要練習環境)

SQL>@C:/oracle/product/10.1.0/db_1/rdbms/admin/scott.sql

13、把資料庫開啟到正常狀態

SQL>alter database open; 

OK,手動建立資料庫成功!請多加練習,體會oracle建立的過程,理解oracle的體系架構。

ORA-1092 signalled during: CREATE DATABASE mydb

轉載自:

http://blog.csdn.net/akrem513/article/details/6527882

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.