前面已经提到,Oracle数据库服务器一般是通过远程连接来访问的,本机访问一般用于安装测试,远程访问第一步,服务器端的监听配置上一节已经讲完,下面就介绍一下客户端的网络服务名配置,并测试远程连接访问数据库。
先介绍一下本次的案例先行条件:
下面对客户端配置远程访问服务名的3种方法进行简单介绍。
1. 通过客户端计算机的Oracle Net Configuration Assist配置
1)打开Oracle网络配置助手,选择“本地网络服务名配置”
2)根据需要这一步可以进行本地网络服务的增删改、测试操作,我们这里选择“添加”
3)这一步要求输入你要访问的数据库的“全局数据库名”,“全局数据库名”在安装数据库时指定,默认为name.domain(即:数据库名+数据库域名),当然也可以根据自己喜好随意命名,可以通过“select * from global_name;”进行查询。
4) 选择网络语数据库的通信协议,默认TCP即可:
5) 输入要访问的数据库服务器主机名,如果是访问本地的数据库,直接输入主机名或者输入127.0.0.1即可,如果是访问远程数据库服务器,则输入数据库所在计算机的IP,这里我们要访问远程数据库,IP:192.183.3.230;另外选择要访问的数据库的监听端口,Oracle默认的监听端口是1521,如果不确定端口,可以通过“tnsping 数据库所在计算机的IP”、或者在服务端通过“lsnrctl status”和“c:\app\nn\pruduct\12.1.0\dbhome_2\network\admin\listener.ora”查看Port。
6)配置完成进行测试
7)默认的测试使用Oracle的Scott用户,因为用户被锁或口令不对,一般情况都会测试不成功,这时候可以通过“更改登录”重新输入数据库的用户/口令来进行测试是否连接成功
8)测试成功,说明配置正确,可以远程访问指定的数据库
9) 网络服务名,即为该远程连接配置命名,默认是采用前面数据库的服务名;网络服务名是本地登录远程数据库时必须使用的,如利用SQL*PLUS远程登录数据库,则在CMD或者终端输入“sqlplus 用户名/口令@网络服务名”,例如,Oracle普通用户:sqlplus nn/123@myorcl,拥有dba权限的用户:sqlplus sys/123456@myorcl as sysdba。
10)至此,如果不需要再配置其他的网络服务,则该网络服务名配置完毕
2. 通过客户端计算机的Oracle Net Manager
1)打开Oracle网络管理器,点击“服务命名”,再点击左上方的“+”来添加网络服务
2) 输入网络服务名,为本次将要配置的远程连接命名,具体的用途参考第1种配置方法第9步。
3) 选择网络语数据库的通信协议,默认TCP即可:
4) 协议设置,输入要远程连接的数据库所在计算机IP地址以及监听器端口,具体解释参考第1种配置方法第5步:
5) 输入要连接的数据库的服务名,具体的解释参考第1种配置方法第3步:
6) 同样可以进行连接测试:
7) 如果测试失败,也可以通过“更改登录”用户名/口令再次测试连接:
8)配置完成
3. 通过tnsnames.ora文件配置
上面2种网络服务名配置方法其实都是借助工具将远程连接配置自动写入到tnsnames.ora,所以,手动修改tnsnames.ora同样可以配置网络服务名,一般情况下,该文件都是存放于$ORACLE_HOME/network/admin中,本案例路径为:f:\app\kk\product\11.2.0\client_1\network\admin\tnsnames.ora,在tnsnames.ora中加入如下图红色部分的内容。
这里附带说明一下几个容易相混淆的概念:
如:sqlplus nn/123@myorcl,遵循的格式就是 sqlplus username/password@连接标识符。
下面用客户端计算机的SQL*Plus来远程访问刚配置的数据库,能顺利访问数据库服务器表明配置正确。