
技术
文章平均质量分 73
penitent
这个作者很懒,什么都没留下…
展开
-
9i与10g的细粒度审计
9i的细粒度审计 表的查询语句用普通触发器是检测不到的,除非开启数据库审计,但是从ORACLE9i开始,提供了一个DBMS_FGA包,可以在线对单个的表进行审计并查询审计资料,这就是细粒度审计。但是这个包的审计过程要求数据库运行在CBO优化模式下,如果不是,可能会有意想不到的结果,这就要求对审计的表进行分析。下面将就这个包的使用做简单的介绍,这个包共有四个过程,先介绍一下该包中的第一个过程原创 2004-07-06 19:10:00 · 2045 阅读 · 0 评论 -
关于rownum排序分页会比分析函数排序快的问题。。。
测试过程:create table test as select * from dba_objects;insert into test select * form dba_objects;……commit;create table sort_test as select rownum rn,t.* from test t order by object_id;SQL> select c原创 2004-11-11 16:51:00 · 5488 阅读 · 1 评论 -
不是bug的bug?
我们先看如下的一系列执行:SQL> create or replace view v_bmw_pay_online_new as 2 select * 3 from taobao.bmw_pay_online_new@lnk_db215; SQL> create or replace procedure sp_v_test is 2 v_id number; 3 begin原创 2004-10-27 10:42:00 · 5466 阅读 · 3 评论 -
怎么样正确的删除备用数据库的日志
主数据库传送到备用数据库的归档我们是采用脚本定期删除的,早期的脚本为;#!/bin/shexport ORACLE_BASE=/opt/oracleexport ORACLE_HOME=$ORACLE_BASE/product/9.2export ORACLE_SID=tbdb1in1export BDUMP=/opt/oracle/admin/tbdb1/bdumpexport HOME=/ho原创 2004-09-27 11:27:00 · 3803 阅读 · 4 评论 -
关于ROWID分页中,执行计划的错误选择与处理(一)
老实说呢,Oracle版本9以前对分页处理的真的不好,本来想来是很简单的语句,oracle偏偏就处理的有问题。。。。具体不知道10g在这个方面是否有大的改进。我们见一个具体的例子。。。SQL> set autot traceSQL> select rid from 2 (select a.rowid rid,row_number() over(order by a.topic_type DE原创 2004-08-12 13:50:00 · 3081 阅读 · 0 评论 -
关于ROWID分页中,执行计划的错误选择与处理(二)
在以上的现象中,是很难理解oracle为什么采用了全表扫描与hash join的连接方式,我们不妨做一个10053 event,看看oracle到底做了什么。SQL> set autot traceSQL> ALTER SESSION SET EVENTS 10053 trace name context forever, level 1;Session altered.SQL>原创 2004-08-12 14:33:00 · 4063 阅读 · 0 评论 -
采用optimizer_index_cost_adj优化SQL语句
我们知道,oracle有的时候,可能会因为统计信息的不准确或者是优化器的问题,导致语句选择错误的执行计划,如本来该走索引扫描的,但是采用了全表扫描。对于很多系统更趋向使用索引扫描,因为往往实际上,索引扫描的代价的确是小于全表扫描的。。。 我们看一个实际的例子SQL> set autot trace expSQL> select count(*) from auction_auctions a, a原创 2004-07-26 16:51:00 · 6171 阅读 · 1 评论 -
oracle 9i pga使用控制
oracle 9i pga使用控制 我们知道从9i开始oracle提供了自动管理pga的功能,从此我们可以不管sort_area_size,hash_area_size等等烦人的设置,也不用再去计算繁琐的pga大小。但是怎么控制每个session使用pga的大小呢,会不会出现一个session用完所有pga,而其他session得不到空间的状况吗?带着这个疑问我们可以来做一个实验。 实验的步骤很简原创 2004-07-25 13:38:00 · 6029 阅读 · 5 评论 -
在union all的视图中怎么解决分页问题
在对于union all的视图中,如果采用传统的采用rownum分页方式的时候,如WHERE rownum WHERE linenum >=N因为,Oracle执行到linenum >=N的时候,将不知所措,导致执行计划乱掉。如,假定bwm_users就是一个union all的视图。代码如下:select *from mv_bmw_users_db1union allselect *from原创 2004-07-15 13:11:00 · 10978 阅读 · 2 评论 -
在RAC环境中,怎么样找到错误的数据文件
正常情况下,在裸设备环境下的RAC中添加数据文件的步骤是: 1、在每个节点上划分或者规划新的分区,并用raw挂装上 2、在每个节点建立link符号链接,让数据库象访问文件系统那样访问裸设备 3、保证两个节点都完成以上操作,再在其中一个节点上创建数据文件 但是,如果以上操作不小心,可能发生一些烦人的意外,如执行步骤3的时候,应当首先在每个节点上先完成1,2,但是,如果1,2没有在每个节点执行成功原创 2004-08-01 17:32:00 · 3828 阅读 · 3 评论 -
个人blog全面迁移
新的地址为:www.ixdba.com欢迎访问.原创 2007-05-10 08:41:00 · 2189 阅读 · 0 评论