本示例以win 7作为数据库测试服务器,主要介绍oracle数据库三大配置文件sqlnet.ora 、tnsnames.ora 、listener.ora。
sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数
tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样
listener.ora 用在oracle server端,配置oracle服务端程序的监听办法,比如限制某些ip等参数
1、sqlnet.ora
sqlnet.ora可以删除,这样在oracle客户端连接数据库的时候,默认采用tnsnames.ora中的配置。该配置文件中默认设置了两个参数
SQLNET.AUTHENTICATION_SERVICES= (NTS)
定义登录数据库的认证方式。NONE表示Oracle数据库身份验证,NTS表示操作系统身份验证,两种方式可以并用。可以设置成
SQLNET.AUTHENTICATION_SERVICES=(NONE,NTS)
先后顺序表明验证的优先方式。
2、tnsnames.ora
提供了客户端连接某个数据库的详细信息,主机地址,端口,数据库实例名等。
LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.1.17)(PORT = 1521))
#LOCAL
ORCL_LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.1.17)(PORT = 1521))
)
(CONNECT_DATA =
#(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
#10.10.1.107
ORCL_107 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.1.107)(PORT = 1521))
(CONNECT_DATA =
#(SERVER = DEDICATED)
(SERVICE_NAME = orcl.10.1.107)
)
)
ADDRESS_LIST 表示该客户机要经由多种协议与一台或多台服务器连接。在该样式文件中就表示该客户机要用TCP/IP协议来和服务器相连。
PROTOCOL 指明要连接使用的协议,参数一般是TCP,可以根据服务器情况选择一种配置方式。
HOST 一般是ip地址,也可以是主机名,这个主机名字只要能用ping hostname通就行,一般在客户端系统的host文件上配好主机名和ip地址的映射关系。
PORT 标准是1521,根据服务器端的监听端口而定。
SERVICE_NAME 就是数据库的服务名(Global Database Name),用system用户登陆查看service_name
-- 以system账户登录
sqlplus /nolog
conn system/orcl
--命令查看service_name
show parameter service_name
SID 指定要连接的服务器上ORACLE数据库的ORACLE_SID。
SERVER=DEDICATED 表示用专用服务器连接ORACLE数据库。
ORCL_LOCAL/ORCL_107是连接描述符,用于在远程登录时指定。比如连接到ORCL_107可以通过sqlplus登录访问
sqlplus dev/dev@orcl_107
注意:sqlplus远程访问需要先设置TNS_ADMIN环境变量
环境变量名称:TNS_ADMIN
环境变量值:D:\orcl\product\11.2.0\dbhome_1\NETWORK\ADMIN
具体配置地址以本机安装地址为准。
3、listener.ora
tnslsnr进程是监听、并接受远程连接数据库请求的监听进程,listener.ora是tnslsnr进程的配置文件,监听的参数都是从该配置文件中读取。
该文件位于服务端,如果只安装oracle客户端,一般不存在这个文件。如果你只需要在本地连接数据库,不接受远程连接,那么也不需要启动tnslsnr进程,也不需要去维护listener.ora文件。监听配置示例:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = d:\orcl\product\11.2.0\dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.1.17)(PORT = 1521))
)
)
ADR_BASE_LISTENER = d:\orcl
监听服务配置后需要重启数据库服务实例,命令如下:
#通过sqlplus登录 sqlplus /nolog conn dev/dev #停止数据库实例 shutdown immediate #启动实例服务 startup
启动监听进程的命令,在命令模式下,执行lsnrctl start命令就启动了监听进程tnslsnr。
#查看监听服务状态 lsnrctl status #开启监听服务 lsnrctl start #关闭监听服务 lsnrctl stop