1. 下載
在這里下載文件: Oracle Database Express Edition 11g Release 2 for Windows x32
Oracle 不提供 windows 下 64 位的 Express 版, 但是 32 位的也是可以正常運行的.
2. 安裝
解壓 OracleXE112_Win32.zip, 執行 DISK1->setup.exe 安裝.
3. SQL*Plus連接測試.
開始菜單->Oracle Database 11g Express Edition->"運行 SQL 命令行"
(1). 按以下操作可以成功連接數據庫.
(2). 使用ip地址連接數據庫.
(a). 如果提示: ORA-12541: TNS:no listener, 說明 OracleXETNSListener 沒有啟動, 在系統服務(Component Services) 里啟動即可.
(b). 如果OracleXETNSListener 服務啟動失敗, 則需查看 listener.ora(C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN) 文件中 LISTENER 的 HOST 配置, 我的文件中配置的是 HOST = PVGXXX.aaa.corp(公司的電腦), 這樣當電腦連不上此域時, 就無法開啟服務.
解決方法: 把 HOST 設置為 localhost 或 127.0.0.1 即可.
(3) 使用 tns 連接數據庫.
(a). 如果提示: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor; 說明 listener.ora 中沒有配置相應的 SID_DESC.
在 listener.ora 的 SID_LIST_LISTENER --> SID_LIST 中添加一項 SID_DESC 如下:
(SID_DESC =
(GLOBAL_DBNAME = XE)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(SID_NAME = XE)
)
注意: 這里的 SID_NAME 應與 tns 相一致(Express 默認為 XE, 正式版默認為 ORCL).
4. PL/SQL 連接測試.
可以在 SQL*Plus 中使用 tns 連接上數據庫, PL/SQL 也就可以正常連接了.
5. 可以正確連接的 listener.ora 文件.
01 |
SID_LIST_LISTENER = |
02 |
(SID_LIST = |
03 |
(SID_DESC = |
04 |
(SID_NAME = PLSExtProc) |
05 |
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) |
06 |
(PROGRAM = extproc) |
07 |
) |
08 |
(SID_DESC = |
09 |
(SID_NAME = CLRExtProc) |
10 |
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) |
11 |
(PROGRAM = extproc) |
12 |
) |
13 |
(SID_DESC = |
14 |
(GLOBAL_DBNAME = XE) |
15 |
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) |
16 |
(SID_NAME = XE) |
17 |
) |
18 |
) |
19 |
|
20 |
LISTENER = |
21 |
(DESCRIPTION_LIST = |
22 |
(DESCRIPTION = |
23 |
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) |
24 |
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) |
25 |
) |
26 |
) |
27 |
|
28 |
DEFAULT_SERVICE_LISTENER = (XE) |
6. 可以正確連接的 tnsnames.ora 文件.
01 |
XE = |
02 |
(DESCRIPTION = |
03 |
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) |
04 |
(CONNECT_DATA = |
05 |
(SERVER = DEDICATED) |
06 |
(SERVICE_NAME = XE) |
07 |
) |
08 |
) |
09 |
|
10 |
EXTPROC_CONNECTION_DATA = |
11 |
(DESCRIPTION = |
12 |
(ADDRESS_LIST = |
13 |
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) |
14 |
) |
15 |
(CONNECT_DATA = |
16 |
(SID = PLSExtProc) |
17 |
(PRESENTATION = RO) |
18 |
) |
19 |
) |
20 |
|
21 |
ORACLR_CONNECTION_DATA = |
22 |
(DESCRIPTION = |
23 |
(ADDRESS_LIST = |
24 |
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) |
25 |
) |
26 |
(CONNECT_DATA = |
27 |
(SID = CLRExtProc) |
28 |
(PRESENTATION = RO) |
29 |
) |
30 |
) |
7. 環境: Windows 7 Enterprise(64-bit) + Oracle Database Express Edition 11g Release 2 for Windows x32