表空间学习笔记

表空间学习笔记

 

一、表空间查看及创建选项

select * from dba_tablespaces;

CREATE [TEMPORARY|UNDO] TABLESPACE tablespace

[DATAFILE datafile_tempfile_specification]

[MINIMUM EXTENT integer K|M]

[BLOCKSIZE integer K]

[LOGGING|NOLGGING]

[FORCE LOGGING]

[DEFAULT STORAGE [COMPRESS|NOCOMPRESS] default_storage_clause]

[ONLINE|OFFLINE]

[PERMENANT|TEMPORARY]

[extent_management_clause]

[segment_management_clause]

二、表空间映射

利用 ORACLE ENTERPRISE MANAGER TABLESPACE MAP 工具进行分析。

三、表空间大小调整

alter database datafile '/data/prod/proddata/data.dbf' resize 2048M;

alter tablespace data add datafile '/data/prod/proddata/data.dbf' size 2048M;

四、移动与重命名数据文件

alter tablespace tablespace_name offline;

cp /data/prod/proddata/data.dbf ./   或 HOST OCOPY /data/prod/proddata/data.dbf /data1/prod/proddata/data.dbf

alter database|tablespace tablespace_name rename datafile '/data/prod/proddata/data.dbf' to ' /data1/prod/proddata/data.dbf';

alter tablespace tablespace_name online;

rm /data/prod/proddata/data.dbf

五、可传送表空间

满足条件:

1、  源和目标数据库的OS平台版本和块大小可兼容;

2、  两个数据库 CHARACTERSET设置应该相同;

select * from nls_database_parameters;  NLS_CHARACTERSET参数

3、表空间必须独立,并且参照完整性约束不可以存在于传送的表空间之外;

Dbmssql.sql dbmsplts.sql 创建DBMS_TTS程序包

exec dbms_tts.transport_set_check('tablespace_name',TRUE);

select * from transport_set_violations;

4、传送的表空间绝不能包含任何基于函数的索引;

5、目标数据库不能有相同的表空间名称;

6、驻留在源数据库中传送的表空间内的数据库对象的所有者必须存在于在目标数据库中。

EG:

alter tablespace tablespace_name read only;

创建transport_exp.par参数文件

Userid=’system/manager as sysdba’

TRANSPORT_TABLESPACE=y

TABLESPACES=tablespace_name

File=transport.dmp

EXP PARFILE=TRANSPORT_EXP.PAR

Cp ----/data.dbf  

创建transport_imp.par参数文件

Userid=’system/manager as sysdba’

TRANSPORT_TABLESPACE=y

DATAFILES=’------‘

TABLESPACES=tablespace_name

File=transport.dmp

IMP PARFILE=TRANSPORT_IMP.PAR

alter tablespace tablespace_name read write;

drop tablespace tablespace_name including contents;

rm ----

六、表空间监控

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",

             D.TOT_GROOTTE_MB "表空间大小(M)",

             D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",

             TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,              2),           '990.99') "使用比",

             F.TOTAL_BYTES "空闲空间(M)",

             F.MAX_BYTES "最大块(M)"    FROM (SELECT TABLESPACE_NAME,

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

                                                            ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES        FROM SYS.DBA_FREE_SPACE       

                                            GROUP BY TABLESPACE_NAME) F,

             (SELECT DD.TABLESPACE_NAME,

                               ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB        FROM SYS.DBA_DATA_FILES DD       

               GROUP BY DD.TABLESPACE_NAME) D   WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME   ORDER BY 4 DESC

七、OMF

db_create_file_dest

八、检测和诊断数据文件争用

V$datafile v$tempfile v$filestat v$tempstat dba_data_files dba_temp_files

计算READ或WRITE重载比率,阀值为20%

select round((select count(*) from v$filestat where phyrds>=(select avg(phyrds) from v$filestat))/(select count(*) from v$datafile)*100) READS_RATIO FROM DUAL;

select round((select count(*) from v$filestat where phywrts>=(select avg(phywrts) from v$filestat))/(select count(*) from v$datafile)*100) WRITES_RATIO FROM DUAL;

每个数据文件的总读写统计

select df.name FILE_NAME ,fs.phyrds READS,fs.phywrts WRITES  from v$datafile DF,v$filestat FS where df.file#=fs.FILE#;

九、表空间转换

 Exec dbms_space_admin.tablespace_migrate_to_local(‘tablespace_name’);

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10756358/viewspace-237907/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10756358/viewspace-237907/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值