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