学习其它博客内容

1.查看表复制后的表结构和原表结构

select dbms_metadata.get_ddl('TABLE','SCOTT.OLD_EMP')

select dbms_metadata.get_ddl('TABLE','SCOTT.EMP')

 

2.查看原来存储过程

select name,text from all_source where owner='SCOTT' and type = 'PROCEDURE' and name = 'TEMP_PRO';

 

3. 看数据文件大小,单位是M
select  round(bytes/(1024*1024),0) total_space from dba_data_files
select  sum(bytes/(1024*1024)) total_space  from dba_data_files

控制文件大小
select  sum( block_size*file_size_blks )/1024/1024  from v$controlfile

 

5. 查看看到A用户下的所有数据量>100万的表的信息
  select * from user_all_tables a
  where a.num_rows>1000000
 
前提是a用户下所有表的统计信息都是最新的。
保险的办法是所有表都count一遍:
select 'select '||''''||table_name ||''','||'count(*) from '||table_name from user_all_tables ;
把上面这段sql的执行结果拷贝出来执行即可


6.  SQLPLUS 里执行 EXPLAIN PLAN
 
SQL>EXPLAIN PLAN FOR 你的sql语句;

SQL>EXPLAIN PLAN FOR SELECT * FROM EMP WHERE EMPNO=7369;
然后
SELECT plan_table_output
  FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));
查看结果就是前面SQL语句的执行计划。

 

 

 

 


6. 这是看高速缓存命中率小于80%的SQL
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
  round((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
   ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
   SQL_TEXT
  FROM V$SQLAREA
  WHERE EXECUTIONS>0
  AND BUFFER_GETS > 0
  AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8
  ORDER BY 2 desc,4 DESC;

7.来自csdn的提问

我的电脑和另外一个人(不在一个省)的电脑用的同一个系统,我的电脑连接的是我这边的数据库,他是连接它那边的数据库.
现在要把我的数据库库中某几张表的内容复制到他那边的数据库中(不能删掉它那边的数据),怎么做?

有人解答:

不知道你使用过数据库链路没有,假设你的数据库是ora_sichuan,它的数据库是ora_shanghai,你在你的机器上配置以下"Net Configuration Assistant"的连接字符串,确保可以使用sqlplus登入它的数据库。
在你的数据库上执行sqlplus,生成一个数据库链路来连接上海的数据库,
CREATE PUBLIC DATABASE LINK "ORA_SHANGHAI" CONNECT TO "READER" IDENTIFIED by "**********" USING 'ORA_SHANGHAI';
好了,现在你可以在你的数据库上执行insert语句你的数据复制对方数据库里面了,语法如下:
insert into tab1@ora_shanghai select * from tab1;

 

8.查看表空间使用情况

SELECT   a.tablespace_name,
         ROUND (a.total_size) "total_size(MB)",
         ROUND (a.total_size) - ROUND (b.free_size, 3) "used_size(MB)",/
         ROUND (b.free_size, 3) "free_size(MB)",
         ROUND (b.free_size / total_size * 100, 2) || '%' free_rate
         FROM ( SELECT   tablespace_name, SUM (bytes) / 1024 / 1024 total_size
              FROM dba_data_files
          GROUP BY tablespace_name) a,
         (  SELECT tablespace_name, SUM (bytes) / 1024 / 1024 free_size
              FROM dba_free_space
          GROUP BY tablespace_name) b
          WHERE a.tablespace_name = b.tablespace_name(+);

 

 9.查看undo表空间中空闲和非空闲比例

SELECT   tablespace_name, status, SUM (bytes) / 1024 / 1024 "Bytes(M)"
    FROM   dba_undo_extents
GROUP BY   tablespace_name, status

 

10.禁止undo 表空间retention guarantee

SQL> Alter tablespace undotbs1 retention noguarantee;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值