表空间的管理

2021-07-24  本文已影响0人  allen151

创建本地管理表空间

select tablespace_name,block_size,extent_management,segment_space_management,status from dba_tablespaces ;
select FILE_NAME,FILE_ID,TABLESPACE_NAME,BYTES,STATUS,AUTOEXTENSIBLE,MAXBYTES,ONLINE_STATUS from dba_data_files where tablespace_name in('PIONEER_DATA','MLDN_TEMP','MLDN_DATE')
-- 临时表空间数据文件
select f.file#,f.ts#,f.enabled,f.name,t.name from v$tempfile f,v$tablespace t where f.ts#=t.ts# ;
-- 查看临时表空间
select * from database_properties where property_name like 'DEFAULT_%';
/home/oracle/backup/disk2/orcl/jinlian01.dbf
/home/oracle/backup/disk2/orcl/jinlian02.dbf
create tablespace jinlian
datafile '/home/oracle/backup/disk2/orcl/jinlian01.dbf' size 50M,
'/home/oracle/backup/disk2/orcl/jinlian02.dbf' size 50M
extent management local
uniform size 1M;

创建还原表空间

/home/oracle/backup/disk7/orcl/jinlian_undo.dbf
create undo tablespace jinlian_undo 
datafile '/home/oracle/backup/disk7/orcl/jinlian_undo.dbf'
size 20M ;

创建临时表空间

/home/oracle/backup/disk8/orcl/jinlian_temp.dbf
create temporary tablespace jinlian_temp
tempfile '/home/oracle/backup/disk8/orcl/jinlian_temp.dbf'
size 10M
extent management local
uniform size 2 M;

默认临时表空间

select * from database_properties where property_name like 'DEFAULT_TEMP%';
alter database default temporary tablespace jinlian_temp;
alter database default temporary tablespace temp;

设置表空间为脱机状态,该变化会写到数据字典、控制文件、报警文件

select tablespace_name,status,contents from dba_tablespaces where tablespace_name like 'JINL%';
select FILE_ID,FILE_NAME,TABLESPACE_NAME,STATUS,ONLINE_STATUS from dba_data_files  where tablespace_name like 'JINL%';
select file#,name,status from v$datafile where name like '%jin%';

设置表空间为只读模式

select value from v$diag_info where name='Diag Trace';
[oracle@oracle trace]$ adrci
adrci> show alert -tail 10 --可以看到以上修改信息

重置表空间的大小

select file_id,tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name like 'JINL%';
alter database datafile
'/home/oracle/backup/disk2/orcl/jinlian01.dbf'
autoextend on
next 1M;
/home/oracle/backup/disk4/orcl/jinlian03.dbf
alter tablespace jinlian add datafile 
'/home/oracle/backup/disk4/orcl/jinlian03.dbf'
size 80M;

移动数据文件

表空间可置为脱机的移动方法

alter tablespace jinlian rename datafile
'/home/oracle/backup/disk4/orcl/jinlian03.dbf'
to
'/home/oracle/backup/disk8/orcl/jinlian03.dbf';

表空间不可置为脱机状态的情况

[oracle@oracle orcl]$ cp /u01/app/oracle/oradata/orcl/system01.dbf  /home/oracle/backup/disk8/orcl/system01.dbf
alter database ORCL rename file 
'/u01/app/oracle/oradata/orcl/system01.dbf'
to
'/home/oracle/backup/disk8/orcl/system01.dbf';
alter database ORCL rename file 
'/home/oracle/backup/disk8/orcl/system01.dbf'
to
'/u01/app/oracle/oradata/orcl/system01.dbf';

删除表空间

select tablespace_name,status,contents,logging from dba_tablespaces ;--显示临时表空间
select file_id,file_name,tablespace_name,online_status from dba_data_files ;--不显示临时表空间
MLDN_DATE /u01/app/oracle/product/12.2.0/db_1/dbs/D:tablespacesmldn_data01.dbf
PIONEER_DATA /home/oracle/backup/disk2/moon/pioneer_data.dbf
PIONEER_INDX /home/oracle/backup/disk4/moon/pioneer_indx.dbf
JINLIAN /home/oracle/backup/disk2/orcl/jinlian01.dbf   /home/oracle/backup/disk4/orcl/jinlian02.dbf  /home/oracle/backup/disk8/orcl/jinlian03.dbf
JINLIAN_UNDO /home/oracle/backup/disk7/orcl/jinlian_undo.dbf
SQL> drop tablespace mldn_date ;
SQL> drop tablespace mldn_date including contents;
SQL> drop tablespace pioneer_data including contents and datafiles ;
SQL> drop tablespace pioneedropr_indx including contents and datafiles ;
SQL> drop tablespace jinlian_undo including contents and datafiles ;
select f.ts#,f.file#,f.status,f.enabled,f.name,t.name from v$tempfile f,v$tablespace t where f.ts#=t.ts#;
MLDN_TEMP    /u01/app/oracle/product/12.2.0/db_1/dbs/D:tablespacesmldn_temp02.dbf
JINLIAN_TEMP /home/oracle/backup/disk8/orcl/jinlian_temp.dbf
select * from database_properties where property_name like 'DEFAULT_%';
DEFAULT_TEMP_TABLESPACE=TEMP;--TEMP临时表空间不能删除,如果要删除要修改默认临时表空间
SQL> alter database default temporary tablespace 要设置的默认临时表空间名;

学会如何使用OMF管理表空间和数据文件

为先驱工程创建四个表空间如下:都是本地管理
先驱工程数据表空间 pioneer_data /home/oracle/backup/disk2/moon/pioneer_data.dbf 100M
先驱工程索引表空间 pioneer_indx /home/oracle/backup/disk4/moon/pioneer_indx.dbf 100M
先驱工程还原表空间 pioneer_undo /home/oracle/backup/disk6/moon/pioneer_undo.dbf 50M
先驱工程临时表空间 pioneer_temp /home/oracle/backup/disk8/moon/pioneer_temp.dbf 50M

select file_id,file_name,tablespace_name,bytes/(1024*1024) from dba_data_files ;
select tablespace_name,block_size,status,contents,extent_management,segment_space_management,min_extents from dba_tablespaces ;
select f.file#,t.ts#,f.name,t.name from v$tempfile f,v$tablespace t where f.ts#=t.ts# ;
create tablespace pioneer_data datafile 
'/home/oracle/backup/disk2/moon/pioneer_data.dbf'
size 100 M
extent management local
uniform size 1 M;
create tablespace pioneer_indx datafile 
'/home/oracle/backup/disk4/moon/pioneer_indx.dbf'
size 100 M
extent management local
uniform size 1 M;
create undo tablespace pioneer_undo datafile 
'/home/oracle/backup/disk6/moon/pioneer_undo.dbf'
size 50 M
extent management local;
create temporary tablespace pioneer_temp tempfile 
'/home/oracle/backup/disk8/moon/pioneer_temp.dbf'
size 50 M
extent management local
uniform size 2 M;

还原表空间的管理

create undo tablespace jinlian_undo datafile
'/home/oracle/backup/disk7/moon/jinlian_undo.dbf'
size 50M;
alter tablespace jinlian_undo add datafile
'/home/oracle/backup/disk8/moon/jinlian2_undo.dbf'
size 25 M;
select file_name,tablespace_name,bytes/(1024*1024) from dba_data_files where tablespace_name like'%JIN%' ;
select tablespace_name,autoextensible,bytes/(1024*1024),file_name from dba_data_files where tablespace_name like '%JIN%';
alter database datafile 
'/home/oracle/backup/disk8/moon/jinlian2_undo.dbf'
autoextend on ;
select name,value from v$parameter where name like '%undo%';
select tablespace_name,contents,retention from dba_tablespaces where tablespace_name like '%U%';
alter tablespace undotbs1 retention guarantee ;
alter system set undo_retention=7200 ;
alter tablespace undotbs1 retention noguarantee ;
alter system set undo_retention=900 ;
select to_char(begin_time, 'YYYY/MM/DD HH:MM:SS') end_time,
       to_char(end_time, 'YYYY/MM/DD HH:MM:SS') begin_time,
       undoblks 消耗数据块,
       txncount 事务总数,
       maxquerylen 最长查询
  from v$undostat;
alter session set nls_date_format='HH:MM:SS';
select * from v$undostat ;
select * from dba_rollback_segs ;
select * from v$rollname ;
select * from v$rollstat ;
select * from v$session ;
select * from v$transaction ;
select * from v$parameter where name like '%undo%';
show parameter temp_undo;
show parameter compatible;
alter session set temp_undo_enabled=true;
alter system seet temp_undo_enables=true;
select * from v$tempundostat ;
上一篇 下一篇

猜你喜欢

热点阅读