tns 连接问题

今天使用了手工建库来创建数据库,创建成功后出现了两个问题:

1.无法关闭数据库
SQL> shutdown immediate;
ORA-00106: 无法在连接到调度程序时启动/关闭数据库


解决方法:
在sqlnet.ora里加上USE_DEDICATED_SERVER=ON,TNS设成dedicated方式连接




2.无法使用conn / as sysdba登录系统
SQL> conn / as sysdba
ERROR:
ORA-12560: TNS: 协议适配器错误

解决方法:http://www.itpub.net/thread-223688-1-1.html

解决ORA-12560: TNS: 协议适配器错误,与大家共享

今天遭遇ORA-12560: TNS: 协议适配器错误的问题,经过一番努力问题已经解决,与大家共享。
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,
启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务
面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SI
D设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建
,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下
输set oracle_sid=XXXX,XXXX就是你的database SID.
经过以上步骤,就可以解决问题。



额外的信息:
● Oracle认证方式:
C:\>sqlplus "/as sysdba"
SQL*Plus:Release 10.2.0.1.0 - Production on Fri Nov 2 16:16:22 2007
Copyright (c) 1982, 2005, Oracle. All right reserved.
ERROR:
ORA-01031: insufficient privileges
Enter user-name:

这个错误一般是由于oracle登录认证出现了问题:
Oracle登录认证有两种方式,基于操作系统的登录认证,基于oracle的验证。
可以通过改变sqlnet.ora文件,可以修改oracle登录认证方式:

SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于操作系统验证;
SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle验证;
SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。

经过测试,以上规则只适用于windows服务器,在linux下规则如下:

默认情况下linux下的oracle数据库sqlnet.ora文件没有SQLNET.AUTHENTICATION_SERVICES参数,
此时是基于操作系统认证和oracle密码验证共存的,
加上SQLNET.AUTHENTICATION_SERVICES参数后,
不管SQLNET.AUTHENTICATION_SERVICES设置为NONE或者NTS,都是基于oracle密码验证的。

Windows下设置oracle登录验证为操作系统验证方式的方法:
1:把os用户加到ora_dba组
2:设置sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS)
或者你可以重建口令文件来改密码,只不过原来授予sysdba和sysoper权限的用户,就不再具有这2个权限了。


● sqlnet.ora文件中USE_DEDICATED_SERVER参数的意义:

专用服务器连接
如果客户端要求建立专用服务器连接方式,可以修改客户羰的网络配置文件tnsnames.ora或修改连接描述串。
增加关键字“Server=DEDICATED”
还必须修改SQLNET.ORA文件,增加“USE_DEDICATED_SERVER=TRUE”

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/611609/viewspace-557636/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/611609/viewspace-557636/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值