Oracle XE手動建立數據庫實例


參考資料為:

【Oracle XE系列之三】使用OMF方式手工創建Oracle XE數據庫 - 王立夫 - 博客園
http://www.cnblogs.com/opfo/p/5056122.html

 

環境:win7_64

 

以管理員打開cmd

 

1.創建數據庫實例,實例名為ORCL

oradim -new -sid ORCL

 

錯誤:dim-00014:無法打開 Windows NT 服務控制管理器。OS-Error:(OS 5) 拒絕訪問。

處理辦法:以管理身份運行.

 

 2.為了sys用戶可以連入數據庫執行操作,先創建數據庫的密碼文件,密碼文件的名稱必須為PWDsid.ora

orapwd password=oracle file=C:\oraclexe\app\oracle\product\11.2.0\server\database\PWDORCL.ora

 

自動生成PWDORCL.ora文件

 

3.創建下列目錄,以存放數據文件和dump信息

#數據文件目錄

C:\oraclexe\app\oracle\oradata\ORCL

#background dump目錄

C:\oraclexe\app\oracle\oradata\ORCL\bdump

#core dump目錄

C:\oraclexe\app\oracle\oradata\ORCL\cdump

#user dump目錄

C:\oraclexe\app\oracle\oradata\ORCL\udump

4.修改listener.ora為下列信息,把此數據庫注冊在監聽器中(可選)在C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN下

原有內容:

在最后一句的XE改成ORCL

5.為了可以訪問數據庫,修改tnsnames.ora為下列信息

在C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN下

原有內容:

改后:

即增加了下面的內容:

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

記得在哪里看過,第一行前面不能有空格,即"ORCL="這個前面不能有空格.(參考資料把XE的刪除了,我沒刪)

6.建立pfile文件C:\oraclexe\app\oracle\product\11.2.0\server\database\initORCL.ora,文件的內容如下:(注意文件名)

background_dump_dest='C:\oraclexe\app\oracle\oradata\ORCL\bdump'
compatible='11.2.0.1.0'
control_files='C:\oraclexe\app\oracle\oradata\ORCL\control01.ctl',C:\oraclexe\app\oracle\oradata\ORCL\control02.ctl'
core_dump_dest='C:\oraclexe\app\oracle\oradata\ORCL\cdump'
db_block_size=8192
db_name='ORCL'
db_recovery_file_dest='C:\oraclexe\app\oracle\fast_recovery_area'
db_recovery_file_dest_size=2147483648
pga_aggregate_target=41943040
processes=150
remote_login_passwordfile='EXCLUSIVE'
sga_max_size=167772160
sga_target=125829120
undo_management='AUTO'
undo_tablespace='undotbs1'
user_dump_dest='C:\oraclexe\app\oracle\oradata\ORCL\udump'
db_create_file_dest='C:\oraclexe\app\oracle\oradata\ORCL'
db_create_online_log_dest_1='C:\oraclexe\app\oracle\oradata\ORCL'

 

7.連入數據庫,並創建spfile文件

以管理員打開cmd

set ORACLE_SID=ORCL

sqlplus.exe / as sysdba

create spfile from pfile;

 

8.啟動數據庫到nomount

startup nomount

9.創建creata database文件C:\oraclexe\app\oracle\admin\PF\Create\createdb.sql腳本,具體內容如下:

create database ORCL
user sys identified by oracle
user system identified by oracle
default temporary tablespace temp
undo tablespace undotbs1
character set utf8
national character set al16utf16;

執行createdb.sql

@C:\oraclexe\app\oracle\admin\ORCL\Create\createdb.sql

10.執行catalog.sql,創建數據庫的數據字典視圖

spool C:\oraclexe\catalog.log

@C:\oraclexe\app\oracle\product\11.2.0\server\RDBMS\ADMIN\catalog.sql

spool off

執行第二句的時候出現了一長串的內容,好像是因為已經建立了報錯,可能是之前就有了,不明確有沒有問題:

11.執行catproc.sql,創建執行PL/SQL程序所需的所有包

spool C:\oraclexe\catproc.log

@C:\oraclexe\app\oracle\product\11.2.0\server\RDBMS\ADMIN\catproc.sql

spool off

 

 最后兩步運行過程雖然有報錯,但暫時無視,過后用看看有沒有出現問題.(最后一步運行了好久)

 

到此數據庫ORCL創建完畢,可以正常使用了。

需要注意的地方:
 (1)在11g中,如果system01.dbf這個文件用extent management local的話,必須創建一個temporary表空間。
 (2)11g必須創建sysaux01.dbf這個文件
 (3)如果以上步驟出現錯誤,而錯誤提示為亂碼的話,可以退出SQLPLUS,然后設置環境變量set nls_lang=american_america.zhs16gbk(windows),然后再登錄數據庫。

 

總結:創建過程中出現了很多的問題和報錯,出現報錯后查看告警日志alert_pf,本例中路徑是C:\oraclexe\app\oracle\oradata\ORCL\bdump,根據錯誤號可以google一下,能解決很多問題

 

 

以下不是必須的:

在服務里面看到出現OracleServiceORCL,但是是手動開啟了,順手改成自動開啟了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM