Chinaunix首页 | 论坛 | 博客
  • 博客访问: 539908
  • 博文数量: 128
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 1345
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-22 21:43
文章分类

全部博文(128)

文章存档

2009年(30)

2008年(98)

我的朋友

分类: Oracle

2008-10-13 17:42:51

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

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”

阅读(980) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~