十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
成都创新互联公司是一家专注于网站建设、成都网站设计与策划设计,安乡网站建设哪家好?成都创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:安乡等地区。安乡做网站价格咨询:18982081108
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.
sqlplus "/ as sysdba" 连不上,报ora-01031:insufficient privileges解决方法
注意多个数据库实例时候,set ORACLE_SID='',
1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上
2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。
3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .
4. 看看是否需要使用orapassw生成口令文件 .
一种解决方法案例:
1、检查系统参数:SQL show parameter password
NAME TYPE VALUE------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
2、
select * from v$pwfile_users;
SQL
为空
3、SQL grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
4、建立password文件
D:/orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp
oswong entries=10
5、
SQL select * from v$pwfile_users;
USERNAME SYSDB SYSOP------------------------------ ----- -----
SYS TRUE TRUE
SYS正常显示出来。
6、重新在远程以SYSDBA登录,可正常使用。
如果口令文件创建的有问题,也是会报如下的错误:
ora-01031:insufficient privileges
口令文件的命名格式应为orapwsid,并且sid是区分大小写的。由于Target Database连接Auxiliary Database时需要验证口令,如果违反了以上规则,将会提示ORA-01031: insufficient privileges。
我在用linux创建duplicate数据库的时候 就是因为口令文件创建的路径和名称不对才遇到这个错误
-----end-------
出现这种问题只有两种可能,第一例程服务名被改错了,第二就是oracle的实例服务没有启动,因为oracle启动数据库时,是先启动实例,而实例被写在操作系统服务中,如果你没有启动,oracle是找不到的。所以会报错。同时如果你连接没有启动的实例,肯定会报错,
除非你以sysdba的身份来连接,可以连接上空的实例。
解决方法,开始-运行中输入 services.msc 回车打开windows服务列表
。把以名为(oraservice实例)的服务启动就行了。
输入
sqlplus
用户名/密码
as
sysdba
另外你是否是用administrator用户登录并运行的,如果不是请用administrator用户执行,或进行如下操作后用普通用户执行。
1。管理员登录,控制面板-管理工具-本地安全策略
2.本地策略-用户权限分配-创建全局对象-双击-添加用户或组
3.将需要的用户或组添加到列表当中,确定保存
4.普通用户注销后重新登陆即可。
还有查看一下oracle是否启动成功了,在cmd
中输入
lsnrctl
status
如出现类似4行说明启动成功:
服务
"PLSExtProc"
包含
1
个例程。
例程
"PLSExtProc",
状态
UNKNOWN,
包含此服务的
1
个处理程序...
服务
"orcl"
包含
1
个例程。
例程
"orcl",
状态
READY,
包含此服务的
1
个处理程序...
服务
"orclXDB"
包含
1
个例程。
例程
"orcl",
状态
READY,
包含此服务的
1
个处理程序...
服务
"orcl_XPT"
包含
1
个例程。
例程
"orcl",
状态
READY,
包含此服务的
1
个处理程序...
在数据库主机上,以
sysdba
登陆数据库
sqlplus
/nolog
connect
/
as
sysdba
然后,看用户名是否错误
select
username
from
dba_users
where
username='用户名';
如果没有记录,则表示用户名错误,如果有记录,则可以改其密码。
alter
user
用户名
identified
by
密码;
登陆oracle数据库的几种方式:
登陆用户:除sys,system,dbsnmp,sysman用户外,其他都被锁定
登录密码:在数据库安装时设定
登陆权限(身份):sysdba(数据库管理员DBA),权限最高
sysoper(数据库操作员)normal(普通用户)
一、oracle数据库自带的SQL
plus
开始——程序——ORACLE10G--APPLICATION
DEVELOPMENT——SQL
PLUS
二、第三方软件PL/SQL
Developer
打开PL/SQL
Developer软件
三、以浏览器的方式EM(Enterprise
Manager)
在oracle数据库安装过程中,有信息提示。
在地址栏中输入:http://本机物理地址:端口号/em(如果oracle数据库安装在本机中)
http://安装数据库的机器的IP地址:端口号/em(如果oracle数据库安装在其他机器上)
以em方式进入时,用户名和权限有一些限制:
【sys】用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用
normal。sysoper主要用来启动、关闭数据库,sysoper
登陆后用户是
public,sysdba登
陆后是
sys
【system】用户只能用normal身份登陆em。normal
是普通用户