向数据库注册实例的方法有静态注册和动态注册两种。对于静态注册来说,我们可以将一列硬编码在listener.ora文件中。动态注册意味着实例在启动时要定位侦听器并注册到侦听器中。
动态注册是向侦听器注册一个实例的首选方法,初始化参数LOCAL_LISTENER会告知实例其应当进行联系的。从而能够查找到注册实例的侦听器的网络地址。
PMON进程有时将自动执行注册,但可以在启动实例后的任何时间,使用一下命令强制注册:
alter system register;
提示:
如果重新启动侦听器,或者在启动侦听器之前启动数据库,那么就要使用alter system register命令向侦听器重新注册实例。
当实例关闭时,将自动从侦听器注销。
如果侦听器不在主机名确定的默认端口运行,侧必需通过设置local_listener参数和重新注册来指定侦听器的位置。
alter system set local_listener=list2;
alter system register;
如果希望启动net messager,那么在UNIX系统的提示符下可以运行netmgr,而在windows系统中可以从“开始”菜单中运行net messager。
要测试连接字符串,可使用TNSPING实用程序,这将接受连接字符串,找到oracleNET文件,解析此字符串,然后将消息发给侦听器,如果侦听器正在运行,而且了解请求的服务,该测试将成功返回。
在配置oracle net时,将涉及三个关键文件:
1.Listener.ora文件是定义数据库侦听器的服务器端文件,它包括协议,地址以及侦听器在其上侦听传入链接请求的端口,还(可选的)包含将针对其启动会话的硬编码实例列表。
2.tnsnames.ora文件是一个用于解析名称的客户端文件。用户进程使用它来定位数据库侦听器。实例本身也可以使用它来定位注册到的侦听器。
3.sqlnet.ora文件是一个可选文件,可能存在于服务器端,客户端或二者皆可,他包含应用于所有链接和侦听器的设置(如安全规则和加密)。
默认方式下,这三个oracle net文件存在于ORACLE_HOME/NETWORK/ADMIN目录中。
典型的ORACLE服务器至少有三个主目录,一个用于ENTERPRISE GRID CONTROL AGENT,一个用于启动数据库实例。一个用于启动AUTOMATIC STORAGE MANAGERMENT实例。