网络配置文件默认的目录在$ORACLE_HOME/network/admin 目录下
sqlnetora
sqlnetora文件决定找数据库服务器别名的方式
参数SQLNETAUTHENTICATION_SERVICES= (NONENTS)表明用户连接Oracle服务器时使用哪种验证方式
NONE表示Oracle身份验证
NTS表示操 作系统身份验证
两种方式可以并用
ORA_DBA组中的域用户和本地用户不需要Oracle用户名和密码就可以登录Oracle
而且该组的用户登录数据库后都具有SYSDBA权限(多个实 例时可以建立类似这样的组ORA_SID_DBA其中SID指实例名
同理:ORA_OPER组中的成员具有SYSOPER角色的权限
登录方式 sqlplus / as sysdba
或者sqlplus nolog然后SQL>connect / as sysdba
NAMESDEFAULT_DOMAIN = WORLD
NAMESDIRECTORY_PATH = (TNSNAMES ONAMES HOSTNAME)
表明解析客户端连接时所用的主机字符串的方式
TNSNAMES表示采用TNSNAMESORA文件来解析
ONAMES表示使用自己的名称服务器(Oracle Name Server)来解析目前Oracle建议使用轻量目录访问协议LDAP来取代ONAMES
HOSTNAME表示使用host文件DNSNIS等来解析
如果你的ORACLE客户端和服务器默认的域名不一样需要用#号注释第一行
#NAMESDEFAULT_DOMAIN = WORLD
使它不起作用
NAMESDIRECTORY_PATH指定找服务器别名的顺序 (本地的tnsnamesora文件 命名服务器 主机名方式)
服务器的sqlnetora里可以设置检查客户端是否alive的时间间隔
sqlnetexpire_time =
也可以设置环境变量TNS_ADMIN指向你想用的sqlnetora和tnsnamesora目录
例如
TNS_ADMIN=/home/oracle/config/;export TNS_ADMIN
tnsnamesora
写数据库服务器别名的详细内容
有以下几种写法:
# 一般的写法
APPDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = appdb)
)
)
# 明确标明用dedicated方式连接数据库
APPD=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=))
(CONNECT_DATA=
(SERVICE_NAME=appdb)
(SERVER=DEDICATED)))
# 对多个listener端口做均衡负载方式连接数据库
APPS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = appdb)
)
)
# 注意如果数据库服务器用MTS客户端程序需要用database link时最好明确指明客户端用dedicated直连方式
# 不然会遇到很多跟分布式环境有关的ORACLE BUG
# 一般情况下数据库服务器用直接的连接会好一些除非你的实时数据库连接数接近