Oracle 故障处理
文章平均质量分 83
lovely可爱欧辰
余好读书,乐思善疑。有过目不忘之能,亦有掩卷即忘之病,故尝攥文以记之。
展开
-
11G延迟密码验证的取消
11G引入了延迟密码验证,在输入错误的密码后,后续如果还是采用错误的密码登陆,将会导致密码延迟验证,而且会导致失败登陆延长。如下:[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1real 0m0.160suser转载 2015-12-23 20:09:51 · 909 阅读 · 0 评论 -
Oracle 11g 中告警日志的位置
Oracle 11g 中告警日志的位置首先介绍2个新名词Automatic Diagnostic Repository (ADR)一个存放数据库诊断日志、跟踪文件的目录,称作ADR base,对应初始化参数DIAGNOSTIC_DEST,如果设置了ORACLE_BASE环境变量,DIAGNOSTIC_DEST等于 ORACLE_BASE,如果没有设置ORACLE_BASE,则等与O转载 2013-06-18 12:49:22 · 1824 阅读 · 0 评论 -
ora-01950 对表空间无权限
创建新的用户时,要指定default tablespace,否则它会把system表空间当成自己的缺省表空间。这样做是不提倡的。估计原来创建某个用户的时候没有指定缺省表空间,而现在它使用系统表空间的权限被DBA给收回了。 先用的简单的办法试试,一般缺省的ORACLE安装都是有USERS表空间的。 比如你要在用户(或SCHEMA)usera中建表,那么你用SYSTEM登录OR转载 2013-05-14 15:07:20 · 4234 阅读 · 0 评论 -
ORA-20000: ORU-10027: 执行存储过程的错误
Oracle数据库执行存储过程的错误解出现了错误,错误信息如下: ORA-20000: ORU-10027: buffer overflow, limit of 10000 bytes ORA-06512: at "SYS.DBMS_OUTPUT", line 32 ORA-06512: at "SYS.DBMS_OUTPUT", line 97 ORA-0转载 2013-05-14 13:48:37 · 1076 阅读 · 0 评论 -
Automatic Diagnostic Repository Command-Interpreter
ADRCI工具是Oracle11g才推出的新工具,主要用来管理alert文件、trace文件、dump文件、健康监事报告等。11g中alert,trace文件的位置发生了变化, 从原来的ORACLE_BASE/admin/INSTANCE_NAME目录变成了ORACLE_BASE/diag/rdbms/DBNAME/INSTANCE_NAME目录。Oracle之所以修改了这个跨越多个版本都原创 2013-05-28 16:28:03 · 913 阅读 · 0 评论 -
PL/SQL Developer启动时报错:“Control 'dxDockBrowserPanel' has no parent window"
PL/SQL Developer启动时报错:"Control 'dxDockBrowserPanel' has no parent window"出现原因:某次刚打开PL/SQL Developer 8.0.4,界面还没有加载的时候,机器死机了,然后强行重启,再打开PL/SQL Developer就报错.尝试过的办法:1.重装PL/SQL Develop转载 2013-04-23 12:31:15 · 2075 阅读 · 0 评论 -
ORA-01720: grant option does not exist for 'xxx.xxxx'
例子:A用戶 下有table TabAA1 用戶建立view (V_TabA) , view中是引用A 用戶下的TabA .A2 用戶要 select A1 用户下的这个view .采用直接赋予权限的方式,很可能会碰到错误 ORA-01720: grant option does not exist for ......一般采取的方法是 :转载 2013-04-09 21:27:41 · 16199 阅读 · 0 评论 -
dbms_metadata遇到ORA-31603的解决方案
环境:OS:Red Hat Linux As 5DB:10.2.0.1 1.用户A获取用户B下的表的DDL报如下错误SQL> SELECT dbms_metadata.get_ddl('TABLE','TB_TEST','USER_B') FROM dual;ERROR:ORA-31603: object "TB_TEST" of type转载 2013-02-04 00:42:29 · 4174 阅读 · 0 评论 -
ORA-14402
默认情况下,oracle的分区表对于分区字段是不允许进行update操作的,如果有对分区字段行进update,就会报错——ORA-14402: 更新分区关键字列将导致分区的更改。但是可以通过打开表的row movement属性来允许对分区字段的update操作。例:创建分区表test_part进行实验create table TEST_PART( A1 NUMBERnot转载 2013-01-14 15:56:43 · 1721 阅读 · 0 评论 -
11gR2 grid安装最后报错[INS-20802] Oracle Cluster Verification Utility failed
原因说是在hosts文件里指定了scan ip日志中也报错:INFO: Checking Single Client Access Name (SCAN)...INFO: Checking name resolution setup for "rac-scan"...INFO: ERROR: INFO: PRVF-4664 : Found inconsistent name转载 2012-12-15 16:47:41 · 32293 阅读 · 0 评论 -
AIX系统maxuproc太小导致ORA-27300错
AIX5.3上的Oracle10g系统报错:ORA-27300: OS system dependent operation:fork failed with status: 11ORA-27301: OS failure message: Resource temporarily unavailableORA-27302: failure occurred at: skgpspawn转载 2012-12-13 22:17:00 · 1962 阅读 · 0 评论 -
RedHat5.5_X64 Linux安装oracle 11.2.0.3 报错
[javascript] view plaincopyREDHAT linux 安装 11G 11.2.0.3 报错 oracle用户执行./runinstaller后 直接报错 查看日志后[javascript] view plaincopy[root@HXZ转载 2012-12-12 22:57:29 · 2765 阅读 · 0 评论 -
Howto set maximum user processes on AIX [ID 1084995.1]
Applies to:Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.2.0.2 - Release: 10.1 to 11.2IBM AIX on POWER Systems (64-bit)GoalHow to set the value of "maximum user processes" o转载 2012-12-12 22:51:16 · 5807 阅读 · 0 评论 -
ORA-600[4194]/[4193]解决
朋友的库启动的时候出现ORA-600[4194]/[4193]错误Tue Feb 14 09:34:11 2012Errorsinfile d:\oracle\product\10.2.0\admin\interlib\bdump\interlib_smon_2784.trc:ORA-01595: error freein转载 2014-09-18 12:21:22 · 2772 阅读 · 0 评论 -
ORACLE 临时表空间使用率过高的原因及临时解决方案
数据库temp临时表空间增大,一般在数据安装时设置临时表空间大小,默认的情况下都是设置为自动增长。这样会引起一个问题:在数据库使用中temp表空间会自动扩展的越来越大,造成磁盘空间使用不足。引起临时表空间增大主要使用在以下几种情况:1、order by or group by (disc sort占主要部分);2、索引的创建和重创建;3、distinct操作;4、union转载 2014-12-17 10:45:35 · 3127 阅读 · 0 评论 -
ORACLE ORA-02030: can only select from fixed tables/views
对于x$的情况SQL> grant select on sys.x$bh to t1;grant select on sys.x$bh to t1ERROR at line 1:ORA-02030: can only select from fixed tables/views对于fixed tables/views只能select如果想把x$bh的sele原创 2015-01-08 11:59:30 · 2819 阅读 · 1 评论 -
由于CRS磁盘dismount造成的CRS进程无法启动问题
环境:11.2.0.3 rac primary+rac standby生产库rac standby的node1节点CRS自动关闭问题--EM报警Message=Clusterware has problems on the master agent host CRS-4638: Oracle High Availability Services is online CRS-转载 2015-12-04 19:13:41 · 3281 阅读 · 0 评论 -
Oracle查看正在执行的存储过程的sid
1.确定正在运行的过程名select name,locks,pinsfrom v$db_object_cachewhere locks > 0 and pins > 0 and type='PROCEDURE';NAME LOCKS PINSP_ETL_CRM_DESK 1 1转载 2015-11-17 22:59:08 · 11973 阅读 · 0 评论 -
RAC环境在ASM上创建表空间出错ORA-569
在一个的测试数据库上,创建表空间时出现了这个错误。 由于数据库环境比较复杂,简单描述一下。这个测试环境安装的是Oracle 1106 for Solaris 10 sparc 64bit的RAC环境,搭建了ASM实例用于存放共享数据文件。在RAC环境的其中一个节点上,又建立了一个单实例的数据库,并把这个数据库的数据文件也放到了ASM实例上。结果尝试在这个实例上添加新的转载 2015-11-23 14:35:15 · 1163 阅读 · 0 评论 -
AIX-maxuproc参数案例
AIX对很多资源都是有限制的,例如用户能创建的最大进程数限制,用参数maxuproc表示,如果用户想创建超过maxuproc参数的进程,此时就会创建失败。对于oracle数据库,如果处于独占模式,那么每一个客户端的连接都会在数据库服务器上创建一个进程,为其服务。如果此参数maxuproc值过小,很容易达到此限制,应用报错。大家可以通过如下的命令查看当前系统中设置的maxuproc参原创 2015-10-27 07:08:13 · 1476 阅读 · 0 评论 -
如何诊断RAC数据库上的“IPC Send timeout”问题?
RAC 数据库上比较常见的一种问题就是“IPC Send timeout”。数据库Alert log中出现了“IPC Send timeout”之后,经常会伴随着ora-29740 或者 "Waiting for clusterware split-brain resolution"等,数据库实例会因此异常终止或者被驱逐出集群。比如:实例1的ALERT LOG:Thu Ju转载 2015-11-04 18:24:28 · 6722 阅读 · 0 评论 -
Oracle里面的用户user无法登录 LOCKED(TIMED)
SQL>conn test/test还是报同样的错误,这就奇怪了。看看dba_users中该用户的状态等信息SQL>select account_status,lock_date,profile from dba_users where username='TEST';发现就是今天才锁定的,帐号状态为“LOCKED(TIMED)”,不明白这个TIMED什么意思,搜了一把,原来是密码错误原创 2015-11-05 18:19:58 · 12755 阅读 · 0 评论 -
ORA-29861: 域索引标记为 LOADING/FAILED/UNUSABLE
出现这个错是:这是建有全文索引表的一个intermedia索引有问题,该索引要么没有正确建立,要么是某次同步失败导致它状态异常 只可以对数据查询,确不能更改1. ORA-29861: 域索引标记为 LOADING/FAILED/UNUSABLE 2. 这是该表的一个intermedia索引有问题 3. 先查询看看当前的全文索引原创 2015-09-07 13:13:47 · 4468 阅读 · 0 评论 -
ORA-27041: unable to open file--恢复被rm意外删除数据文件
当数据库中的某个数据文件被误删除之后,DBA可以选择使用已有的备份进行还原与恢复,下文为DBA提供了另一种选择,已经通过测试环境进行了相关测试,该方法是个不错的选择。转自http://www.xifenfei.com/2289.html一.模拟数据文件删除[oracle@node1 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2转载 2015-08-04 19:07:10 · 8996 阅读 · 1 评论 -
一次处理ORA-06512的经验
一次有一个9.2.0.8的生产数据库遇到下面问题,怀疑可能是dbms_stats这个内部pkg无法调用这个原因导致的。SQL> exec dbms_stats.gather_table_stats(ownname => 'dbmgr',tabname => 'factuser_list');BEGIN dbms_stats.gather_table_stats(ownname => 'db转载 2015-08-26 17:49:01 · 44258 阅读 · 1 评论 -
ORACLE 10G以后的ORDER BY操作优化
最近系统上线,经常发现有ORDER BY操作的查询缓慢,观察执行计划发现,优化器进行了ORDER BY 列上的索引INDEX FULL SCAN操作且执行计划少了SORT ORDER BY操作。SQL> select column_name from dba_ind_columns where index_name = 'I_DJXH_1';COLUMN_NAME-----转载 2015-01-20 15:13:15 · 7152 阅读 · 0 评论 -
数据库启动提示: ORA-27102: out of memory
今天做压力测试的时候,修改数据参数出现ORA-27102: out of memory错误,最后发现是系统参数设置的问题,限制了oracle的sga大小修改系统参数前,一定要备份参数文件,create spfile from pfile='/opt/oracle/product/11.1/db_1/dbs/initorcl.ora';------- 查看sga的大小SQL> sho转载 2015-02-04 15:12:38 · 4187 阅读 · 0 评论 -
通过netstat+rmsock查找AIX端口对应进程
rmsock除去不包含文件描述符的套接字。它接受 socket、tcpcb、inpcb、ripcb 或 rawcb 地址并将其转换成套接字地址。然后检查每个进程所有打开的文件以查找套接字的匹配。如果没找到匹配,对该套接字执行异常终止操作,而不考虑套接字 linger 选项的存在。套接字保留的端口号释放。如果发现匹配,文件描述符和主进程状态显示给用户。命令格式:rmsock Address Ty转载 2014-12-23 11:54:31 · 3323 阅读 · 0 评论 -
sequence跳号问题及解决办法
一、 问题及现象描述--创建序列CREATE SEQUENCE NYYTEST.S_TEST START WITH 1 INCREMENT BY 1 NOMINVALUE MAXVALUE 10000 NOCYCLE CACHE 20 NOORDERSQL> sele转载 2012-12-25 17:19:48 · 1953 阅读 · 0 评论 -
ORACLE包和过程依赖关系测试
一、概念如果一个对象的定义中引用了其他对象,那么此对象被称为依赖对象(dependent object),此对象所引用的对象被称为引用对象(referenced object)。为了管理方案对象(schema object)间的依赖关系,Oracle 需要记录所有的方案的状态(status):有效的(valid)已经通过编译,可以在被引用时直接使用。无效的(invalid)转载 2012-12-25 17:17:56 · 3615 阅读 · 0 评论 -
以最短的宕机时间升级到Oracle 10g
简介 升级硬件通常都很容易,但是升级数据库……毫无疑问,每个人都有着痛苦的经历。一个经验丰富的 Oracle DBA 主要关注的是升级的成功完成和可能导致的宕机时间。成功不仅仅是指升级过程本身正常完成,更重要的是,生产应用程序能在升级后的数据库中无故障地运行。本文中,我们将提供一些建议,通过采用成熟的流程和技术将宕机时间和失败风险降到最低。 为什么要升级? Oracl转载 2012-02-25 13:26:23 · 847 阅读 · 0 评论 -
ora-00031:session marked for kill处理oracle中杀不掉的锁
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。1.下面的语句用来查询哪些对象被锁:select object_name,machine,s.sid,s.serial# from v$locked_object l,d转载 2012-02-10 15:35:02 · 1173 阅读 · 0 评论 -
Fatal NI connect error 12170
今天在一台服务器的日志文件中,发现如下信息:Fatal NI connect error 12170. VERSION INFORMATION: TNS for Linux: Version 11.1.0.7.0 - Production Unix Domain Socket IPC NT Protocol Adaptor for Linux: Ve转载 2012-01-04 18:58:22 · 13771 阅读 · 0 评论 -
ORA-01940:cannot drop a user that is currently connected
ORA-01940:cannot drop a user that is currently connected问题如题:解决方法:1.查询此用户的会话进程;2.结束此用户的会话进程; 1 ALTER SYSTEM KILL SESSION '126,1147'; 3.删除用户; 1 DROP USER转载 2012-02-04 10:26:11 · 3263 阅读 · 0 评论 -
Oracle--->对字段进行修改(varchar2修改clob)+ 索引失效
今天项目中,需要对数据库中的一个字段进行修改,以前是varchar(1000)的一个类型,但是这次要修改为clob类型,如何修改呢? 问题:使用PL/SQL直接将varchar修改为clob,提示无法修改:ORA-01439错误 解决: 1、要修改一个字段类型的时候,首先要将数据清空。 2、clob是一个特殊类型,不能直接从varchar转换为clo转载 2011-12-29 13:29:47 · 3629 阅读 · 0 评论 -
oracle ORA-14452错误处理
create global temporary table on commit preserve rows 用于会话相关,也就在事务结束后truncate data in the temporary table,但如果在会话未结束时要修改temporary table就会出现错误:ORA-14452: attempt to create, alter or drop an index转载 2011-12-28 15:12:30 · 1650 阅读 · 0 评论 -
ORA-30556错误
SQL> CREATE TABLE TEST2 (A NUMBER(9,0), B VARCHAR2(20) not null); Table created. SQL> CREATE INDEX test2index1 ON test2(UPPER(B)); Index created. SQL> alter table TEST2 modify B VARCHAR2(24);转载 2011-12-27 21:42:11 · 2740 阅读 · 0 评论 -
关于 Fatal NI connect error 12170
在 sqlnet.log 中错误如下:Fatal NI connect error 12170. VERSION INFORMATION: TNS for Linux: Version 10.2.0.1.0 - Production Oracle Bequeath NT Protocol Adapter for Linux: Version 1转载 2011-12-27 21:51:01 · 4999 阅读 · 0 评论 -
ORA-00060 Deadlock detected
今天一套10.2.0.4的数据库报ORA-00060 Deadlock detected。 trace部分内容: Dump file /oracle/oracle/product/10.2.0/admin/APSDB/udump/apsdb_ora_1008062.trcOracle Database10gEnterprise Edition Release10.2.0.4.0转载 2011-12-19 19:02:57 · 2227 阅读 · 0 评论 -
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enable
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enable 以前一直用 SYS 用户使用 autotrace, 今天用其它用户使用 autotrace 来获得执行计划报如下错误SQL> set autotrace onSP2-0618: Cannot find the Session I转载 2011-12-06 10:08:06 · 2870 阅读 · 0 评论