oracle数据库常用查询
一、数据库信息
1、数据库时间
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') AS dbtime from dual;
2、主机OS类型
SELECT dbms_utility.port_string FROM dual;
3、主机OS位数
select metadata from sys.kopm$;
4、参数配置信息
SELECT * FROM v$parameter t WHERE t.ISDEFAULT = 'FALSE';
5、资源限制信息
SELECT * FROM v$resource_limit;
6、数据库版本
select * from v$version;
7、核心组件版本
select * from dba_registry;
8、实例信息
select * from v$instance;
9、数据库信息
select * from v$database;
二、客户端连接信息
1、SESSION信息
select * from v$session;
2、PROCESS信息
select * from v$process;
三、锁信息
1、查看当前锁定对象
SELECT p.spid, s.serial#, a.object_name, k.session_id, k.oracle_username, k.os_user_name
FROM v$process p, v$session s, v$locked_object k, all_objects a
WHERE p.addr = s.paddr AND s.process = k.process AND a.object_id = k.object_id;
2、查看当前enqueue锁类型
select s.program,s.sql_hash_value,
w.event,w.state,w.seconds_in_wait,w.wait_time,
decode(w.event,'enqueue',chr(bitand(w.p1,-16777216)/16777215)||chr(bitand(w.p1,16711680)/65535)||', MODE: '||decode(bitand(p1,65536),0, 'None',1, 'Null (NULL)',2, 'Row-S (SS)',3, 'Row-X (SX)',4, 'Share (S)',5, 'S/Row-X (SSX)',6, 'Exclusive (X)',bitand(p1,65536))||', Waiting For: '||LOCKWAIT||',Object : '||ROW_WAIT_OBJ#||' at datafile : '||ROW_WAIT_FILE#||', Block : '|| ROW_WAIT_BLOCK#||', Row : '||ROW_WAIT_ROW#,w.p1) p1,w.p2,w.p3
from v$session s,v$session_wait w
where s.sid=w.sid
and s.status='ACTIVE'
and w.event not in (select event from perfstat.stats$idle_event);
四、SQL定位和处理
1、Session Kill
ALTER SYSTEM KILL SESSION '$SID,$SERIAL';
2、Session SQL
SELECT a.SID, b.SERIAL#, a.EVENT, b.MACHINE, b.USERNAME, c.HASH_VALUE, c.SQL_TEXT
FROM v$sqlarea c, v$session b, v$session_wait a
WHERE a.SID = b.SID AND b.SQL_HASH_VALUE = c.HASH_VALUE AND a.event NOT IN (
SELECT * FROM stats$idle_event);
3、根据hash_value定位SQL
select * from v$sqltext t where t.hash_value=:hash_value order by t.piece;
4、根据spid定位SQL
SELECT sql_text
FROM v$sqltext a
WHERE (a.hash_value, a.address) IN (
SELECT DECODE (sql_hash_value,
0, prev_hash_value,
sql_hash_value
),
DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)
FROM v$session b
WHERE b.paddr = (SELECT addr
FROM v$process c
WHERE c.spid = :spid))
ORDER BY piece ASC
五、表空间查看
1、表空间使用情况
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 1
2、表空间的free space
select tablespace_name,
count(*) as extends,
round(sum(bytes) / 1024 / 1024, 2) as MB,
sum(blocks) as blocks
from dba_free_space
group by tablespace_name;
3、表空间总容量
select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_data_files
group by tablespace_name;
4、表空间使用率
select total.tablespace_name,
round(total.MB, 2) as Total_MB,
round(total.MB - free.MB, 2) as Used_MB,
round((1 - free.MB / total.MB) * 100, 2) || '%' as Used_Pct
from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_free_space
group by tablespace_name) free,
(select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_data_files
group by tablespace_name) total
where free.tablespace_name = total.tablespace_name;
六、重做日志
1、查看日志组
SELECT * FROM v$log;
2、查看日志组成员
SELECT * FROM v$logfile;
3、日志切换
ALTER SYSTEM SWITCH LOGFILE;
4、归档当前日志
alter system archive log current;
5、查看是否为归档模式
select name,log_mode from v$database;
6、查看归档相关参数
SELECT * FROM v$parameter t WHERE t.name like '%log%';
oracle数据库常用查询的更多相关文章
- oracle数据库常用查询一
oracle数据库常用查询一 sqlplus / as sysdba; 或sqlplus sys/密码 as sysdba;两者都是以sys登录.conn scott/tiger@orcl; conn ...
- ORACLE数据库常用查询二
ORACLE数据库常用查询 1.查看表空间对应数据文件情况: SQL MB,AUTOEXTENSIBLE FROM DBA_DATA_FILES; TABLESPACE_NAME FILE_NAME ...
- Oracle数据库常用查询语句
1.[oracle@dbserver ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Tue Mar 15 15:1 ...
- Oracle DBA常用查询
Oracle DBA常用查询 –1. 查询系统所有对象select owner, object_name, object_type, created, last_ddl_time, timestamp ...
- Oracle数据库常用的Sql语句整理
Oracle数据库常用的Sql语句整理 查看当前用户的缺省表空间 : select username,default_tablespace from user_users; 2.查看用户下所有的表 : ...
- .Net 中读写Oracle数据库常用两种方式
.net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...
- Oracle 数据库分页查询的三种方法
一.Oracle 数据库分页查询的三种方法 1.简介 不能对 rownum 使用 >(大于或等于 1 的数值).>=(大于 1 的数值).=(不等于 1 的数值),否则无结果.所以直接用 ...
- oracle数据库常用plsql语句
(一)oracle中常用的数据类型 (二)PL-sql基本语法 1.创建数据库表.删除数据库表 create table table1--创建表 ( field1 number(8), field2 ...
- oracle数据库常用SQL语句(11.29更新)
笔者日常工作中常用到的sql语句,现总结如下,留作日后查看. 1.按照两列中的最大值取 ,只取两列其中的一列 SELECT * FROM t_doc T ORDER BY GREATEST(T.Loa ...
随机推荐
- .NET程序优化
一.数据库操作 1. 用完马上关闭数据库连接 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证, 比较耗费服务器资 源.ASP.NET 中提供了连 ...
- wamp如何添加多个站点
1.打开wamp目录下的bin目录下的apache/conf/extra/httpd-vhosts.conf文件(虚拟目录配置文件),修改文件:在num01下创建index.php文件,输出01,:在 ...
- NSArray转json字符串
func arrayToJson(arr:NSArray) -> String { let jsonData: NSData = try! NSJSONSerialization.dataWit ...
- ueditor不自动加P解决方法
百度的Ueditor编辑器出于安全考虑; 用户在html模式下粘贴进去的html文档会自动被去除样式和转义. 虽然安全的,但是非常不方便. 做一下修改把这个功能去掉. 一.打开ueditor.all. ...
- 使用AS编译jni文件无法编译出arm64-v8a,x86_64和mips64平台的.so文件的解决方法
我用的插件版本是:classpath 'com.android.tools.build:gradle-experimental:0.4.0',AS集成和使用ndk编译项目参考官方demo:https: ...
- PHP array_multisort—对多个数组或多维数组进行排序
PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以 ...
- Linux内核【链表】整理笔记(2)
关于链表我们更多时候是对其进行遍历的需求,上一篇博文里我们主要认识了一下和链表操作比较常用的几个内核API接口,其入参全都是清一色的struct list_head{}类型.至于链表的遍历,内核也有一 ...
- Ceph剖析:Paxos算法实现
作者:吴香伟 发表于 2014/10/8 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 Recovery阶段 在Leader选举成功后,Leader和Peon都 ...
- vpython初探
vpython 是python默认的3D模块,和python有一样的风格.与PyOpenGL相比,容易上手. vpython下载:vpython的官网(www.vpython.org).顺便说一句,官 ...
- RGB颜色中的参数是变量的时候,为什么要加上两个+号在左右?
<script> function draw(){ var c=document.getElementById("mycanvas"); var cxt=c.getCo ...