Linux从入门到高手技术进阶路线图
1.jpg (55.34 KB)2009-2-4 21:25 from:http://www.boobooke.com/bbs/viewthread.php?tid=8044&extra=page%3D1[@more@]
常用的DUMP语句ORADEBUG语法
10046 traceSQL调整,跟踪进程运行情况时使用oradebug EVENT 10046 trace name context forever, level 8;或12。ERROR STACK TRACE进程hang,无法正常运行时使用SQLPLUS> oradebug setospid <HANG主或有问题的进程,操作系统PID>SQLPLUS> oradebug event immediate trace name errorstack level 3; SYSTEM STATE DUMP《数据库HANG,严重性能问题,保留现场情况时使用》。SQLPLUS> oradebug setospid <任意一个活的PID> SQLPLUS> oradebug dump systemstate 10;from:http://www.oraclefans.cn/forum/showtopic.j
使用oradebug挂起进程
oradebug可以帮助我们做很多事情,如dump内存信息、设置事件、挂起进程等。本文主要介绍如何使用oradebug挂起进程。 为什么要挂起进程呢?比如因为开发人员对数据库执行一个很大的操作,严重影响了数据库的正常运行,此时你有两个选择:1、删掉进程2、暂停进程实际上,我们往往不能十分确定把进程直接kill掉会造成什么后果,所以暂停进程的执行就是一个比较折中的选择。要暂停进程步骤很简单:首先找到进程,然后暂停就可以了。使用oradebug暂停进程时,可以使用pid,也可以使用spid。要找出这些信息有很多方式了,比如可以在操作系统中 p
遭遇inbound connection timed out (ORA-3136)错误 (转)
遭遇inbound connection timed out (ORA-3136)错误 一用户报无法连接系统,检查数据库正常,用sys登录也正常。 检查 alert log 发现如下错误:WARNING: inbound connection timed out (ORA-3136)Thu Oct 9 15:16:30 2008WARNING: inbound connection timed out (ORA-3136)Thu Oct 9 15:16:42 2008WARNING: inbound connection timed out (ORA-3136)Thu Oct 9 15:19:08 2008WARNING: inbound connection timed out (ORA-3136) google 找到相关解决方案:http://www.eygle.com/archives/2006/07/sqlnet_inbound_connect
linux 流量查看工具 iftop 配置
linux 流量查看工具 iftop 配置 iftop是LINUX下查看网络流量的软件. iftop 官方网站: http://www.ex-parrot.com/~pdw/iftop/ 1. iftop如何安裝: 首先查看自己的系统是否安裝 libpcap 及 ncurses-devel [root@huilin]# rpm -qa | grep libpcaplibpcap-devel-0.9.4-11.el5libpcap-0.9.4-11.el5 如果是centos 5 系统光盘里就有: rpm 即可 安裝 简单 [root@huilin]# configure --prefix=/usr/local/iftop ,make; make install [root@huilin]# cp /usr/local/iftop/sbin/iftop /bin [root@huilin]#iftop -i eth0 -n 就可以看到
Authentication failed!null
登录EM,提示Authentication failed!null,检查监听器状态,状态正常不过没有任何实例注册,检查库,发现库没有启动,startup后正常[@more@]
SQLNET.AUTHENTICATION_SERVICES
sqlnet.oraSQLNET.AUTHENTICATION_SERVICES1、在windows下,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用OS认证;不设置或者设置为其他任何值都不能使用OS认证。2、在linux下,在SQLNET.AUTHENTICATION_SERVICES的值设置为ALL,或者不设置的情况下,OS验证才能成功;设置为其他任何值都不能使用OS认证。[@more@]
oradebug 诊断的案例
http://www.itpub.net/viewthread.php?tid=1093482&extra=&page=1 Chain 21 : <cnode/sid/sess_srno/proc_ptr/ospid/wait_event> : <0/1146/2/0x5fc30318/12002/library cache lock>select sid,serial#,event,username,program from v$session where sid=1146 and serial#=2;in osps -ef | grep 12002kill -9 12002[@more@]
10G后台进程
qmnc,q000:在10g中aq_tm_processes没有办法控制qmnc进程的,无论如何设置aq_tm_processes它还是会存在的job_queue_processes,无论这个参数如何设置,cjq0都会存在UNIX中,这些进程可以像其他后台进程一样可见,如果你执行ps命令,就能看到这些进程。在介绍中心后台进程那一节的开始,我列出了ps命令的执行结果(这里列出其中一部分),可以看到,我有以下进程:q 配置了作业队列。CJQ0进程是作业队列协调器(job queue coordinator)。q 配置了Oracle AQ,从Q000(AQ队列进程,AQ queue process)和QMNC(AQ监视器进程,AQ monitor proce
RMAN-03002 ORA-19809 ORA-19804:
今天用RMAN做全库备份出现错误:channel ORA_DISK_1: starting piece 1 at 04-FEB-09RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of backup plus archivelog command at 02/04/2009 15:11:08ORA-19809: limit exceeded for recovery filesORA-19804: cannot reclaim 52428800 bytes disk space from 2147483648 limit查看日志:Wed F
inside sqlplus prelim(转)
我们知道,在Oracle 10g中,如果数据库实例hang住了,应用及sqlplus都不能连接时,可以用sqlplus -prelim连接数据库。那么sqlplus连接时,加上-prelim这个参数有什么特别的地方呢?下面,让我们来研究一下:测试环境:Linux AS4上的Oracle 10.2.0.1,客户端(sqlplus)版本为Windows 2003下的10.2.0.1。首先在数据库上启用10046事件:SQL> alter system set events ‘10046 trace name context forever’;System altered. 先用普通的方式连接:D:>sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on 星期六 11月 15 15:36:0
sqlplus -prelim/ as sysdba用法
原文见:eygle博客在某些情况下,数据库失去响应,sqlplus也无法连接,此时通常只能通过杀掉进程来解决。但是我们仍然希望能够获得此时的数据库状态信息,以便用于事后诊断。从Oracle10g开始,sqlplus提供了一个参数选项-prelim,可以在通常sqlplus无法连接的情况下进行连接。通过以下步骤可以获取系统信息:sqlplus -prelim / as sysdbaoradebug setmypidoradebug unlimit;oradebug dump systemstate 10这种方法非常有用:$ sqlplus -prelim / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Thu Oct 25 09:42:20 2007Copyrigh
OC4J介绍和使用
什么是OC4J独立版?OC4J独立版是Oracle应用服务器产品家族的成员,包含J2EE和Web服务组件。OC4J独立版比完整的Oracle应用服务器产品稍小,下载以后只有一个ZIP文件。它作为单JAVA进程执行。OC4J独立版兼容于J2EE1.3,可用于开发和运行小规模产品。OC4J独立版提供了内嵌的HTTP/S监听器,允许客户端运行发布后的应用程序。OC4J独立版的应用程序发布与服务器的配置,需要手工编辑几个XML文件。大规模的企业级发布,Oracle应用服务器产品或许更适合于它,来适应广泛的企业级需求(而不是OC4J独立版),这样可以更好的进行程序控制和性能管理,
从备份集恢复归档日志的测试与说明
当数据库出现问题,但不需要restore只需recover时,发现要用到的archivelog已经备份并删除了,因为我们备份archivelog一般是采用delete input的,这时先需要restore archivelog,然后才能做recover,下面介绍一下restore archivelog的用法:restore archivelog后面可以跟的参数有"all, from, high, like, logseq, low, scn, sequence, time, until"现在举一列子说明:1.列出已经备份的archiveloglist backup of archivelog all;2.预览恢复出程,但不真正恢复可以在你执行恢复前先看看恢复过程,也可以验证一下你的语法是否写对restore arc
using backup controlfile 和 until cancel区别
1. recover database using backup controlfileO?5u-I3km+FluV02. recover database until cancelITPUB个人空间v+|Q$gW3. recover database using backup controlfile until cancel;ITPUB个人空间a N X(af4. recover database until cancel using backup controlfile; 区别:'HO&M['F0p9@:]hZ01. 如果丢失丢失当前控制文件,用冷备份中的控制文件恢复的时候。用来告诉oracle,不要以controlfile中的scn作为恢复的终点;2. 如果丢失current/active redo的时候。手动指定终点。3. 如果 丢失当前controlfile并且current/a
controlfile文件的备份与恢复
Oracle的控制文件controlfile有以下4种备份恢复方法。注意:本文模拟controlfile故障均是直接删除控制文件。1. 使用RMAN工具备份恢复controlfileRMAN参数选项”CONFIGURE CONTROLFILE AUTOBACKUP ON/OFF”定义为”ON”,则任意一次RMAN备份都会自动备份controlfile,比如备份tablespace;定义为”OFF”,则不会自动备份controlfile,需要手动备份。 使用RMAN工具备份controflile的命令如下#rman target /RMAN>backup current controlfile; 使用RMAN备份集恢复controlfile的步骤如下#rman target /RMAN>startup nomountRM
recover database using backup controlfile与 recover database 的区别
要理解recover database using backup controlfile,先理解 recover database 也就是说,不加using backup controlfile的情况。在普通的recover database 或者 recover tablespace, recover datafile时, Oracle会以当前controlfile所纪录的SCN为准,利用archive log和 redo log的redo entry, 把相关的datafile 的 block恢复到“当前controlfile所纪录的SCN”而某些情况下,Oracle需要把数据恢复到比当前controlfile所纪录的SCN还要靠后的位置(比如说,control file是backup controlfile , 或者 controlfile是根据trace create的。),这时
四个SCN概念
首先这里我们先介绍四个SCN概念。1、系统检查点scn当一个检查点动作完成后,Oracle就把系统检查点的SCN存储到控制文件中。select checkpoint_change# from v$database;2,数据文件检查点scn当一个检查点动作完成后,Oracle就把每个数据文件的scn单独存放在控制文件中。select name,checkpoint_change# from v$datafile;3,启动scnOracle把这个检查点的scn存储在每个数据文件的文件头中,这个值称为启动scn,因为它用于在数据库实例启动时,检查是否需要执行数据库恢复。select name,checkpoint_change# from v$datafile_header4、终止sc
v$controlfile_record_section视图
TYPE |RECORD_SIZE|RECORDS_TOTAL|RECORDS_USED|FIRST_INDEX|LAST_INDEX|LAST_RECID********************|***********|*************|************|***********|**********|**********DATABASE | 316| 1| 1| 0| 0| 0CKPT PROGRESS | 8180| 11| 0| 0| 0| 0REDO THREAD | 256| 8| 1| 0| 0| 0REDO LOG | 72|
利用v$session_longops监控长操作
今天看到一个关于如何监控长操作的文档,这里简单记录一下要点。一、什么情况下,操作信息会出现在V$SESSION_LONGOPS同时满足以下几个条件,操作信息才会出现在V$SESSION_LONGOPS中。1、操作是以下几种操作之一# Table scan;# Index Fast Full Scan;# Hash join;# Sort/Merge;# Sort Output;# Rollback;# Gather Table's Index Statistics不同的版本下V$SESSION_LONGOPS记录的操作可能会不一样。2、操作时间大于6秒3、读取的block数目大于一定量1)如果是TABLE FULL SCAN,读取的block数目至少大于100002)如果是Index Fast Full Scan,读