oracle 日常维护常用命令

oracle 日常维护常用命令

–查看数据库版本
SELECT * FROM V V E R S I O N ; − − 查 看 数 据 库 语 言 环 境 S E L E C T U S E R E N V ( ′ L A N G U A G E ′ ) F R O M D U A L ; − − 查 看 o r a c l e 实 例 状 态 S E L E C T I N S T A N C E N A M E , H O S T N A M E , S T A R T U P T I M E , S T A T U S , D A T A B A S E S T A T U S F R O M V VERSION; --查看数据库语言环境 SELECT USERENV('LANGUAGE') FROM DUAL; --查看oracle实例状态 SELECT INSTANCE_NAME,HOST_NAME,STARTUP_TIME,STATUS,DATABASE_STATUS FROM V VERSION;SELECTUSERENV(LANGUAGE)FROMDUAL;oracleSELECTINSTANCENAME,HOSTNAME,STARTUPTIME,STATUS,DATABASESTATUSFROMVINSTANCE;
–查看oracle监听状态
lsnrctl status
–查看数据库归档模式
SELECT NAME,LOG_MODE,OPEN_MODE FROM VKaTeX parse error: Expected 'EOF', got '#' at position 397: …LECT SID,SERIAL#̲,USERNAME,PROGR…SESSION;
–查看ddl锁
SELECT * FROM DBA_DDL_LOCKS WHERE OWNER =‘ORACLE’;

select t.SID,
t.SERIAL#,
t2.OBJECT_TYPE,
t.USERNAME ORACLE_USER,
t2.OBJECT_NAME,
t.OSUSER,
t.MACHINE,
t3.SQL_TEXT
from v s e s s i o n t , v session t, v sessiont,vlocked_object t1, dba_objects t2, v$sql t3
where t.SID = t1.SESSION_ID
AND t1.OBJECT_ID = t2.OBJECT_ID
AND T3.SQL_ID=T.SQL_ID
–解锁
ALTER SYSTEM KILL SESSION ‘25,396’

–检查等待事件
SELECT SID,A.USERNAME,EVENT,WAIT_CLASS,T1.SQL_TEXT
FROM V S E S S I O N A , V SESSION A,V SESSIONA,VSQLAREA T1
WHERE WAIT_CLASS <>‘Idle’
AND A.SQL_ID=T1.SQL_ID;
–检查数据文件状态
SELECT FILE_NAME,STATUS FROM DBA_DATA_FILES;

–检查不起作用的约束
SELECT OWNER,CONSTRAINT_NAME,TABLE_NAME,CONSTRAINT_TYPE,STATUS FROM DBA_CONSTRAINTS WHERE STATUS=‘DISABLE’;
–检查发生坏块的数据库对象
SELECT TABLESPACE_NAME,SEGMENT_TYPE,OWNER,SEGMENT_NAME
FROM DBA_EXTENTS
WHERE FILE_ID=< AFN >
AND < BLOCK > BETWEEN BLOCK_ID AND BLOCK_ID + BLOCKS - 1;

–检查无效的数据库对像
SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM DBA_OBJECTS WHERE STATUS=‘INVALID’;

–查看语句执行进度
SELECT SE.SID,
OPNAME,
TRUNC(SOFAR / TOTALWORK *100,2)||’%’ AS PCT_WORK,
ELAPSED_SECONDS ELAPSED,
ROUND(ELAPSED_SECONDS * (TOTALWORK - SOFAR) / SOFAR) REMAIN_TIME,
SQL_TEXT
FROM V S E S S I O N L O N G O P S S L , V SESSION_LONGOPS SL, V SESSIONLONGOPSSL,VSQLAREA SA, V$SESSION SE
WHERE SL.SQL_HASH_VALUE = SA.HASH_VALUE
AND SL.SID = SE.SID
AND SOFAR != TOTALWORK
ORDER BY START_TIME;

–检查碎片程度高的表
SELECT SEGMENT_NAME TABLE_NAME, COUNT() EXTENTS
FROM DBA_SEGMENTS
WHERE OWNER NOT IN (‘SYS’, ‘SYSTEM’)
GROUP BY SEGMENT_NAME
HAVING COUNT(
) = (SELECT MAX(COUNT(*))
FROM DBA_SEGMENTS
GROUP BY SEGMENT_NAME);

–检查表空间的i/0比例
SELECT DF.TABLESPACE_NAME NAME,
DF.FILE_NAME “FILE”,
F.PHYRDS PYR,
F.PHYBLKRD PBR,
F.PHYWRTS PYW,
F.PHYBLKWRT PBW
FROM V$FILESTAT F, DBA_DATA_FILES DF
WHERE F.FILE# = DF.FILE_ID
ORDER BY DF.TABLESPACE_NAME;

–检查文件系统I/O比例
SELECT SUBSTR(A.FILE#, 1, 2) “#”,
SUBSTR(A.NAME, 1, 30) “NAME”,
A.STATUS,
A.BYTES,
B.PHYRDS,
B.PHYWRTS
FROM V D A T A F I L E A , V DATAFILE A, V DATAFILEA,VFILESTAT B
WHERE A.FILE# = B.FILE#;
–检查消耗cpu最高的进程
SELECT P.PID PID,
S.SID SID,
P.SPID SPID,
S.USERNAME USERNAME,
S.OSUSER OSNAME,
P.SERIAL# S_#,
P.TERMINAL,
P.PROGRAM PROGRAM,
P.BACKGROUND,
S.STATUS,
RTRIM(SUBSTR(A.SQL_TEXT, 1, 80)) SQLFROM
FROM V P R O C E S S P , V PROCESS P, V PROCESSP,VSESSION S, VKaTeX parse error: Expected 'EOF', got '#' at position 79: …+) AND P.SERIAL#̲ <> '1'; 检查运行很久…SESSION_LONGOPS, VKaTeX parse error: Unexpected character: '' at position 89: …E = HASH_VALUE;̲ 等待时间最多的 5 个系统等…SYSTEM_EVENT
WHERE EVENT NOT LIKE ‘SQL%’
ORDER BY TOTAL_WAITS DESC)
WHERE ROWNUM <= 5;

–查找前十条性能查的sql
SELECT *
FROM (SELECT PARSING_USER_ID EXECUTIONS,
SORTS,
COMMAND_TYPE,
DISK_READS,
SQL_TEXT
FROM V$SQLAREA
ORDER BY DISK_READS DESC)
WHERE ROWNUM < 10;

–查看正在运行job
SELECT * FROM DBA_JOBS_RUNNING;
–检查数据job的完成情况
SELECT JOB,LOG_USER,LAST_DATE,NEXT_DATE,WHAT,FAILURES
FROM DBA_JOBS;

SELECT * FROM DBA_JOBS_RUNNING;
–查看数据库job的完成情况
SELECT JOB,LOG_USER,LAST_DATE,NEXT_DATE,WHAT,FAILURES FROM DBA_JOBS;

–查看正在运行的job对应的sid,serial#,spid

SELECT A.JOB, B.SID, B.SERIAL#, C.SPID
FROM DBA_JOBS_RUNNING A, V S E S S I O N B , V SESSION B, V SESSIONB,VPROCESS C
WHERE A.SID = B.SID
AND B.PADDR = C.ADDR
AND JOB = ‘21’;

–通过sid查询serial#,spid
SELECT B.SID,B.SERIAL#,C.SPID
FROM V S E S S I O N B , V SESSION B,V SESSIONB,VPROCESS C
WHERE B.SID=‘554’
AND B.PADDR=C.ADDR

–停止会话
SID:554 SERIAL#:1123 SPID:23232
oracle级别
ALTER SYSTEM KILL SESSION ‘554,1123’
系统级别
kill -9 spid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
oracle rac日常基本维护命令 所有实例和服务的状态 $ srvctl status database -d orcl Instance orcl1 is running on node linux1 Instance orcl2 is running on node linux2 单个实例的状态 $ srvctl status instance -d orcl -i orcl2 Instance orcl2 is running on node linux2 在数据库全局命名服务的状态 $ srvctl status service -d orcl -s orcltest Service orcltest is running on instance(s) orcl2, orcl1 特定节点上节点应用程序的状态 $ srvctl status nodeapps -n linux1 VIP is running on node: linux1 GSD is running on node: linux1 Listener is running on node: linux1 ONS daemon is running on node: linux1 ASM 实例的状态 $ srvctl status asm -n linux1 ASM instance +ASM1 is running on node linux1. 列出配置的所有数据库 $ srvctl config database orcl 显示 RAC 数据库的配置 $ srvctl config database -d orcl linux1 orcl1 /u01/app/oracle/product/10.2.0/db_1 linux2 orcl2 /u01/app/oracle/product/10.2.0/db_1 显示指定集群数据库的所有服务 $ srvctl config service -d orcl orcltest PREF: orcl2 orcl1 AVAIL: 显示节点应用程序的配置 —(VIP、GSD、ONS、监听器) $ srvctl config nodeapps -n linux1 -a -g -s -l VIP exists.: /linux1-vip/192.168.1.200/255.255.255.0/eth0:eth1 GSD exists. ONS daemon exists. Listener exists. 显示 ASM 实例的配置 $ srvctl config asm -n linux1 +ASM1 /u01/app/oracle/product/10.2.0/db_1 集群中所有正在运行的实例 SELECT inst_id , instance_number inst_no , instance_name inst_name , parallel , status , database_status db_status , active_state state , host_name host FROM gv$instance ORDER BY inst_id; INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST -------- -------- ---------- --- ------- ------------ --------- ------- 1 1 orcl1 YES OPEN ACTIVE NORMAL rac1 2 2 orcl2 YES OPEN ACTIVE NORMAL rac2 位于磁盘组中的所有数据文件 select name from v$datafile union select member from v$logfile union select name from v$controlfile union select name from v$tempfile; NAME ------------------------------------------- +FLASH_RECOVERY_AREA/orcl/controlfile/current.258.570913191 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_1.257.570913201 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_2.256.570913211 +FLAS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值