PL/SQL Developer远程登录Oracle数据库的详细步骤
1 关闭数据库服务器的防火墙和SELinux
(1) 关闭防火墙
[root@oraServer admin]# chkconfig iptables off
(2)关闭SELinux
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
(3)重启机器
[root@oraServer admin]# reboot
2 配置监听
[root@oraServer admin]# xhost +
[root@oraServer admin]# su - oracle
[oracle@oraServer admin]$ netmgr
过几秒后弹出Oracle Net Manager界面
选中“监听程序”,点击最左侧的“+”号,弹出小窗口:
监听程序名称可以按默认值:LISTNER,点击“确定”
点击“监听位置”下方的“添加地址”,出现“地址1”界面。主机可以填数据库服务器的IP地址,也可以填IP地址对应的服务名(可以查看一下/etc/hosts),端口默认1521。这一步可以按默认
选择“监听位置”旁边的下拉箭头,选择“数据库服务”
选择下方的“添加数据库”,出现“数据库1”界面。
这个页面的全局数据库名和SID一定要填对,假如你的数据库名和SID都是ORCL,而默认的数据库服务名为Oracle8,这是错的,一定要改为ORCL(大小写都可以)。Oracle主目录和SID按默认的即可:
点击左上角的“文件”-->“保存网络配置”,会在$ORACLE_HOME/network/admin目录下生成listener.ora文件。
[oracle@oraServer admin]$ cd $ORACLE_HOME/network/admin
[oracle@oraServer admin]$ ls
listener.ora samples shrept.lst
可以看到多了个listener.ora文件
[oracle@oraServer admin]$ cat listener.ora
# listener.ora Network Configuration File: /oracle/app/product/11.2.0/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /oracle/app/product/11.2.0)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraServer)(PORT = 1521))
)
ADR_BASE_LISTENER = /oracle/app
3 打开监听
[oracle@oraServer admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 18-9月 -2014 16:32:09
Copyright (c) 1991, 2009, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraServer)(PORT=1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
Linux Error: 111: Connection refused
[oracle@oraServer admin]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 18-9月 -2014 16:32:14
Copyright (c) 1991, 2009, Oracle. All rights reserved.
启动/oracle/app/product/11.2.0/bin/tnslsnr: 请稍候...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
系统参数文件为/oracle/app/product/11.2.0/network/admin/listener.ora
写入/oracle/app/diag/tnslsnr/oraServer/listener/alert/log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraServer)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraServer)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for Linux: Version 11.2.0.1.0 - Production
启动日期 18-9月 -2014 16:32:15
正常运行时间 0 天 0 小时 0 分 2 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 /oracle/app/product/11.2.0/network/admin/listener.ora
监听程序日志文件 /oracle/app/diag/tnslsnr/oraServer/listener/alert/log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraServer)(PORT=1521)))
服务摘要..
服务 "ORCL" 包含 1 个实例。
实例 "ORCL", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
4 打开数据库
[oracle@oraServer admin]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 9月 18 16:35:33 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 499124216 bytes
Database Buffers 335544320 bytes
Redo Buffers 2396160 bytes
数据库装载完毕。
数据库已经打开。
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
5 配置客户端连接请求文件tnsname.ora
在Oracle Net Manager中选择“服务命名”,点击最左侧的“+”,弹出框里要求输入“网络服务名”,这个名称随便填,比如MyDB,MyOracle,MyConn或ORCL等:
点击“下一步”,出现网络协议选择界面,默认:
点击“下一步”,主机名可以填IP(192.168.245.133)也可以填主机名(OraServer),考虑到这个文件中的内容要拷到远程客户端下,推荐使用IP地址。端口号按默认的1521,跟监听的端口号保持一致:
点击“下一步”,新界面中服务名填ORCL,连接类型默认:
点击下一步,出现测试界面:
假如你解锁了scott用户且密码设为tiger的话,会显示测试成功。假如没解锁scott用户,或者scott用户的密码不为tiger的话,测试会失败。这时应该点击“更改登录”,用可行的账号和密码测试才能成功。
点击“关闭”关闭测试界面,点击“完成”关闭步骤界面,此时显示的服务命名页面
点击左上角的“文件”-->“保存网络”后,在相关路径下可以查看tnsnames.ora文件:
[oracle@oraServer admin]$ cd $ORACLE_HOME/network/admin
[oracle@oraServer admin]$ ls
listener.ora samples shrept.lst tnsnames.ora
[oracle@oraServer admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/app/product/11.2.0/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
MYDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.245.133)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
[oracle@oraServer admin]$
6 配置远程客户端的tnsname.ora
在客户端电脑上找到Oracle客户端安装目录,比如我的目录是D:\Database\plsql-oracle免安装版\instantclient-basic-win32-11.2.0.1.0\instantclient_11_2
新建NETWORK(大小写无所谓)目录,进入NETWORK目录,新建ADMIN(大小写无所谓),进入ADMIN目录,新建tnsnames.ora文件,把上个步骤中tnsnames.ora内容粘贴到新建的tnsnames.ora中。
7 配置PL/SQL DEVELOPER的首选项动态库
点击plsqldev.exe,弹出登录界面,不要输入用户名和密码,直接点“取消”按钮,PL/SQL Developer主界面以未登录方式打开,选择顶部的“工具”-->“首选项”
在Oracle主目录名中输入D:\Database\plsql-oracle免安装版\instantclient-basic-win32-11.2.0.1.0\instantclient_11_2
在OCI库中输入D:\Database\plsql-oracle免安装版\instantclient-basic-win32-11.2.0.1.0\instantclient_11_2\oci.dll
关闭PL/SQL Developer,重新打开登录界面,输入用户名和口令,“数据库”的选择项就是tnsname.ora中的网络服务名,“连接为”选择适当的身份,比如sys选择SYSDBA,scott则选择Normal
点击“确定”按钮后即可以看到远程连接成功:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29485627/viewspace-1273258/ ,如需转载,请注明出处,否则将追究法律责任。