oradebug 简介!
来源:互联网 发布:全国幼儿园名录数据库 编辑:程序博客网 时间:2024/06/02 08:56
1、命令简介
SQL> oradebug helpHELP [command] 描述一个或所有的命令SETMYPID Debug current processSETOSPID <ospid> Set OS pid of process to debugSETORAPID <orapid> ['force'] Set Oracle pid of process to debugSETORAPNAME <orapname> Set Oracle process name to debugSHORT_STACK Get abridged OS stackCURRENT_SQL Get current SQLDUMP <dump_name> <lvl> [addr] Invoke named dumpDUMPSGA [bytes] Dump fixed SGADUMPLIST 打印可用的转储列表EVENT <text> Set trace event in processSESSION_EVENT <text> Set trace event in sessionDUMPVAR <p|s|uga> <name> [level] Print/dump a fixed PGA/SGA/UGA variableDUMPTYPE <address> <type> <count> Print/dump an address with type infoSETVAR <p|s|uga> <name> <value> Modify a fixed PGA/SGA/UGA variablePEEK <addr> <len> [level] Print/Dump memoryPOKE <addr> <len> <value> Modify memoryWAKEUP <orapid> Wake up Oracle processSUSPEND 暂停执行RESUME 继续执行FLUSH Flush pending writes to trace fileCLOSE_TRACE 关闭跟踪文件TRACEFILE_NAME 获取跟踪文件路径名LKDEBUG Invoke global enqueue service debuggerNSDBX Invoke CGS name-service debugger-G <Inst-List | def | all> Parallel oradebug command prefix-R <Inst-List | def | all> Parallel oradebug prefix (return outputSETINST <instance# .. | all> Set instance list in double quotesSGATOFILE <SGA dump dir> Dump SGA to file; dirname in double quotesDMPCOWSGA <SGA dump dir> Dump & map SGA as COW; dirname in double quotesMAPCOWSGA <SGA dump dir> Map SGA as COW; dirname in double quotesHANGANALYZE [level] [syslevel] Analyze system hangFFBEGIN Flash Freeze the InstanceFFDEREGISTER FF deregister instance from clusterFFTERMINST Call exit and terminate instanceFFRESUMEINST Resume the flash frozen instanceFFSTATUS Flash freeze status of instanceSKDSTTPCS <ifname> <ofname> Helps translate PCs to namesWATCH <address> <len> <self|exist|all|target> Watch a region of memoryDELETE <local|global|target> watchpoint <id> Delete a watchpointSHOW <local|global|target> watchpoints Show watchpointsDIRECT_ACCESS <set/enable/disable command | select query> Fixed table accessCORE Dump core without crashing processIPC Dump ipc informationUNLIMIT 取消跟踪文件的大小限制PROCSTAT Dump process statisticsCALL [-t count] <func> [arg1]...[argn] Invoke function with arguments
2、简单使用
查询一个用户的id信息:
SQL> select sid from v$mystat where rownum = 1; SID---------- 43SQL> select PADDR from v$session where sid = 43;PADDR--------2E3CC354SQL> select PID,SPID from v$process where ADDR = '2E3CC354'; PID SPID---------- ------------------------ 33 6852SQL> show userUSER 为 "U1"设定追踪:
SQL> oradebug setospid 6852Oracle pid: 33, Unix process pid: 6852, image: oracle@linux (TNS V1-V3)或者
SQL> oradebug setorapid 33Oracle pid: 33, Unix process pid: 6852, image: oracle@linux (TNS V1-V3)可以使用dumplist把所有可以的dump内容出来:
SQL> oradebug dumplistTRACE_BUFFER_ONTRACE_BUFFER_OFFLATCHESPROCESSSTATESYSTEMSTATEINSTANTIATIONSTATEREFRESH_OS_STATSCROSSICCONTEXTAREAHANGDIAG_HEADERHEAPDUMPHEAPDUMP_ADDRPOKE_ADDRESSPOKE_LENGTHPOKE_VALUEPOKE_VALUE0GLOBAL_AREAREALFREEDUMPFLUSH_JAVA_POOLPOOL_SIMULATORPGA_DETAIL_GETPGA_DETAIL_DUMPPGA_DETAIL_CANCELPGA_SUMMARYMODIFIED_PARAMETERSEVENT_TSM_TESTERRORSTACKCALLSTACKTEST_STACK_DUMPTEST_GET_CALLERRECORD_CALLSTACKEXCEPTION_DUMPBG_MESSAGESENQUEUESKSTDUMPCURPROCKSTDUMPALLPROCSKSTDUMPALLPROCS_CLUSTERSIMULATE_EOVKSFQP_LIMITKSKDUMPTRACEDBSCHEDULERLDAP_USER_DUMPLDAP_KERNEL_DUMPDUMP_ALL_OBJSTATSDUMPGLOBALDATAHANGANALYZEHANGANALYZE_PROCHANGANALYZE_GLOBALGES_STATEOCRCSSCRSSYSTEMSTATE_GLOBALGIPCMMAN_ALLOC_MEMORYMMAN_CREATE_DEF_REQUESTMMAN_CREATE_IMM_REQUESTMMAN_IMM_REQUESTDUMP_ALL_COMP_GRANULE_ADDRSDUMP_ALL_COMP_GRANULESDUMP_ALL_REQSDUMP_TRANSFER_OPSDUMP_ADV_SNAPSHOTSADJUST_SCNNEXT_SCN_WRAPCONTROLFFLUSH_CACHEFULL_DUMPSBUFFERSRECOVERYSET_TSN_P1BUFFERPIN_BLOCKSBC_SANITY_CHECKPIN_RANDOM_BLOCKSSET_NBLOCKSCHECK_ROREUSE_SANITYDUMP_PINNED_BUFFER_HISTORYKCBO_OBJ_CHECK_DUMPKCB_WORKING_SET_DUMPREDOLOGSARCHIVE_ERRORLOGHISTREDOHDRLOGERROROPEN_FILESDATA_ERR_ONDATA_READ_ERR_ONDATA_ERR_OFFBLK0_FMTCHGUPDATE_BLOCK0_FORMATTR_SET_BLOCKTR_SET_ALL_BLOCKSTR_SET_SIDETR_CRASH_AFTER_WRITETR_READ_ONE_SIDETR_CORRUPT_ONE_SIDETR_RESET_NORMALTEST_DB_ROBUSTNESSLOCKSGC_ELEMENTSFILE_HDRSKRB_CORRUPT_INTERVALKRB_CORRUPT_SIZEKRB_CORRUPT_REPEATKRB_CORRUPT_OFFSETKRB_PIECE_FAILKRB_OPTIONSKRB_FAIL_INPUT_FILENOKRB_SIMULATE_NODE_AFFINITYKRB_TRACEKRB_BSET_DAYSKRB_SET_TIME_SWITCHKRB_OVERWRITE_ACTIONKRB_CORRUPT_SPHEADER_INTERVALKRB_CORRUPT_SPHEADER_REPEATKRB_CORRUPT_SPBITMAP_INTERVALKRB_CORRUPT_SPBITMAP_REPEATKRB_CORRUPT_SPBAD_INTERVALKRB_CORRUPT_SPBAD_REPEATKRB_UNUSED_OPTIONKRBMRSR_LIMITKRBMROR_LIMITKRBABR_TRACEKRDRSBFKRC_TRACEKRA_OPTIONSKRA_TRACEFBTAILFBINCFBHDRFLASHBACK_GENKTPR_DEBUGDUMP_TEMPDROP_SEGMENTSTEST_SPACEBGTREEDUMPLONGF_CREATEKDLIDMPROW_CACHELIBRARY_CACHELIBRARY_CACHE_OBJECTCURSORDUMPCURSORTRACECURSOR_STATSXS_SESSION_STATESHARED_SERVER_STATELISTENER_REGISTRATIONJAVAINFOKXFPCLEARSTATSKXFPDUMPTRACEKXFPBLATCHTESTKXFXSLAVESTATEKXFXCURSORSTATEKXFRHASHMAPWORKAREATAB_DUMPKUPPLATCHTESTOBJECT_CACHESAVEPOINTSRULESETDUMPRULESETDUMP_ADDRFAILOVEROLAP_DUMPSELFTESTASMASMDISK_ERR_ONASMDISK_READ_ERR_ONASMDISK_ERR_OFFIOERREMULIOERREMULRNGALRT_TESTAWR_TESTAWR_FLUSH_TABLE_ONAWR_FLUSH_TABLE_OFFASHDUMPMMON_TESTATSK_TESTHM_FW_TRACEHM_FDG_VERSIR_FW_TRACEKSDTRADV_TEST在这些dump选项中,大部分都有2,4,6,8,10,12等几个跟踪级别。在使用的时候要根据具体的情况来选择级别,不同级别的影响不一样。
3、获得系统状态
SQL> oradebug setospid 6852Oracle pid: 33, Unix process pid: 6852, image: oracle@linux (TNS V1-V3)SQL> oradebug flush已处理的语句SQL> oradebug unlimit已处理的语句SQL> oradebug tracefile_name/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_6852.trcSQL> oradebug dump systemstate 10已处理的语句SQL> oradebug close_trace已处理的语句
4、获得某个进程状态
-- 注意,这里必须是Oracle 的进程
SQL> oradebug setospid 6852Oracle pid: 33, Unix process pid: 6852, image: oracle@linux (TNS V1-V3)SQL> oradebug unlimit已处理的语句SQL> oradebug tracefile_name/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_6852.trcSQL> oradebug dump processstate 10已处理的语句SQL> oradebug close_trace已处理的语句5、获得进程的错误信息状态
SQL> oradebug setospid 6852Oracle pid: 33, Unix process pid: 6852, image: oracle@linux (TNS V1-V3)SQL> oradebug unlimit已处理的语句SQL> oradebug tracefile_name/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_6852.trcSQL> oradebug dump errorstack 3已处理的语句SQL> oradebug close_trace已处理的语句6、利用oradebug追踪10046事件
SQL> oradebug setospid 6852Oracle pid: 33, Unix process pid: 6852, image: oracle@linux (TNS V1-V3)SQL> oradebug unlimit已处理的语句SQL> oradebug tracefile_name/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_6852.trcSQL> oradebug event 10046 trace name context forever,level 4已处理的语句SQL> oradebug event 10046 trace name context off已处理的语句SQL> oradebug close_trace已处理的语句7、例如要追踪能造成ORA-0094/952错误的会话
SQL> oradebug event 942 trace name errorstack level 3SQL> oradebug event 952 trace name errorstack level 38、暂停、启动进程
SQL> oradebug setospid 6852Oracle pid: 33, Unix process pid: 6852, image: oracle@linux (TNS V1-V3)SQL> oradebug SUSPEND已处理的语句SQL> oradebug RESUME已处理的语句SQL> oradebug close_trace已处理的语句
- oradebug 简介!
- oradebug命令 简介
- oradebug
- oradebug
- oradebug
- oradebug
- oradebug
- oradebug
- oradebug(转)
- oradebug神器
- oradebug hanganalyze
- Oradebug 学习
- oradebug short_stack
- oradebug 知识点
- oradebug--记录
- oradebug用法拾遗
- ORADEBUG 使用介绍
- ORADEBUG 学习笔记
- Android对于APN
- 彩信系统结构介绍
- 按钮不同状态显示不同图片
- oracle 中escape 关键字用法
- Android套接字编程
- oradebug 简介!
- 天津搜索引擎营销SEM(二)
- S3C2440-启动分析
- 数据结构复习题(三)
- 原生代码卷土重来 C++欲东山再起
- SDRAM参数
- 6款常用的Java开源报表制作工具
- 全局函数访问类成员方法
- Qt + OpenGL4.0 --------顶点数组对象