59.Oracle杂记——Oracle办公常用命令

前端之家收集整理的这篇文章主要介绍了59.Oracle杂记——Oracle办公常用命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

59.Oracle杂记——Oracle办公常用命令

1. 查看表空间利用率

SELECT D.TABLESPACE_NAME,

SPACE || 'M' "SUM_SPACE(M)",

BLOCKS "SUM_BLOCKS",

SPACE - NVL (FREE_SPACE,0) || 'M' "USED_SPACE(M)",

ROUND ( (1 - NVL (FREE_SPACE,0) / SPACE) * 100,2) || '%'

"USED_RATE(%)",

FREE_SPACE || 'M' "FREE_SPACE(M)"

FROM ( SELECT TABLESPACE_NAME,

ROUND (SUM (BYTES) / (1024 *1024),2) SPACE,

SUM (BLOCKS) BLOCKS

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME) D,

( SELECT TABLESPACE_NAME,2) FREE_SPACE

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME) F

WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)

UNION ALL

SELECT D.TABLESPACE_NAME,

BLOCKS SUM_BLOCKS,

USED_SPACE || 'M' "USED_SPACE(M)",

ROUND (NVL (USED_SPACE,0) / SPACE * 100,2) || '%'"USED_RATE(%)",

NVL (FREE_SPACE,0) || 'M' "FREE_SPACE(M)"

FROM ( SELECT TABLESPACE_NAME,

SUM (BLOCKS) BLOCKS

FROM DBA_TEMP_FILES

GROUP BY TABLESPACE_NAME) D,

ROUND (SUM (BYTES_USED) /(1024 * 1024),2) USED_SPACE,

ROUND (SUM (BYTES_FREE) /(1024 * 1024),2) FREE_SPACE

FROM V$TEMP_SPACE_HEADER

GROUP BY TABLESPACE_NAME) F

WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)

ORDER BY 1;

2. 数据文件使用率

select b.file_name,b.tablespace_name,b.bytes/1024/1024 M,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 M,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) from dba_free_space a,dba_data_files b wherea.file_id=b.file_id group by b.tablespace_name,b.file_name,b.bytes order byb.tablespace_name;

3. AWR策略

select * from dba_hist_wr_control;

修改策略:

execdbms_workload_repository.modify_snapshot_settings(interval=>30,retention=>9*24*60);

execdbms_workload_repository.modify_snapshot_settings(interval=>0);

3.1禁止快照

EXECdbms_workload_repository.modify_snapshot_settings(interval=>0);

3.2创建一个快照

execDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

3.3查找快照

SELECT snap_id,INSTANCE_NUMBER,begin_interval_time,end_interval_time FROM dba_hist_snapshot ORDER BY 1;

3.4删除指定范围的快照

execWORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(low_snap_id => 22,high_snap_id=> 32,dbid => 3310949047);

3.5 产生AWR报告

@$ORACLE_HOME/rdbms/admin/awrrpt.sql

4. 执行CHECKPOINT

alter system checkpoint;

5. 开启内存大页

vm.nr_hugepages = 262144

vm.hugetlb_shm_group = 501

或者

echo 501 >/proc/sys/vm/hugetlb_shm_group

6. 查看表中的列数量

sql> select table_name,num_rows fromuser_tables;

7.查看索引

sql>select index_name,index_type fromind;

8.查看表

sql>select tname,tabtype from tab;

9. 查看过程对象

sql> select object_name from user_procedures;

10. 查看 归档

archive log list

11. 增加一个asm磁盘

sql> ALTER DISKGROUP DATA ADD DISK'/dev/raw/raw5';

12. 查看用户段大小

sql> select sum(bytes)/1024/1024 as MBfrom user_segments;

13.小压力测试脚本

SET SERVEROUTPUT ON

SET TIMING ON

DECLARE

n NUMBER := 0;

BEGIN

FOR f IN 1..10000000

LOOP

n :=MOD (n,999999) + SQRT (f);

END LOOP;

DBMS_OUTPUT.PUT_LINE ('Res = '||TO_CHAR(n,'999999.99'));

END;

/

输出如下:

Res =873729.72

PL/sql procedure successfully completed.

Elapsed: 00:00:07.21

猜你在找的Oracle相关文章