oracle xe 10g 手工建立資料庫 for windows XP

spectre2發表於2011-03-25

windows XP下,使用OMF方式手工建立資料庫

 

1.建立資料庫例項,例項名為ora10g(只是Windows平臺需要,Unix平臺不需要)

D:\oraclexe\app\oracle\product\10.2.0\server\BIN>oradim -new -sid ora10g

例項已建立。

 

2.為了sys使用者可以連入資料庫執行操作,先建立資料庫的密碼檔案,密碼檔案的名稱必須為PWDsid.ora

D:\oraclexe\app\oracle\product\10.2.0\server\BIN>orapwd password=oracle file= D:\ORACLEXE\APP\ORACLE\PRODUCT\10.2.0\SERVER\DATABASE\PWDora10g.ora

 

OPW-00001: 無法開啟口令檔案

**建立相關目錄**

D:\oraclexe\app\oracle\product\10.2.0\server\BIN>orapwd password=oracle file=D:\ORACLEXE\APP\ORACLE\PRODUCT\10.2.0\SERVER\DATABASE\PWDora10g.ora

 

3.建立下列目錄,以存放資料檔案和dump資訊

#資料檔案目錄

D:\oraclexe\oradata\ora10g

#background dump目錄

D:\oraclexe\app\oracle\admin\ora10g\bdump

#core dump目錄

D:\oraclexe\app\oracle\admin\ora10g\cdump

#user dump目錄

D:\oraclexe\app\oracle\admin\ora10g\udump

4.修改listener.ora為下列資訊,把此資料庫註冊在監聽器中(可選)在D:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN下

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\app\oracle\product\10.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\oracle\app\oracle\product\10.2.0\server)
      (PROGRAM = extproc)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_ora10g))
      (ADDRESS = (PROTOCOL = TCP)(HOST = ssjwork)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (ora10g)

根據檔案新增

5.為了可以訪問資料庫,修改tnsnames.ora為下列資訊

在D:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN下

ORA10G =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ssjwork)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = dedicated)
      (SERVICE_NAME = ora10g)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_ora10g))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_ora10g))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

 

6.建立pfile檔案D:\ORACLEXE\APP\ORACLE\PRODUCT\10.2.0\SERVER\DATABASE\initora10g.ora,檔案的內容如下:(注意檔名)

 

background_dump_dest='D:\oraclexe\app\oracle/admin/ora10g/bdump'

compatible='10.2.0.1.0'

control_files='D:\oraclexe\oradata\ORA10G\control01.ctl','D:\oraclexe\oradata\ORA10G\control02.ctl'

core_dump_dest='D:\oraclexe\app\oracle/admin/ora10g/cdump'

db_block_size=8192

db_name='ora10g'

db_recovery_file_dest='D:\oraclexe\app\oracle/flash_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='D:\oraclexe\app\oracle/admin/ora10g/udump'

db_create_file_dest='D:\oraclexe\oradata\'

db_create_online_log_dest_1='D:\oraclexe\oradata\'

                     

7.連入資料庫,並建立spfile檔案

D:\oraclexe\app\oracle\product\10.2.0\server\BIN>set ORACLE_SID=ora10g

 

D:\oraclexe\app\oracle\product\10.2.0\server\BIN>sqlplus.exe / as sysdba

 

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 3 24 13:59:53 2011

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

已連線到空閒例程。

 

SQL> create spfile from pfile;

 

檔案已建立。

 

8.啟動資料庫到nomount

SQL> startup nomount

ORACLE 例程已經啟動。

 

Total System Global Area  167772160 bytes

Fixed Size                  1286364 bytes

Variable Size             104861476 bytes

Database Buffers           58720256 bytes

Redo Buffers                2904064 bytes

SQL>

 

9.執行creata database指令碼

#createdb.sql指令碼的具體內容如下:

create database ora10g

user sys identified by oracle

user system identified by oracle

default temporary tablespace temp

undo tablespace undotbs1

character set utf8

national character set al16utf16;

 

SQL>@D:\oraclexe\app\oracle\admin\ora10g\create\createdb.sql

10.執行catalog.sql,建立資料庫的資料字典檢視

SQL>spool D:\oraclexe\catalog.log

SQL>@D:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql

SQL>spool off

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

SQL>spool D:\oraclexe\catproc.log

SQL>@D:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql

SQL>spool off

到此資料庫ora10g建立完畢,可以正常使用了。

需要注意的地方:
(1)在10g中,如果system01.dbf這個檔案用extent management local的話,必須建立一個temporary表空間。
(2)10g必須建立sysaux01.dbf這個檔案
(3)如果以上步驟出現錯誤,而錯誤提示為亂碼的話,可以退出SQLPLUS,然後設定環境變數set nls_lang=american_america.zhs16gbk(windows),然後再登入資料庫。

總結:建立過程中出現了很多的問題和報錯,出現報錯後檢視告警日誌alert_ora10g,本例中路徑是D:\oraclexe\app\oracle\admin\ora10g\bdump,根據錯誤號可以google一下,能解決很多問題,具體出現的一些問題我會在日誌中記錄下來。


 

 

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

相關文章