ORACLE10g学习笔记(二)

Oracle数据库管理技巧

1.  表内操作

表内操作 
-- 1 -- 删除原主键 ALTER TABLE workinfo DROP constraint PK_workinfo_ID; 
-- 2 -- 删除字段 ALTER TABLE workinfo DROP column rejectcount; 
-- 3 -- 添加字段 ALTER TABLE workinfo ADD rejectcount number NULL; 
-- 4 -- 修改字段 ALTER TABLE workinfo MODIFY rejectcount NOT NULL; 
-- 5 -- 添加新主键 ALTER TABLE workinfo ADD primary key(id); 

2.连接数

select count(*) from v$session #连接数 
Select count(*) from v$session where status='ACTIVE' #并发连接数 
show parameter processes #最大连接

 

select username,sid,serial# from v$session; 查看当前数据库有几个用户连接(AS 系统管理员登陆)

 

查询连接数 SELECT username, program, status, COUNT (machine) AS 连接数量 FROM v$session GROUP BY username, program, status;

 

3.索引

analyze index IX_STATUS validate structure; 
select * from index_stats; 
--查看索引的使用情况 一般是90% 当处于75%以下时 需要rebuild

 

4.游标使用情况

查看游标使用情况: 
    select o.sid, osuser, machine, count(*) num_curs from v$open_cursor o, v$session s where user_name = 'user ' and o.sid=s.sid group by o.sid, osuser, machine order by num_curs desc; 

查看游标执行的sql情况: 
    select q.sql_text from v$open_cursor o, v$sql q where q.hashvalue=o.hash_value and o.sid = 实际编号;

 

5.Shrink Table

      Oracle 10g支持自动段空间管理 (ASSM),并提供Shrink命令(缩小段,即降低HWM-Hight Water Mark)。该新特性,仅对实现ASSM有效,否则会报 ORA-10635: Invalid segment or tablespace type。

segment shrink分为两个阶段:
   1、数据重组(compact):通过一系列insert、delete操作,将数据尽量排列在段的前面。在这个过程中需要在表上加RX锁,即只在需要移动的行上加锁。由于涉及到rowid的改变,需要enable row movement.同时要disable基于rowid的trigger.这一过程对业务影响比较小。 
   2、HWM调整:第二阶段是调整HWM位置,释放空闲数据块。此过程需要在表上加X锁,会造成表上的所有DML语句阻塞。在业务特别繁忙的系统上可能造成比较大的影响。 

 

shrink space语句两个阶段都执行。
shrink space compact只执行第一个阶段。 如果系统业务比较繁忙,可以先执行shrink space compact重组数据,然后在业务不忙的时候再执行shrink space降低HWM释放空闲数据块。 
shrink必须开启行迁移功能。 alter table table_name enable row movement ; 

 

注意:如果该表有函数索引,那么这些操作将无法执行!也无法对分区表进行操作。

 

6.Shrink Table 和 Move Table比较

(1) Shrink 的同时也对索引进行的维护,而MOVE操作没有; 
(2) Move操作时需要额外的临时空间需求来寄存数据,而Shrink则不需要。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值