• 博客访问: 4965236
  • 博文数量: 710
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-07 15:08
  • 认证徽章:
个人简介

了解并联系warehouse: http://blog.itpub.net/19602/viewspace-1059211/

文章分类

全部博文(710)

文章存档

2018年(7)

2017年(7)

2016年(20)

2015年(20)

2014年(45)

2013年(68)

2012年(69)

2011年(87)

2010年(68)

2009年(103)

2008年(140)

2007年(65)

2006年(7)

2005年(3)

2004年(1)

发布时间:2008-12-27 18:50:51

自治事务允许我们在"事务中创建事务"[@more@]SQL> truncate table tt7;表被截断。SQL> create or replace procedure proc_autotrans 2 is 3 pragma autonomous_transaction; 4 begin 5 insert into tt7 values(1,'autonomous'); 6 commit; 7 end; 8 /过程已创建。SQL> begin 2 insert into tt7 values(1,'niminblock'); 3 proc_autotrans; 4 rollback; 5 end; 6 /PL/SQL 过程已成功完成。SQL> select * from tt7; ID NAME---------- ---------- 1 autonomous--只插入......【阅读全文】

阅读(148243) | 评论(0) | 转发(0)

发布时间:2008-12-26 23:17:08

事务的原子性是指事务中的动作要么发生,要么不发生.不想做太多的解释,想了解可以看tom的力作,这里只是随手记录个测试过程.[@more@]SQL> alter table tt8 add constraint pk_tt8 primary key (id);表已更改。SQL> edit已写入 file afiedt.buf 1 create or replace procedure proc_tt8 2 is 3 begin 4 insert into tt8 values(1,'a'); 5 insert into tt8 values(1,'a'); 6* end;SQL> /过程已创建。SQL> begin 2 proc_tt8; 3 end; 4 /begin*第 1 行出现错误:ORA-00001: 违反唯一约束条件 (SYS.PK_TT8)ORA-06512......【阅读全文】

阅读(149134) | 评论(0) | 转发(0)

发布时间:2008-12-26 22:44:21

呵呵,都不知道起个啥名字好,这个操作我渴望已久了,但遗憾的是自己才发现,其实oracle可能一直就支持,汗,以前没有细读过tom的书,doc也看的不细...[@more@]SQL> desc tt7 名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID NUMBER(38) NAME VARCHAR2(10)SQL> select * from tt7; ID NAME---------- ---------- 1 a ......【阅读全文】

阅读(3290) | 评论(0) | 转发(0)

发布时间:2008-12-19 17:00:28

在assm下,shrink时可以结合dbms_space.space_usage来观察空间的shrink情况[@more@]  alter table tbname row movement--=======================================  保持HWM  alter table tbname shrink space compact;  回缩表与HWM  alter table tbname shrink space;  回缩表与相关索引  alter table tbname shrink space cascade;  回缩索引  alter index idxname shrink space;如果index space被shrink的话,index的hwm也会下降,这一点可以通过dump index segment header block 观察到,另外值得注意的是shrink之......【阅读全文】

阅读(68862) | 评论(0) | 转发(0)

发布时间:2008-12-19 16:32:48

简单的包装一下,使用时调用,放在这里备查! [@more@]SQL> create or replace procedure show_space_assm(2 segment_owner varchar2,3 segment_name varchar2,4 segment_type varchar2)5 is6 UNFORMATTED_BLOCKS NUMBER;7 UNFORMATTED_BYTES NUMBER;8 FS1_BLOCKS NUMBER;9 FS1_BYTES NUMBER;10 FS2_BLOCKS NUMBER;11 FS2_BYTES NUMBER;12 FS3_BLOCKS NUMBER;13 FS3_BYTES NUMBER;14 FS4_BLOCKS NUMBER;15 FS4_BYTES NUMBER;16 FULL_BLOCKS NUMBER;17 FULL_BYTES NUMBER;18 begin19 dbms_space.space_usage(20 segment_owner,21 segmen......【阅读全文】

阅读(4247) | 评论(0) | 转发(0)

发布时间:2008-12-17 13:51:20

在线重建一个index时无意中发现了这样的问题,varchar2类型的列不能超过3201,这可能是一个内部限制。SQL> alter index idx_t rebuild online;alter index idx_t rebuild online*第 1 行出现错误:ORA-00604: 递归 SQL 级别 1 出现错误ORA-01450: 超出最大的关键字长度 (3215)[@more@]SQL> desc t名称 是否为空? 类型----------------------------------------- -------- ----------------------------ID NUMBER(38)NAME VARCHAR2(3202)SQL> alter index idx_t rebuild online;alter index idx_t rebuild online*第 1 行出现错误:......【阅读全文】

阅读(4058) | 评论(0) | 转发(0)

发布时间:2008-12-14 22:34:35

11g v$process中增加了一个有用的字段tracefile![@more@]11g,v$process中增加了一个tracefile字段,该字段记录的是进程产生的tracefile,一个看起来不起眼的字段却给我带来了很大的方便,以前我们要确认进程所产生的trace文件需要通过下面方法:1.首先需要知道当前的sessionidSQL> select sid from v$mystat where rownum=1; SID---------- 1442.之后需要知道该session所对应的process addressSQL> select paddr from v$session where sid=144;PADDR--------226958503.根据process address进一步需要知道os process(t......【阅读全文】

阅读(3274) | 评论(0) | 转发(0)

发布时间:2008-12-10 14:43:17

http://space.itpub.net/17997/viewspace-255421利用此连接中楼主提到的办法能够顺利解决,同样用老杨提到的修改client端host文件没有解决,版本10.2,我同意byfree的观点,终归就是dns解析的问题,如果都改成ip的话相信不会出现该问题,遗憾的是,测试了一下没能成功。[@more@]http://space.itpub.net/17997/viewspace-255421最根本的解决办法:分别在节点1和节点2上修改local_listener参数:节点1:SQL> ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.102.217)(PORT = 1521))' SID='racdb1';System altered......【阅读全文】

阅读(4076) | 评论(0) | 转发(0)

发布时间:2008-12-10 11:37:36

10g em中给出了memory advisor,其中如果设置了sga_target的值的话,那么该顾问通过图表的形式给出的是sga的建议值,该建议值是如何被计算的呢,其实是通过下面公式:select sga_size,100* round(((estd_db_time1 - estd_db_time)/estd_db_time1),2)from (select sga_size,estd_db_time ,(select estd_db_time from v$sga_target_advice where sga_size_factor=1) estd_db_time1 from v$sga_target_advice where sga_size_factor<>1order by sga_size)通过上面查询可以获得sga_size以及db_time的改善百分比,在excel中以sga_size为横......【阅读全文】

阅读(4173) | 评论(0) | 转发(0)

发布时间:2008-12-09 11:46:56

利用这个功能结合参数skip_unusable_indexes 在做大数据量的dml操作时可能会非常的有用![@more@]SQL> select * from t2;ID----------12SQL> create index idx_t2 on t2(id);索引已创建。SQL> select index_name, status from dba_indexes where index_name='IDX_T2';INDEX_NAME STATUS------------------------------ --------IDX_T2 VALIDSQL> alter index idx_t2 unusable;索引已更改。SQL> select index_name, status from dba_indexes where index_name='IDX_T2';INDEX_NAME STATUS------------------------------ --......【阅读全文】

阅读(4070) | 评论(0) | 转发(0)

发布时间:2008-12-09 09:45:00

在oracle中使用update进行交叉更新时一直都觉得很不方便,当然这是和sql server or sybase相比较而言的。[@more@]SQL> select *from a1; ID N SFZHAO---------- - ------------------ 1 a 1 c 2 a 2 c 3 c 123SQL> select *from a2; ID N SFZHAO---------- - ------------------ 1 c 111 2 d 111--如果使用下面的sql来更新表a1的话,我们发现出现了我们不希望出现的结果,把a1中id=3所对应的sfzhao由原来的123更新成了null,这是我们不希望的。SQL> upda......【阅读全文】

阅读(3794) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册