oracle常用sql

一、索引

1、查询索引

 select * from user_ind_columns 
    where index_name in 
         (select index_name from user_indexes where table_name='大写的表名');

2、创建索引

create index 索引名 on 表名(字段名);

二、分区

1、查询分区表

select * from user_tab_partitions where table_name ='大写的表名';

2、查询表的某个分区数据

select * from 表名 partition(分区名称);

三、字段

1、修改字段名

alter table 表名 rename column 当前字段名 to 新字段名;

2、修改字段类型

alter table 表名 modify 字段名 类型;

四、约束

1、添加唯一约束

alter table 表名 add constraint 唯一约束名 unique (字段名);

2、删除约束

alter table 表名 drop constraint 约束名;

五、表

1、查询当前用户的表

select * from user_tables; 

2、查询所有用户的表

select * from all_tables;

六、会话

1、按设备名(machine)统计持有的session数

select machine,count(*) from v$session 
       group by machine;

2、按用户名统计持有的session数

select username,count(*) from v$session
    group by username;

七、序列

1、查询某个用户下的所有序列

select * from dba_sequences
    where sequence_owner = '用户名'

八、sql

1、查询某个用户最近执行的sql

select * from v$sqlarea t
    where t.parsing_schema_name in ('TEST')
        order by t.last_active_time desc;

  说明:参数 'TEST'为需要查询的用户。

  v$sqlarea视图中的字段说明,可以查看这位老友的文章http://kamiff.iteye.com/blog/725343

九、连接数

1、查询数据库的最大连接数

select value from v$parameter where name ='processes';

2、查询数据库当前连接数

select count(*) from v$process;

十、查询某张表占用空间大小

SELECT segment_name AS TABLENAME,
       BYTES B,
       BYTES / 1024 KB,
       BYTES / 1024 / 1024 MB
  FROM user_segments
where segment_name = upper('表名');

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值