今天配置数据库,需要远程连接,看了篇文章不错转过来:
远程服务端配置:1. 数据库配置 因为要为外界客户端提供数据服务,所以一定要将 [数据库操作模式] 配置为 "共享服务模式". 我就是犯了这个错误,将操作模式配置成了"专用服务器模式",导至远程客户端无法正常连接. 如果不能确定数据库的操作模式,可以打开ORACLE "Database Configuration Assistant" 工具的 "在数据库中配置数据库选项" 进行配置. 如果新建数据库一定不要忘了将 [数据库操作模式] 配置为 "共享服务模式". 2. 数据库服务 确定数据库服务已经启动. 方法: 命令行 下键入 "services.msc" 在 WINDOWS服务 窗口中找到您的数据库服务(一般都以 OracleService数据库实例名 的形式命名),查看是否为"已启动"状态,否则请启动该服务. 3. 监听程序 确定数据库已经附加到监听程序中,并且监听程序已启用. 方法: 命令行 下键入 "lsnrctl" 在 lsnrctl控制台 窗口中键入 "services 监听程序名" 如果出现 "摘要信息" 则说明监听程序已启动 如果出现 "无监听器" 字样,说明监听程序未被启动 在 lsnrctl控制台 窗口中键入 "start 监听程序名" 以启动监听程序 也可在 命令行 下键入 "services.msc" 在 WINDOWS服务 窗口中找到您的监听程序服务(一般都以 OracleOraHome92TNSListener监听程序名 的形式命名,默认的监听程序服务名为 "OracleOraDb10g_home1TNSListener"),查看是否为"已启动"状态,否则请启动该服务. 4. 网络状态 确定监听程序所使用的端口已被列入防火墙允许的行列. 本地客户端配置1. 测试连接 方法: 命令行 下键入 "tnsping 服务端IP地址" 如果出现 "OK(XX毫秒)" 字样,说明可以与服务端建立连接.否则请检查服务端配置. 2. 添加服务名 方法: 打开ORACLE "Net Configuration Assistant" 工具 -> "本地NET服务名配置" -> "添加" -> 选择ORACLE数据库或服务-> 输入服务名(建库时输入的全局数据库名) -> TCP -> 主机名中输入服务端IP地址,端口输入服务端监听程序所监听的端口 -> 是,进行测试 -> 首次测试可能会失败,因为默认的用户名口令不一定和服务端的匹配,点击 更改登录 输入有效用户名和口令确定后如出现"测试成功",说明连接成功,点击 下一步 -> 输入本地服务名 -> 直到完成.
3. 登录数据库
在SQLPLUS中以sys用户登录时的设置格式如下:
原文地址:http://www.cnblogs.com/jevonsea/archive/2009/07/30/1535492.html
经检查,服务器端配置、端口监听都正常,客户端也能tnsping通。但是我的问题出现在客户端配置上,在配置客户端的“本地NET服务名配置”时,不小心将数据库实例的名称写错了。
此处的数据库实例名称应该和oracle/product/10.2.0/db_1/NETWORK/ADMIN 目录下的tnsnames.ora的数据库实例名称保持一致的((SERVICE_NAME = orcl))。打开,看看吧:
## tnsnames.ora Network Configuration File: /oracle/product/10.2.0/db_1/network/admin/tnsnames.ora# Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hao251)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
