您的位置:首页 > 数据库 > Oracle

oracle port--check & update

2011-02-16 20:58 253 查看
一般Oracle安装好之后的默认端口为1521,为了安全。如何更改。

1、查看监听端口:
C:\Documents and Settings\mengzhaoliang>lsnrctl status

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 17-12月-2008 18:2
8:20

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=orcl)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 15-12月-2008 17:35:26
正常运行时间 2 天 0 小时 52 分 58 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文件 D:\oracle\product\10.2.0\db_1\network\log\listener.log

监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\orclipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务 "orcl" 包含 2 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功

2、改变端口号
在D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora文件
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = orcl))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)

改成:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = orcl))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1568))
)
)

3、停止监听命令:
C:\Documents and Settings\mengzhaoliang>lsnrctl stop

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 17-12月-2008 18:30:31

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=orcl)))
命令执行成功

4、重启监听命令:
C:\Documents and Settings\mengzhaoliang>lsnrctl start

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 17-12月-2008 18:30:44

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

启动tnslsnr: 请稍候...

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\orclipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1568)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=orcl)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 17-12月-2008 18:30:45
正常运行时间 0 天 0 小时 0 分 1 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
监听程序日志文件 D:\oracle\product\10.2.0\db_1\network\log\listener.log

监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\orclipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1568)))
服务摘要..
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

这样就可以成功更改监听端口号了

5、[b]测试是否成功进入数据库[/b]
用超级用户可以连接上数据库SQL>sqlplus "/as sysdba"
但用普通用户不可以,如SQL>sqlplus test/test@ORCL
用户连接不是数据库:出现:

ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

原来listener.ora内容:
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)

改成(红色部分为增加、修改部分):
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1568))
)
)

tnsnames.ora的文件内容为:
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

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

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

最后在windows中的“控制面板”——》“管理工具”——》“服务”中把Oracle的listener服务器(OracleOraDb10g_home1TNSListener)重新启动

6、再用普通用户登陆可以进入数据库
SQL>sqlplus test/test@ORCL

成功进入数据库了

附录:
如果在用本地Oracle连接远程的Oracle数据库,在$ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora(如:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora)增加上远程数据库的信息。这样可以用PLSQL等第三方软件连接。

增加信息:如:
ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.169.1.118)(PORT = 1568))
(CONNECT_DATA =
(SID=ORCL)
(SERVER = DEDICATED)
)
)

注意:在linux下面也是跟这个雷同,唯一不同的是,lisenter.ora的存放路径与windows的不同
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: