oracle xe 10g 手工建立資料庫 for windows XP
上一篇 /
下一篇 2011-03-25 00:56:30 / 個人分類:Oracle database 筆記 心得
查看( 376 ) /
評論( 2 ) /
評分(
1 / 0 )
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: Release10.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一下,能解決很多問題,具體出現的一些問題我會在日誌中記錄下來。