Oracle数据库教程 —— 远程登录sys用户报错

Oracle数据库教程
——远程登录sys用户报错:ORA-01017: invalid
username/password; logon d enied
远程登录sys用户报错:ORA-01017: invalid username/password; logon denied
今天有个客户反应数据库不能用sys用户远程登陆
情况如下:
SQL> conn sys/system123@xxxx as sysdba
ERROR:
ORA-01017: invalid username/password; logon denied
SQL> conn sys/system@xxx as sysdba
Connected.
1.重建密码文件
orapwd file=/oracle/app/11.2.0/db_1/dbs/orapwxxx1 password=system123 entries=5
orapwd file=/oracle/app/11.2.0/db_1/dbs/orapwxxx2 password=system123 entries=5
重建密码文件需要重启数据库
保险起见在数据库中修改下sys密码
SQL> alter user sys identified by system123
SQL> conn sys/system123@xxxx as sysdba
ERROR:
ORA-01017: invalid username/password; logon denied
远程登陆依然不行
2.检查remote_login_passwordfile参数
查看数据库,该参数值默认为none,如果要使sys远程登录,必须要改为exclusive才可以。

修改该参数:
$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.2.0.3.0 Production on Wed May 7 20:11:59 2014 Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> show prameter REMOTE_LOGIN_PASSWORDFILE
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
remote_login_passwordfile string
NONE
SQL>alter system set remote_login_passwordfile=exclusive scope=spfile; RAC 环境两边都要重启后生效。

$ sqlplus sys/"system123"@xxxxx as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed May 7 20:22:05 2014 Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> -------远程方式成功登陆sys用户
更多文章可见:公司官网:。

合集下载

oracle常见故障处理手册

oracle常见故障处理手册

oracle常见故障处理手册一、数据库启动与关闭故障1.数据库启动失败原因:可能是由于Oracle数据库配置不正确、系统环境变量设置不正确、初始化参数设置不正确等原因导致。

解决方法:检查数据库日志文件,查看错误信息,根据错误信息进行相应的修复。

2.数据库关闭失败原因:可能是由于数据库事务未完成、数据库锁未释放等原因导致。

解决方法:检查数据库日志文件,查看错误信息,根据错误信息进行相应的修复。

二、连接故障1.连接不成功原因:可能是由于网络连接问题、数据库用户名或密码错误、数据库实例名错误等原因导致。

解决方法:检查网络连接是否正常,检查数据库用户名和密码是否正确,检查数据库实例名是否正确。

2.连接断开原因:可能是由于网络不稳定、数据库服务器异常等原因导致。

解决方法:检查网络连接是否正常,检查数据库服务器是否正常。

三、数据恢复故障1.数据丢失原因:可能是由于数据库损坏、磁盘故障等原因导致。

解决方法:根据数据丢失的原因,选择相应的恢复方法,如使用备份恢复数据或使用日志文件恢复数据。

2.数据不一致原因:可能是由于数据修改不一致、数据复制不一致等原因导致。

解决方法:检查数据修改和复制的日志文件,找到不一致的数据并修复。

四、性能优化故障1.性能下降原因:可能是由于CPU占用过高、内存占用过高、磁盘IO过大等原因导致。

解决方法:优化数据库配置参数,如增加内存、优化磁盘IO等。

2.查询速度慢原因:可能是由于查询语句不优化、表没有建立索引等原因导致。

解决方法:优化查询语句,为表建立索引等。

五、存储管理故障1.存储空间不足原因:可能是由于磁盘空间不足、表空间不足等原因导致。

解决方法:清理磁盘空间,增加磁盘空间,调整表空间大小等。

2.数据文件丢失或损坏原因:可能是由于磁盘故障、人为误删除或修改等原因导致。

解决方法:使用备份恢复数据文件或修复损坏的数据文件。

六、网络连接故障1.网络连接中断原因:可能是由于网络设备故障、网络连接线故障等原因导致。

Oracle的常见错误及解决办法

Oracle的常见错误及解决办法

Oracle的常见错误及解决办法ORA-12528:TNS:listener: all appropriate instances are blocking new connectionsORA-12528问题是因为监听中的服务使⽤了动态服务,实例虽然启动,但没有注册到监听。

实例是通过PMON进程注册到监听上的,⽽PMON进程需要在MOUNT状态下才会启动。

所以造成了上⾯的错误。

解决这个问题,有三种⽅法:1、把监听设置为静态;2、在tnsnames.ora中追加(UR=A);3、重新启动服务;⽅法1、通过修改listener.ora的参数,把listener.ora动态注册设置为静态注册,然后重新启动监听# listener.ora Network Configuration File: $ORACLE_HOME\network\admin\listener.ora# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = [DBNAME])(ORACLE_HOME = [$ORACLE_HOME])(SID_NAME = [SID])))静态注册的风险:如果在instance运⾏中,lisener重新启动,就找不到instance了。

静态注册需要先启动lisener,再启动instance。

且静态模式下,lisener status显⽰的是unknown⽅法2、启动到nomount状态,通过修改tnsnames.ora的参数# tnsnames.ora Network Configuration File: $ORACLE_HOME\network\admin\tnsnames.ora# Generated by Oracle configuration tools.SYK =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = SYK)(UR=A)))然后连接上数据库SQL>alter database mount;SQL>alter database open;⽅法3、重启ORACLE或者重启ORACLE服务在oracle帐户下依序执⾏如下命令:sqlplus / as sysdba;//在其它帐户(如root)下执⾏可能会报错(ORA-01031)因为这些帐户没有在dba组中shutdown immediate;startup;oracle实例名: error while loading shared libraries: libskgxp10.so: cannot open shared object file: No such file or directory是环境变量LD_LIBRARY_PATH的问题。

plsql中sys用户不能登陆

plsql中sys用户不能登陆
Windows: C:/> orapwd file=%ORACLE_HOME%/database/pwd%ORACLE_SID% password= sys entries=5
我记得似乎没有这个d,哪位老大证实下?
3. grant sysdba to sys;
4. alter user sys identified by sys;重新修改下密码
管理远程数据库时,没有安全的网络连接(secure connection),比如TCP/IP和DECnet协议。
管理本地数据库时,不想使用OS认证。
--操作步骤:
a.使用ORAPWD创建密码文件(其中的password选项是为SYS用户设置的)
orapwd file= <filename> password=<password> entries=<users>
3、关于参数remote_login_passwordfile
None: 使得oracle不使用密码文件,只能使用OS认证,不允许通过不安全网络进行远程管理。
Exclusive: 可以使用唯一的密码文件,但只限一个数据库。密码文件中可以包括除了sys用户的其他用户。
Shared: 可以在多个数据库上使用共享的密码文件。但是密码文件中只能包含sys用户。通常用于一个dba管理多个数据库的时候。
b.设置参数 remote_login_passwordfile=EXCLUSIVE
c.使用sys用户登陆
d.在数据库中创建用户 create user study identified by study;
e.赋予其SYSDBA/SYSOPER权限
grant sysdba to study; 这样就将用户和密码加入到密码文件中。

Oracle使用sys登录时报错ORA-28009解决方法

Oracle使用sys登录时报错ORA-28009解决方法
将“连接为”选项框的Normal改为SYSDBA或SYSOPER,即可登录成功。
博客园 用户登录 代码改变世界 密码登录 录 第三方登录/注册 没有账户, 立即注册
Oracle使用 sys登录时报错 ORA-28009解决方法
情况一:使用sqlplus登录:
正常输入用户名的口令,就会报错,因为SYS是在数据库之外的超级管理员,所以我们在登录的时候
要在输入口令:口令+as sysdba(比如:123456 as sysdba) 情况二:使用PL/SQL登录:
这是我们平时的登录数据库很常规的操作,但是用SYS作为用户名登录的时候就会报 ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER这样的错 解决方法是:

Oracle错误代码案例总结及解决方案

Oracle错误代码案例总结及解决方案

常见错误:ORA-00001:违反唯一约束条件(主键错误)ORA—00028:无法连接数据库进程ORA—00900:无效sql语句ORA—00904:字段名写错或是建表时最后一个字段有逗号ORA-00907:缺少右括号ORA—00911:无效字符ORA—00917:缺少逗号ORA-00918:未明确定义列ORA-00922:丢失或无效的选项(表名等可能有空格)ORA—00923:未找到FROM关键字ORA—00926:缺少valueORA—00933: SQL命令未正确结束ORA—00936:缺少表达式ORA—00937:不是单组分组函数ORA—00942:表或视图不存在ORA-00947:没有足够的值(一般是插入语句出现的错,插入值的数量与字段不符)ORA-00979:不是group by的表达式ORA—01009:缺少法定参数(eg:sql做参数时,且sql语句为空时,报错)ORA-01098:数据库无法关闭及启动ORA—01400:无法将null值插入ORA—01401:插入的值对于列过大ORA-01476:sql中存在除数为零ORA—01579: 恢复过程中出现写错误ORA—01580: 创建控制备份文件时出错ORA-01581: 尝试使用已分配的回退段() 新区()ORA-01582:无法打开要备份的控制文件ORA—01583: 无法获得要备份的控制文件的块大小ORA-01584:无法获得要备份的控制文件的文件大小ORA-01585: 标识备份文件时出错ORA-01586: 无法打开要备份的目标文件ORA-01587: 复制控制文件的备份文件时出错ORA-01588:要打开数据库则必须使用RESETLOGS 选项ORA-01589: 要打开数据库则必须使用RESETLOGS 或NORESETLOGS 选项ORA-01590:段可用列表数()超出最大数ORA—01591:锁定已被有问题的分配事务处理挂起ORA—01592:将第7 版回退段() 转换为Oracle 8 版格式时出错ORA—01593: 回退段最佳大小(blks) 小于计算的初始大小( blks)ORA—01594: 尝试放回已释放的回退段()区()ORA-01595:释放区() 回退段()时出错ORA—01596: 无法在参数中指定系统ORA-01597:无法改变联机或脱机系统回退段ORA-01598: 回退段''未联机ORA-01599: 无法获得回退段(), 高速缓存空间已满ORA—01600: 至多只有一个””在子句""()中ORA-01601: 子句””()中的存储桶大小非法ORA-01603:子句"”()中的分组大小非法ORA—01604: 子句”"()中的编号范围非法ORA—01605: 子句”"()中缺少编号ORA—01606: gc_files_to_locks 不同于另一已安装例程的参数ORA-01608:无法将回退段’'联机,其状态为()ORA-01609:日志是线程的当前日志—无法删除成员ORA—01610: 使用BACKUP CONTROLFILE 选项的恢复必须已完成ORA-01611: 线程编号无效- 必须介于1 和之间ORA-01612: 线程已经启用ORA—01613:线程只有日志- 要求至少启用2 个日志ORA-01614:线程正忙- 无法启用ORA—01615: 线程已安装—无法禁用ORA-01616: 线程已打开—无法禁用ORA-01617: 无法安装: 不是有效的线程编号ORA-01618: 线程未启用- 无法安装ORA—01619:线程已由另一例程安装ORA-01620: 没有可用于安装的公用线程ORA-01621:数据库打开时无法重命名当前日志的成员ORA—01622: 必须指定线程编号- 没有特定默认值ORA-01623: 日志是线程的当前日志- 无法删除ORA—01624: 线程的紧急恢复需要日志ORA-01625:回退段'’不属于此例程ORA—01626:回退段号''无法处理更多事务处理ORA—01627: 回退段号''未联机ORA—01628: 已达到max # extents ()(回退段)ORA-01629: 已达到max #extents (),此时正在保存表空间的撤消ORA—01630: 表空间中的temp 段达到max #extents()ORA-01631:表。

Oracle常见错误及解决方案

Oracle常见错误及解决方案

O r a c l e常见错误及解决方案问题1:Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initialization or shutdown in progress 错误提示,应用系统无法连接Oracle服务。

解决方法如下:⑴进入CMD,执行set ORACLE_SID=fbms,确保连接到正确的SID;⑵运行sqlplus "/as sysdba"SQL>shutdown immediate停止服务SQL>startup启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号SQL>shutdown immediate再次停止服务SQL>startup mountSQL> recover datafile 2恢复出错的数据文件SQL>shutdown immediate再次停止服务SQL>startup启动服务,此次正常。

⑶进入PL/SQL Developer检查,没有再提示错误。

问题2:Oracle密码忘记了怎么办?解决方法有很多种,这里讲述以下三种:⑴打开cmd,输入sqlplus /nolog,回车;输入“conn / as sysdba”;输入“alter user sys identified by 新密码”。

注意:新密码最好以字母开头,否则可能出现错误Ora-00988。

有了这个方法后,只要自己对oracle 服务器有管理员权限,Oracle密码忘记了也不用着急,可以随意修改密码。

⑵在命令行执行如下命令:sqlplus "/@服务名as sysdba"然后在sqlplus中运行以上命令即可修改密码:alter user sys identified by 新密码;alter user system identified by 新密码;⑶运行到C盘根目录输入:SET ORACLE_SID = 你的SID名称输入:sqlplus/nolog输入:connect/as sysdba输入:alert user sys identified by sys输入:alert user system identified by system完成以上5步,则密码更改完成,密码是Oracle数据库的初始密码。

oracle的sysdba权限登录问题

最近的时间,在搞数据库的安全加固问题,关于数据库中关于sysdba权限的登录,通过最近的一些实践和测试,在这里记录一下:数据库用sysdba登录的验证有两种方式,一种是通过os认证,一种是通过密码文件验证;登录方式有两种,一种是在数据库主机直接登录(用os认证的方式),一种是通过网络远程登录;需要设置的参数有两个,一个是SQLNET.AUTHENTICATION_SERVICES,一个是REMOTE_LOGIN_PASSWORDFILE。

os认证:如果启用了os认证,以sysdba登录,那么我们只要用oracle软件的安装用户就能登录:sqlplus “/ as sysdba”。

如果我们要禁用os认证,只利用密码文件登录,我们首先要有一个密码文件:D:\oracle\ora92\database>orapwd file=PWDoralocal.ora password=mypassword entries=10;D:\oracle\ora92\database>然后我们要把$ORACLE_HOME/network/admin/sqlnet.ora中设置:SQLNET.AUTHENTICATION_SERVICES= none注意一下,密码文件只在数据库启动的时候加载进去,一旦加载进去,密码文件就脱离了oracle管理,所以我们用orapwd新建密码文件后,里面指定的密码要在数据重启后才能生效:D:\oracle\ora92\database>sqlplus"sys/mypassword as sysdba"SQL*Plus: Release9.2.0.1.0 - Production on Fri May1621:59:422008Copyright(c)1982, 2002, Oracle Corporation. All rights reserved.ERROR:ORA-01031: insufficient privilegesEnter user-name:ERROR:ORA-01017: invalid username/password; logon deniedEnter user-name:ERROR:ORA-01017: invalid username/password; logon deniedSP2-0157: unable to CONNECT to ORACLE after3attempts, exiting SQL*Plus### 这里我们通过改SQLNET.AUTHENTICATION_SERVICES= (NTS)用os认证登录数据库:sys@ORALOCAL(192.168.50.29)> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.sys@ORALOCAL(192.168.50.29)>sys@ORALOCAL(192.168.50.29)>sys@ORALOCAL(192.168.50.29)>sys@ORALOCAL(192.168.50.29)> startupORACLE instance started.Total System Global Area bytesFixed Size bytesVariable Size bytesDatabase Buffers bytesRedo Buffers bytesDatabase mounted.Database opened.sys@ORALOCAL(192.168.50.29)>sys@ORALOCAL(192.168.50.29)>sys@ORALOCAL(192.168.50.29)>sys@ORALOCAL(192.168.50.29)> exitDisconnected from Oracle9i Enterprise Edition Release9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining optionsJServer Release9.2.0.1.0 - ProductionD:\oracle\ora92\database>D:\oracle\ora92\database>D:\oracle\ora92\database>### 我们把SQLNET.AUTHENTICATION_SERVICES= (NTS)改回去。

oracle最全面的错误疑难解决方案和总结文档

D:\xiaoqiang\oracle\product\instantclient_11_2目录下的sqlnet。ora文件
通过配置sqlnet。ora文件,可以修改oracle登录认证方式:
SQLNET。AUTHENTICATION_SERVICES=(NTS)是基于操作系统验证
SQLNET。AUTHENTICATION_SERVICES=(NONE)是基于Oracle验证
update;insert;delete;select
(
预定义角色:把常用的权限集中起来,形成角色(套餐)
比如dba connect resource三种角色
自定义角色:自己定义套餐
(
在一个数据库实例下:
当一个用户,创建好后,如果该用户创建了任意一个数据对象(表或触发器等),这时我们的DBMS就会创建一个对应的方案与该用户对应,并且该方案名字和用户名一致。
启动oraclehome92TNSlistener服务
2.database instance没有启动:services。msc或开始—〉程序—>管理工具—〉服务启动oralceserviceXXX,XXX就是你databaseSID如zhulin
3。注册表问题:
regedit。msc
进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1
(2)oradim–startup–sid数据库实例名
linux下:
(1)lsnrctl start(启动监听)
(2)sqlplus sys/chang_on_install as sysdba(以sysdba身份登录)
sqlplus /nolog
conn sys/chang_on_install as sysdba

解决ORACLE数据库提示insufficientprivileges问题

解决ORACLE数据库提示insufficientprivileges问题
sys用户使用@连接符提示无效权限的错误ORA-01031:
问题:有同事反映,新安装的数据库使用 conn sys/oracle@xxxx as sysdba登录不上去,提示ORA-01031: insufficient privileges,而用户名密码都是完全正确的,不使用@xxx连接符conn / as sysdba 登录正常。

过程:首先判断当前系统采用的是操作系统认证,再使用system/manager@xxxx登录时没有问题,只有使用sysdba权限的用户登录才会报这种错误。

接下来进行 grant sysdba to scott; 报错,ORA-01994: GRANT failed: password file missing or disabled。

注意,问题就在这里,系统提示密码文件问题。

查找$ORACLE_HOME/dbs下的orapwSID文件,发现存在。

原因:orapwdorcl不正确,应该为orapwORCL,实例名应大写,安装时输入的实例名为小写造成。

Windows环境ORA-12638错误及SYS用户登录权限验证

昨天一个客户朋友在他的办公电脑(Windows XP)上安装ORACLE 11gR2的时候,安装ORACLE软件的时候没出现问题,但是在DBCA建库的时候,出现ORA-12638错误。

ORA-12638 : 身份证明检索失败通过查看资料,这是个和ORACLE的高级安全性验证有关,也可以说是和权限有关的错误,原因是由于Oracle不能应用操作系统认证而导致,经询问,这个朋友的电脑的用户是域用户,而这个问题正好和域用户有关,解决方法是将sqlnet.ora文件里的SQLNET.AUTHE NTICATION_SERVICES= (NTS)注释掉或者将这个参数改为SQLNET.AUTHENTICATION_SERVICE S= (NONE),当然也可以直接把sqlnet.ora文件做备份后删掉。

# This file is actually generated by netca. But if customers choose to# install "Software Only", this file wont exist and without the native# authentication, they will not be able to connect to the database on NT.# SQLNET.AUTHENTICATION_SERVICES = (NTS)SQLNET.AUTHENTICATION_SERVICES = (NONE)NTS是Windows操作系统登录数据库的验证方式,也可以理解成SQLNET.AUTHENTICATI ON_SERVICES = (NTS)只对Windows系统有效,这个参数等于NTS的含义是即可以用口令验证,又可以用操作系统验证的方式来登录ORACLE数据库,这个参数等于NONE表示只允许使用口令验证的方式来登录数据库,而一般情况下域用户不能应用操作系统认证而身份证明检索失败。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档