(1)SSM:自动管理方式(BMB段:BitmapManagedSegments),使用位图管理段中的数据块空闲空间,大并发量。
(2)MSSM:手工管理方式(FreeList),使用空闲列表来管理段中的数据块空闲空间,串行操作容易引起段头的争用。
--dump段头信息
(3)OMF(OracleManaged Files)管理
①设置参数
DB_CREATE_FILE_DEST
DB_CREATE_ONLINE_LOG_DEST_n
DB_RECOVERY_FILE_DEST
②创建表空间
ALTERSYSTEM SET DB_CREATE_FILE_DEST = '/u01/oradata';
CREATETABLESPACE tbs_1;
六、临时表空间
1、数据库默认的临时表空间
sys@OCM> select * fromdatabase_properties where property_name='DEFAULT_TEMP_TABLESPACE';
sys@OCM> alter databasedefault temporary tablespace temp1;
2、创建临时表空间或临时表空间组
(1)创建临时表空间
CREATE TEMPORARY TABLESPACE temp1 TEMPFILE'/u01/app/oracle/oradata/ocp/temp1.dbf' SIZE 10m;
(2)创建临时表空间组
CREATE TEMPORARY TABLESPACE temp1 TEMPFILE'/u01/app/oracle/oradata/ocp/temp1.dbf' SIZE 10M TABLESPACE GROUP group1;
CREATE TEMPORARY TABLESPACE temp2 TEMPFILE'/u01/app/oracle/oradata/ocp/temp2.dbf' SIZE 10M TABLESPACE GROUP group1;
3、收缩临时表空间和临时文件
(1)方法一收缩临时表空间
gyj@OCM> alter tablespace TEMP shrink space keep 10M;
Tablespace altered.
(2)方法三收缩临时表空间的某个文件
sys@OCM>alter tablespace temp shrink tempfile'/u01/app/oracle/oradata/ocm/temp01.dbf' keep 10M;
Tablespace altered.
(3)方法三重新定义临时文件的大小
gyj@OCM> alter database tempfile'/u01/app/oracle/oradata/ocm/temp01.dbf' resize 100M;
Database altered.
3、删除临时表空间
(1)查临时表空间
sys@OCM> selecttablespace_name,file_name,bytes/1024/1024 file_size,autoextensible fromdba_temp_files;
TABLESPACE_NAME FILE_NAME FILE_SIZE AUT
-------------------------------------------------------------------------------- ---------- ---
TEMP /u01/app/oracle/oradata/ocm/temp01.dbf 10.9921875 YES
(2)彻底删除临时表空间
sys@OCM> drop tablespace temp includingcontents and datafiles cascade constraints;
(3)删除临时表空间某个文件
sys@OCM>alter database tempfile'/u01/app/oracle/oradata/orcl/temp02.dbf' drop;-
七、监控表空间
gyj@OCM> set line 200 pagesize 9999
gyj@OCM> select b.tablespace_name,round(sum(b.bytes)/1024/1024,0) sum_MB,round(sum(nvl(a.bytes,0))/1024/1024,0)
2 free_MB,round((sum(b.bytes)-sum(nvl(a.bytes,0)))/sum(b.bytes),4)*100use_precent
3 from (selecttablespace_name,file_id,sum(bytes) bytes from dba_free_space group bytablespace_name,file_id ) a,dba_data_files b
4 where a.file_id(+)=b.file_idand a.tablespace_name(+)=b.tablespace_name
5 group by b.tablespace_name;
order by use_precent;
TABLESPACE SUM_MB FREE_MB USE_PRECENT
---------- ----------- --------------- ---------------------
TP1 200 193 3.5
UNDOTBS1 145 18 87.84
SYSAUX 520 29 94.45
USERS 5 1 81.25
SYSTEM 680 4 99.39
EXAMPLE 100 21 78.75
八、扩大数据库的方式
1、创建新表空间
2、在表空间添加文件
sys@OCM> alter tablespace tp1 add datafile'/u01/app/oracle/oradata/ocm/tp3.dbf' size 10M;
Tablespace altered
3、增加文件大小
sys@OCM> alter database datafile'/u01/app/oracle/oradata/ocm/tp3.dbf' resize 20M;
Database altered.
www.2cto.com
4、动态扩展数据文件
(1)查数据文件的自动扩展
sys@OCM> col file_name for a50;
sys@OCM> select file_name,autoextensiblefrom dba_data_files;
FILE_NAME AUT
-----------------------------------------------------
/u01/app/oracle/oradata/ocm/users01.dbf YES
/u01/app/oracle/oradata/ocm/undotbs01.dbf YES
/u01/app/oracle/oradata/ocm/sysaux01.dbf YES
/u01/app/oracle/oradata/ocm/system01.dbf YES
/u01