经典数据库语句

1.sqlplus登录
  sqlplus 用户名@客户端配置名
 
2.查询数据库中的所有表
  select * from dba_recyclebin  where type='TABLE' order by droptime desc
 
3.删除表内容
  delete from tablename where 删除条件

4.修改表名
  alter table 老表名 rename to 新表名

5.查看job信息
  select job,what,failures,broken from user_jobs 

6.查找视图信息
  select * from user_views

7.失效索引重建索引
  update index indexname rebulid online

8.删除索引
  drop index 索引名  

9.分区中查找索引
  select INDEX_NAME,PARTITION_NAME,HIGH_VALUE,STATUS from dba_ind_partitions
  where index_name='indexname' or index_name = 'indexname'

10.DBA查看表分区
  select * from dba_tab_partitions

11.查询分区表信息
  select * from table partition(part_01)

12.索引表中查索引
  select * from dba_indexes a where a.index_name = 'indexname'

13.获取无效的索引
  select * from dba_indexes where status = 'unusable'

14.查看表空间
  SELECT   a.tablespace_name   "表空间名",total/1024/1024/1024  表空间大小GB,free/1024/1024/1024 剩余表空间GB,  
  (total-free)/1024/1024/1024   表空间使用大小GB,  
  ROUND((total-free)/total,4)*100   "使用率   %"  
  FROM     (SELECT   tablespace_name,SUM(bytes)   free   FROM   DBA_FREE_SPACE  
  GROUP   BY   tablespace_name   )   a,  
  (SELECT   tablespace_name,SUM(bytes)   total   FROM   DBA_DATA_FILES  
  GROUP   BY   tablespace_name)   b  
  WHERE   a.tablespace_name=b.tablespace_name

15.查看表占有空间排名
select a.OWNER,
       a.SEGMENT_NAME,
       a.TABLESPACE_NAME,
       a.SEGMENT_TYPE,
       a.SUM_BYTES_GB,
       b.COMPRESSION
  from (select OWNER,
               SEGMENT_NAME,
               TABLESPACE_NAME,
               SEGMENT_TYPE,
               SUM_BYTES_GB
          from (select OWNER,
                       SEGMENT_NAME,
                       TABLESPACE_NAME,
                       SEGMENT_TYPE,
                       round((sum(bytes) / (1024 * 1024 * 1024)), 2) SUM_BYTES_GB
                  from dba_segments
                 where TABLESPACE_NAME = 'TBS_PERFORMANCE'
                 group by OWNER, SEGMENT_NAME, TABLESPACE_NAME, SEGMENT_TYPE
                 order by SUM_BYTES_GB desc)
         where rownum < 400) a,
       dba_tables b
 where b.TABLE_NAME(+) = a.SEGMENT_NAME
   and b.OWNER(+) = a.OWNER
   and b.TABLESPACE_NAME(+) = a.TABLESPACE_NAME
 order by SUM_BYTES_GB desc;

16.删除表中重复行,只保留重复的一行,关键字为多个字段
delete from tablename a
where (a.fields) in
(select fileds from tablename group by 分组字段 having count(*) > 1)
and rowid not in (select min(rowid) from tablename group by 分组字段 having count(*)>1)

17.查看用户进程占用的连接数
  SELECT username, machine, program, status, COUNT (machine) AS  aa
  FROM v$session
  GROUP BY username, machine, program, status
  ORDER BY aa desc;

18.启动数据库服务
  lsnrctl start
  sqlplus / as sysdba    --startup
 
19.查看机器连接数
select username,machine,count(username) from v$session where username is not null group by username,machine;

20创建表连接
  create public database link 连接名称 connect to 用户名 identified by 密码 using '数据库ip:端口/服务名'
  create table 表名 as select * from 表名@连接名称
  create database link 连接名称
  connect to 用户名
  using '(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = port))
  )
  (CONNECT_DATA =
    (SID= 数据库sid)
  )
)';

猜你喜欢

转载自blog.csdn.net/wli_2005/article/details/51455448