oracle备忘
一、explain plan
a)explain plan for select ...
select * from table(dbms_xplan.display());
function display (table_name varchar2 default 'PLAN_TABLE',
statement_id varchar2 default null,
format varchar2 default 'TYPICAL')
- table_name:
specifies the table name where the plan is stored. This
parameter defaults to "PLAN_TABLE" which is the default
plan table for the explain plan.
- statement_id:
specifies the statement id of the plan to display. This
parameter defaults to NULL.
- format:
'BASIC': Display only the minimum, i.e. the operation id,
the operation name and its option
'TYPICAL': This is the default. Display most information
of the explain plan (operation id, name and option,
#rows, #bytes and optimizer cost. Pruning,
parallel and predicate information are only
displayed when applicable.
'ALL': Maximum level. Like typical with additional display
of the SQL statements generated for PX servers
(only if parallel).
'SERIAL': Like typical except that parallel information are
not displayed, even if the plan is parallel
b)dbms_xplan.display_awr(sql_id VARCHAR2,
plan_hash_value INTEGER DEFAULT NULL,
db_id INTEGER DEFAULT NULL,
format VARCHAR2 DEFAULT 'TYPICAL')
RETURN dbms_xplan_type_table PIPELINED;
c)dbms_xplan.display_cursor(
sql_id VARCHAR2 DEFAULT NULL,
cursor_child_no INTEGER DEFAULT 0,
format VARCHAR2 DEFAULT 'TYPICAL')
RETURN dbms_xplan_type_table PIPELINED;
select child_number from v$sql_shared_cursor where sql_id='...';
d)dbms_xplan.display_sqlset(
sqlset_name VARCHAR2,
sql_id VARCHAR2,
plan_hash_value INTEGER DEFAULT NULL,
format VARCHAR2 DEFAULT 'TYPICAL',
sqlset_owner VARCHAR2 DEFAULT NULL)
RETURN dbms_xplan_type_table PIPELINED;
2、v$sql_shared_cursor的reason为OPTIMIZER_MISMATCH—优化器环境与现有的子游标不匹配时括号中的数字意义
1 = Degree used is not the default DOP
2 = In (RAC) cases where instance count is not the same, or session CPU count is not the same, or thread count is not the same
3 = _parallel_syspls_obey_force is FALSE
4 = The PQ mode does not match.
5 = The degree does not match.
6 = The parallel degree policy does not match.
7 = The session limit is not the same as the cursor limit but the cursor limit is the same as the degree used.
8 = The cursor limit is greater than the degree used and the session limit is less than the cursor limit
9 = The cursor limit is less than the degree used and the session limit is not the same as the cursor limit
10 = Optimizer mode difference
11 = Materialized View mismatch
12 = Optimizer environment mismatch (ie an optimizer parameter is different)
13 = Cardinality Feedback is use
二、sqlplus启动执行命令
[$ORACLE_HOME/sqlplus/admin,$SQLPATH,.]\glogin.sql,login.sql
显示所有参数
show all
show user,show error
三、sql多行结果转一行
select i,wmsys.wm_concat(a) from t group by i;
四、当前session_id
select sid, serial#, status from v$session where audsid=userenv('sessionid');
select sid from v$mystat where rownum=1;
select userenv('sid') from dual;
五、flashback
db_recovery_file_dest:指定闪回恢复区的位置
db_recovery_file_dest_size:指定闪回恢复区的可用空间大小
db_flashback_retention_target:指定数据库可以回退的时间,单位为分钟,默认1440分钟,也就是一天。
v$flash_recovery_area_usage: flash_recovery_area空间使用情况(分类)
v$recovery_file_dest: 空间使用
dba_outstanding_alerts:空间告警
V$CONTROLFILE, V$LOGFILE, V$ARCHIVED_LOG, V$DATAFILE_COPY 等数据字典的列IS_RECOVERY_DEST_FILE ,指明相关的文件是否在恢复区内
六、数据字典
select reason,object_type,suggested_action,creation_time from dba_outstanding_alerts;
性能、资源相关告警,补充alert
select * from v$resource_limit;
资源使用历史
七、闪回查询
利用undo
当前scn
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') time, to_char(dbms_flashback.get_system_change_number) scn from dual;
Scn转换成时间:
select to_char(scn_to_timestamp(3998591352171),'YYYY-MM-DD HH24:MI:SS') from dual;
时间转换成scn:
select timestamp_to_scn(to_date('2011-04-14 11:10:25','YYYY-MM-DD HH24:MI:SS')) from dual;
查询该时间点(或scn)的数据,如下:
select * from t as of timestamp to_timestamp('2000-01-01 01:01:01', 'yyyy-mm-dd hh24:mi:ss');
select * from t as of scn xxx;
oracle备忘的更多相关文章
- 项目中oracle存储过程记录——经常使用语法备忘
项目中oracle存储过程记录--经常使用语法备忘 项目中须要写一个oracle存储过程,需求是收集一个复杂查询的内容(涉及到多张表),然后把符合条件的记录插入到目标表中.当中原表之中的一个的日期字段 ...
- Oracle使用备忘
初学Oracle,很多语句记不住,写在这里备忘. 1.查看某表空间的数据文件 select file_name 文件名, tablespace_name 表空间名, bytes 已使用大小M, max ...
- JVM内存知识备忘
又是一篇备忘... 主要记录一些知识,进行一些资源的汇总. 先来群里liufor大大提供的两张图,清晰易懂: Dockerized Java https://www.youtube.com/watch ...
- 工作T-SQL备忘
作为一个"浸淫" Oracle 数据库很久的人来说, 突然转入 T-SQL, 也就是 MSSQL , 工作中经常用的查询和 MSMS 使用备忘如下 : --1. 切换对应的库连接 ...
- Annotation 使用备忘
title: Annotation 使用备忘 date: 2016-11-16 23:16:43 tags: [Annotation] categories: [Programming,Java] - ...
- GIS部分理论知识备忘随笔
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.高斯克吕格投影带换算 某坐标的经度为112度,其投影的6度带和3度带 ...
- python序列,字典备忘
初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...
- Vi命令备忘
备忘 Ctrl+u:向文件首翻半屏: Ctrl+d:向文件尾翻半屏: Ctrl+f:向文件尾翻一屏: Ctrl+b:向文件首翻一屏: Esc:从编辑模式切换到命令模式: ZZ:命令模式下保存当前文件所 ...
- ExtJs4常用配置方法备忘
viewport布局常用属性 new Ext.Viewport({ layout: "border", renderTo: Ext.getBody(), defaults: { b ...
随机推荐
- jQuery:获取浏览器中的分辨率
JQuery: <script type="text/javascript"> $(document).ready(function(){ alert($(window ...
- android学习笔记53——自动朗读TTS
自动朗读TTS android提供了自动朗读功能--其指的是支持可以对指定文本内容进行朗读,从而发出声音: 同时android的自动朗读支持还允许把文本对应的音频录制成音频文件,方便后续播放. 这种自 ...
- Handler基本概念
Handler基本概念: Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发 ...
- Apache Httpd + Subversion 搭建HTTP访问的SVN服务器
最近要搭建一个SVN服务器.简单安装之后,本地访问没有问题,但作为服务器肯定是需要HTTP访问.搜索之后,以下是我按照网上的资料搭建的过程,以备后用和参考.(所有软件安装步骤略,没有特殊的,如果没有特 ...
- Visual Studio Enterprise 2015下载 Update3
Visual Studio 2015 是一个丰富的集成开发环境,可用于创建出色的 Windows.Android 和 iOS 应用程序以及新式 Web 应用程序和云服务. 1.适用于各种规模和复杂程度 ...
- 算法库:boost安装配置
前提是电脑上已经装有VS. 1. 下载boost_1_60_0.zip并解压到所需位置 2. 双击bootstrap.bat生成b2.exe(新版)和bjam.exe(老版) 3. 双击b2.exe或 ...
- scp远程复制
scp 源 目标 -r 复制目录 scp -r root@ip:/XXX/path /XXX 注意:复制目录,包括该目录本身,目的地址无需再加该目录
- sql日期函数操作
sql语句获取本周.本月.本年数据 SQL Serverselect * from [data] where DATEPART(m,[date])=2 Accessselect * from [da ...
- saybyeto2015
不知不觉一年又结束了,还是打算在最后一天写个总结. 今年换了工作,改变不可谓不多. 技术方面,看的书主要是 <Angularjs权威指南> <JavaScript设计模式与开发实践& ...
- 深入理解JS异步编程(一)
js事件概念 异步回调 首先了讲讲js中 两个方法 setTimeout()和 setInterval() 定义和用法: setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法 ...