社区
基础和管理
帖子详情
v$sql v$sqltext v$sqlarea 中,无法看到刚才执行过的sql语句?
mmmgcy
2012-02-14 11:01:53
打开2个窗口,一个执行了 : insert into a values(21); 没有提交。
另一个,根据v$session中的 sql_id,进行查询:
得到的 SQL_FULLTEXT 却是 : begin :id := sys.dbms_transaction.local_transaction_id; end;
为什么不是 执行的语句 “insert into a values(21)”呢?
...全文
109
1
打赏
收藏
v$sql v$sqltext v$sqlarea 中,无法看到刚才执行过的sql语句?
打开2个窗口,一个执行了 : insert into a values(21); 没有提交。 另一个,根据v$session中的 sql_id,进行查询: 得到的 SQL_FULLTEXT 却是 : begin :id := sys.dbms_transaction.local_transaction_id; end; 为什么不是 执行的语句 “insert into a values(21)”呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mingchaoyan
2012-02-14
打赏
举报
回复
建议lz 去看看 事务和并发控制相关内容
深入解析Oracle.DBA入门进阶与诊断案例
针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与
SQL
优化等几大Oracle热点主题,本书从基础知识入手,深入研究相关技术,并结合性能调整及丰富的诊断案例,力图将Oracle知识全面、系统、深入地展现给读者。 本书给出了大量取自实际工作现场的实例,在分析实例的过程
中
,兼顾深度与广度,不仅对实际问题的现象、产生原因和相关的原理进行了深入浅出的讲解,更主要的是,结合实际应用环境,提供了一系列解决问题的思路和方法,包括详细的操作步骤,具有很强的实战性和可操作性,适用于具备一定数据库基础、打算深入学习Oracle技术的数据库从业人员,尤其适用于入门、进阶以及希望深入研究Oracle技术的数据库管理人员。 第1章 数据库的启动和关闭 1 1.1 数据库的启动 1 1.1.1 启动数据库到NOMOUNT状态的过程 2 1.1.2 启动数据库到MOUNT状态 18 1.1.3 启动数据库OPEN阶段 26 1.2 数据库的访问 37 1.2.1 客户端的TNSNAMES.ORA文件配置 37 1.2.2 服务器端的监听器文件listener.ora配置 39 1.2.3 通过不同服务器名对数据库的访问 41 1.2.4 动态监听器注册服务 42 1.3 数据库的关闭 46 1.3.1 数据库关闭的步骤 46 1.3.2 几种关闭方式的对比 48 第2章 控制文件与数据库初始化 51 2.1 控制文件的内容 51 2.2 SCN 53 2.2.1 SCN的定义 53 2.2.2 SCN的获取方式 53 2.2.3 SCN的进一步说明 54 2.3 检查点(Checkpoint) 57 2.3.1 检查点(Checkpoint)的工作原理 57 2.3.2 常规检查点与增量检查点 59 2.3.3 LOG_CHECKPOINT_TO_ALERT参数 63 2.3.4 控制文件与数据文件头信息 64 2.3.5 数据库的启动验证 66 2.3.6 使用备份的控制文件 70 2.3.7 FAST_START_MTTR_TARGET 71 2.3.8 关于检查点
执行
的案例 74 2.3.9 Oracle 10g自动检查点调整 75 2.3.10 检查点信息及恢复起点 78 2.3.11 正常关闭数据库的状况 78 2.3.12 数据库异常关闭的情况 80 2.3.13 数据库并行恢复案例一则 82 2.3.14 判断一个死事务的恢复进度 85 2.4 数据库的初始化 86 2.4.1 bootstrap$及数据库初始化过程 86 2.4.2 bootstrap$的定位 88 2.4.3 Oracle
中
独一无二的Cache对象 89 2.4.4 Oracle数据库的引导 91 2.4.5 系统对象与bootstrap$ 92 2.4.6 bootstrap$的重要性 94 2.4.7 BBED工具的简要介绍 95 2.4.8 坏块的处理与恢复 97 第3章 参数及参数文件 103 3.1 初始化参数的分类 103 3.1.1 推导参数(Derived Parameters) 103 3.1.2 操作系统依赖参数 104 3.1.3 可变参数 104 3.1.4 初始化参数的获取 105 3.2 参数文件 107 3.2.1 PFILE和SPFILE 108 3.2.2 获取参数的视图 110 3.2.3 SPFILE的创建 111 3.2.4 SPFILE的搜索顺序 112 3.2.5 使用PFILE/SPFILE启动数据库 112 3.2.6 修改参数 113 3.2.7 解决SPFILE参数修改错误 118 3.2.8 重置SPFILE
中
设置的参数 120 3.2.9 判断是否使用了SPFILE 120 3.2.10 SPFILE的备份与恢复 121 3.2.11 Oracle 11g参数文件恢复 127 3.2.12 如何设置Events事件 128 3.2.13 导出SPFILE文件 129 3.3 诊断案例之一:参数文件 131 3.3.1 登录系统检查告警日志文件 131 3.3.2 尝试重新启动数据库 132 3.3.3 检查数据文件 132 3.3.4 MOUNT数据库,检查系统参数 133 3.3.5 检查参数文件 133 3.3.6 再次检查alert文件 134 3.3.7 修正PFILE 135 3.3.8 启动数据库 135 3.4 诊断案例之二:RAC环境参数文件 135 3.4.1 数据库资源异常 135 3.4.2 问题的发现 136 3.4.3 参数文件问题的解决 137 第4
ORACLE精品脚本笔记
精品脚本手记(压箱的笔记拿出来)如果觉得好,强烈要好评。内容缩影:
11. 监控内存和硬盘的排序比率,最好使它小于 .10,增加 sort_
area
_size
SELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts (disk)');
12. 监控当前数据库谁在运行什么
SQL
语句
SELECT osuser, username,
sql
_
text
from v$session a, v$
sql
text
b
where a.
sql
_address =b.address order by address, piece;
13. 监控字典缓冲区
SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE;
SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM V$ROWCACHE;
SELECT SUM(PINS) "EXECUTIONS", SUM(RELOADS) "CACHE MISSES WHILE EXECUTING" FROM V$LIBRARYCACHE;
后者除以前者,此比率小于1%,接近0%为好。
SELECT SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES"
FROM V$ROWCACHE
14. 找ORACLE字符集
select * from sys.props$ where name='NLS_CHARACTERSET';
15. 监控 MTS
select busy/(busy+idle) "shared servers busy" from v$dispatcher;
此值大于0.5时,参数需加大
select sum(wait)/sum(totalq) "dispatcher waits" from v$queue where type='dispatcher';
select count(*) from v$dispatcher;
select servers_highwater from v$mts;
servers_highwater接近mts_max_servers时,参数需加大
16. 碎片程度
select tablespace_name,count(tablespace_name) from dba_free_space group by tablespace_name
having count(tablespace_name)>10;
alter tablespace name coalesce;
alter table name deallocate unused;
create or replace view ts_blocks_v as
select tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_space
union all
select tablespace_name,block_id,bytes,blocks,segment_name from dba_extents;
select * from ts_blocks_v;
select tablespace_name,sum(bytes),max(bytes),count(block_id) from dba_free_space
group by tablespace_name;
查看碎片程度高的表
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);
17. 表、索引的存储情况检查
select segment_name,sum(bytes),count(*) ext_quan from dba_extents where
tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_name;
select segment_name,count(*) from dba_extents where segment_type='INDEX' and owner='&owner'
group by segment_name;
oracle
中
v$
sql
,v$
sql
area
,v$
sql
text
记录
v$
sql
text
:表
中
的信息比较简单,主要是
sql
的id,hashvalue,address,以及
sql
语句
(
SQL
被分割为多行存储)。按piece字段的顺序拼接
sql
_
text
字段代表完整的
sql
语句
select a.ADDRESS,a.HASH_VALUE,a.PIECE,a.
SQL
_
TEXT
from v$
sql
text
a group by a.ADDRESS,a.HASH_VALUE order by a.ADDRESS,a.HASH_VALUE,a.PIECE; v$
sql
:...
oracle查询一天内的数据_详解Oracle数据库
sql
查询视图--v$
sql
,v$
sql
area
,v$
sql
text
概述oracle数据库关于
SQL
查询相关的几个视图有v$
sql
,v$
sql
area
,v$
sql
text
,那这
中
间有什么区别呢?01共同点1)都存储了
sql
内容2) 记录的都是位于内存
中
的
sql
内容3) 因为是内存,所以都不保留历史记录02不同点1、存储的位置不同其
中
v$
sql
和v$
sql
area
存储的
sql
都是位于shared
sql
area
中
的
sql
,而v$
sql
text
是位于sga
中
的
sql
...
v$
sql
、 v$
sql
area
、 v$
sql
text
V$
SQL
中
列出了共享
SQL
区
中
所有语句的信息,它不包含GROUP BY 字句,并且为每一条
SQL
语句
中
单独存放一条记录; V$
SQL
AREA
中
一条记录显示了一条共享
SQL
区
中
的统计信息。它提供了有在内存
中
、解析过的和准备运行的
SQL
语句的统计信息; V$
SQL
TEXT
包含了库缓存
中
所有共享游标对应的
SQL
语句。它将
SQL
语句分片显示。 ...
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章