Oracle数据库经常使用经典查询
本文收集了经常使用的数据库查询。须要数据库管理员权限:
1. 查询暂时表空间使用情况
SELECT TABLESPACE_NAME,
TABLESPACE_SIZE / 1024 / 1024 TABLESPACE_SIZE_MB,
ALLOCATED_SPACE / 1024 / 1024 ALLOCATED_SPACE_MB,
FREE_SPACE / 1024 / 1024 FREE_SPACE_MB,
TO_CHAR((1 - FREE_SPACE / TABLESPACE_SIZE) * 100, '900.00') PERCENTAGE_USED
FROM DBA_TEMP_FREE_SPACE
;
2. 查询使用TEMP表空间的语句的SID, SERIAL#:
SELECT B.TABLESPACE, B.SEGFILE#, B.SEGBLK#, ROUND ( ( ( B.BLOCKS * P.VALUE ) / 1024 / 1024 / 1024 ), 2 ) SIZE_GB
, A.SID, A.SERIAL#, A.USERNAME, A.OSUSER, A.PROGRAM, A.STATUS
FROM V$SESSION A, V$SORT_USAGE B, V$PROCESS C, V$PARAMETER P
WHERE P.NAME = 'db_block_size'
AND A.SADDR = B.SESSION_ADDR
AND A.PADDR = C.ADDR
ORDER BY SIZE_GB DESC;
3. 依据上面查询 出的SERIAL#,查询出相应的语句:
SELECT S.SID, S.SERIAL#, T.SQL_FULLTEXT,T.SQL_ID,S.SQL_HASH_VALUE,T.HASH_VALUE
FROM V$SESSION S, V$SQL T
WHERE S.SQL_ADDRESS = T.ADDRESS
AND S.SQL_HASH_VALUE = T.HASH_VALUE
AND S.SERIAL# = '&SERIAL#';
4. 查询表空间的使用情况:
SELECT TSU.TABLESPACE_NAME, CEIL(TSU.USED_GB) "used GB" --15467
, DECODE(CEIL(TSF.FREE_GB), NULL,0,CEIL(TSF.FREE_GB)) "free GB"
, DECODE(100 - CEIL(TSF.FREE_GB/TSU.USED_GB*100), NULL, 100
, 100 - CEIL(TSF.FREE_GB/TSU.USED_GB*100)) "% used"
FROM (SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024/1024 USED_GB
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME
UNION ALL
SELECT TABLESPACE_NAME || ' **TEMP**',SUM(BYTES)/1024/1024/1024 USED_GB
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME
) TSU
, (SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024/1024 FREE_GB
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
) TSF
WHERE TSU.TABLESPACE_NAME = TSF.TABLESPACE_NAME (+)
AND ( TSF.TABLESPACE_NAME IN ('&tablespace_name1', '&tablespace_name1') );
5. 查询执行时间长的Session:
SELECT *
FROM
(SELECT *
FROM
(SELECT VP.START_TIME "Start Time",ROUND((VP.LAST_UPDATE_TIME - VP.START_TIME)*60*24*60) ELAPSED,VP.MESSAGE "Message",
DECODE (VP.TOTALWORK, 0, 0, ROUND (100 * VP.SOFAR / VP.TOTALWORK, 2)) "Percent", VP.TIME_REMAINING||' sec' REMAINING
FROM V$SESSION_LONGOPS VP
WHERE VP.SID = &session_id --实际要替换的參数
)
ORDER BY 1 DESC
);
6. 查询数据库表的大小
SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 / 1024 GB
FROM DBA_SEGMENTS
WHERE SEGMENT_NAME = '&table_name' <span style="font-family: Arial, Helvetica, sans-serif;">--实际要替换的參数</span>
GROUP BY SEGMENT_NAME;
7. 查询数据库表的依赖:
SELECT * FROM DBA_DEPENDENCIES WHERE REFERENCED_NAME='&object_name';--输入对象名称
8. 输出创建表的语句
DECLARE
V_STR LONG;
CURSOR CUR
IS
SELECT COLUMN_NAME||' '||DECODE(DATA_TYPE, 'NUMBER', DECODE(NULLIF(DATA_LENGTH, 22), NULL, DATA_TYPE, DATA_TYPE||'('||DATA_LENGTH||')'),
'DATE', DATA_TYPE,
DATA_TYPE||'('||DATA_LENGTH||')'
)||',' COL
FROM DBA_TAB_COLS
WHERE TABLE_NAME='&SOURCE_TABLE_NAME'
AND OWNER='&SOURCE_TABLE_OWNER'
ORDER BY COLUMN_NAME ASC;
BEGIN
FOR REC IN CUR LOOP
V_STR:=V_STR||REC.COL||CHR(10);
END LOOP;
V_STR:='CREATE TABLE'||' &TABLE_NAME'||' '||'('||CHR(10)||V_STR||CHR(10)||');';
DBMS_OUTPUT.PUT_LINE(V_STR);
END;
9. 查询表结构
SELECT DBMS_METADATA.GET_DDL('TABLE','&table_name','&schema') FROM DUAL;--替换表名与表所在的schema
10. 查询数据库的字符集
SELECT * FROM NLS_DATABASE_PARAMETERS;
11. 查询 数据库用到的database link:
SELECT * FROM DBA_DB_LINKS WHERE DB_LINK='&db_link';
12. 查询数据表上的索引
select * from dba_indexes where owner='&owner' and table_name='&table_name';
13. 查询数据表用到的索引列
select * from dba_ind_columns where index_owner='&owner' and table_name='&table_name';
14. 查询数据表里的存储过程/函数/自己定义类型/触发器/包
select * from dba_source
where onwer='&owner'
and type='&type';
15. 查询约束
select * from dba_constraints;
select * from all_constraints;
select * from user_constraints;
16. 查询同义词
select * from dba_synonyms;
select * from all_synonyms;
select * from user_synonyms;
17. 查询出发器
select * from dba_triggers;
select * from all_triggers;
select * from user_triggers;
18. 查询视图
select * from dba_views;
select * from all_views;
select * from user_views;
19. 查询序列
select * from dba_sequences;
select * from all_sequences;
select * from user_sequences;
20. 查询物化视图
select * from DBA_MVIEWS;
select * from ALL_MVIEWS;
select * from USER_MVIEWS;
21. 查询数据库对象
select * from DBA_OBJECTS;
select * from ALL_OBJECTS;
select * from USER_OBJECTS;
22. 查询存储过程
select * from DBA_PROCEDURES;
select * from ALL_PROCEDURES;
select * from USER_PROCEDURES;
23. 查询数据库表
select * from DBA_TABLES;
select * from ALL_TABLES;
select * from USER_TABLES;
24. 查询数据库表的列
select * from DBA_TAB_COLUMNS;
select * from ALL_TAB_COLUMNS;
select * from USER_TAB_COLUMNS;
select * from DBA_TAB_COLS;
select * from ALL_TAB_COLS;
select * from USER_TAB_COLS;
25. 查询数据库表列的备注
select * from DBA_TAB_COMMENTS;
select * from ALL_TAB_COMMENTS;
select * from USER_TAB_COMMENTS;
26. 查看查询的运行计划
explain plan for select * from dict;
select * from table(dbms_xplan.display);
持续更新中...
----------------------------------------------------------------------------------------------------------------------------------------------------
假设您们在尝试的过程中遇到什么问题或者我的代码有错误的地方。请给予指正,很感谢!
联系方式:david.louis.tian@outlook.com
版权@:转载请标明出处!
Oracle数据库经常使用经典查询的更多相关文章
- Oracle数据库之七 多表查询
七.多表查询 对于查询在之前已经学过了简单查询.限定查询.查询排序,这些都属于 SQL 的标准语句,而上一章的单行函数,主要功能是为了弥补查询的不足. 而从多表查询开始就正式进入到了复杂查询部 ...
- SQLSERVER 创建对Oracle数据库的DBlink以及查询使用
1. 与针对oracle数据库一样, 在sqlserver中创建对oracle数据库的dblink 安全性上面也进行定义(貌似不需要跟访问字符串只需要填一个即可) 发现有的版本改注册表不管用 还得修改 ...
- Oracle 数据库基础:数据查询与操作
SELECT uname FROM TUser WHERE uname=‘admin’ SELECT 字段名列表 FROM 表名 WHERE 条件; 在Oracle数据库中,对象是属于模式的,每个账户 ...
- 007.Oracle数据库 , 使用%进行模糊查询
/*Oracle数据库查询日期在两者之间*/ SELECT PKID, OCCUR_DATE, ATA FROM LM_FAULT WHERE ( ( OCCUR_DATE >= to_date ...
- Oracle数据库order by排序查询分页比不分页还慢问题解决办法
简单说下问题,有一个JDBC的查询SQL,分页查询语句中有一个排序order by create_time,理论上来说JDBC查询已经是比较底层的技术了,没有像Hibernate.MyBatis那样又 ...
- Oracle数据库之单表查询
接着上一篇的分享,今天主要给大家分享的是关于数据中的单表查询,单表查询很基础,也很重要,但是任何一个初学者必须要掌握的姿势,单表查询就是对单个表进行操作,查询我们想要的数据.单表查询里面的内容也是比较 ...
- ORACLE数据库存储空间使用情况查询
使用系统sys或者dba权限的账户创建视图如下: 1. 主要从数据库的表dba_data_files,dba_segments两张表中获取.2. 默认数据库保存的是byte单位,转换关系如下: 102 ...
- oracle数据库使用之数据查询入门
1.在查询过程中使用算术表达式对数据进行运算 student表结构如下: 最后一项salary表示每个人的月薪,我现在想查询每个人的年薪: 2.使用nvl函数处理null值,向表中插入一条数据,该数据 ...
- Oracle数据库按属性成绩查询
create or replace function bb return nvarchar2as-----------自定义游标类型type class_student is record( snam ...
随机推荐
- http协议区分头信息和正文
http协议中的头信息和正文是採用空行分开,什么是空行呢?简单来说,就是\r\n\r\n. 所以将server返回的数据用\r\n\r\n分开后的结果,一个是头信息.一个是正文信息. C#的代码例如以 ...
- UFLDL教程笔记及练习答案五(自编码线性解码器与处理大型图像**卷积与池化)
自己主动编码线性解码器 自己主动编码线性解码器主要是考虑到稀疏自己主动编码器最后一层输出假设用sigmoid函数.因为稀疏自己主动编码器学习是的输出等于输入.simoid函数的值域在[0,1]之间,这 ...
- java删除文件夹及子目录
package test; import java.io.FileNotFoundException; import java.io.IOException; import java.io.File; ...
- 英语发音规则---V字母
英语发音规则---V字母 一.总结 一句话总结: 1.V发[v]? voice [vɒɪs] n. 声音 love [lʌv] n. 恋爱 leave [liːv] vt. 离开 very ['ver ...
- OzymanDNS 使用——perl 5.22没有成功。。。
最初官方的代码没有找到,但是发现github里貌似有: git clone https://github.com/splitbrain/dnstunnel.git 源码是perl写的,需要安装一些pe ...
- poj--3630--Phone List(字典树+前缀判断)
Phone List Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit St ...
- ROS-Gazebo文件标签解读
前言:Gazebo是一个三维机器人仿真器,它是独立的软件,支持ROS. 标签 功能 <gazebo> 设置Gazebo仿真的参数 <mu1>, <mu2> 设置摩擦 ...
- SQL学习——基础语句(4)
前面感觉真的好乱,想哪,写哪.这里慢慢整理…… SQL Having 语句 还是前面的那两个表: grade表: student表: 我们需要查找这里的s_id下的gradeValue的和,这就要分组 ...
- vue <router-view>没有渲染
将routes中的components换成component
- UNP学习笔记1——基本TCP套接字编程
1 套接字地址结构 大多数套接字函数都需要一个指向套接字地址结构的指针作为参数.每个协议族都定义了自己的套接字结构.这些套接字的结构以sockaddr_开头,以每个协议族唯一的后缀名结尾. 1.1 I ...