oracle 表空间

来源:互联网 发布:php switch case 大于 编辑:程序博客网 时间:2024/06/06 01:56
A、一般一个数据库需要4个表空间:数据表空间(data)、索引表空间(index)、还原表空间(undo)和临时表空间(temp)。其中数据表空间和索引表空间为永久表空间,
创建表空间实例:
创建永久表空间:
create tablespace pdm_data
datafile 'd:\oradata\pdm\pdmdata001.dbf'
size 500M
extent management local
uniform size 200M;
创建undo表空间
create undo tablespace ...
切换还原表空间:alter system set undo_tablespace=...
创建临时表空间
create temporary tablespace ...
B、查看表空间状态:
select tablespace_name,status,contents
from dba_tablespace;
C、增加表空间数据文件:
alter tablespace 表空间名 add datafile '文件路径' size 200M;

一、只读表空间
alter tablespace users read only;(只读)
注意:可以删除只读表空间的对象,如表盒索引。
alter tablespace users read write;(读写)
二、改变表空间的存储参数
alter database 表空间名
[minimum extent 正整数 [k|m]
|default 存储子句]
示例:alter tablespace users
default storage ( initial 100 k next 100 k maxextents 200);
三、增加表空间的数据文件和改变表空间的大小
1、查询哪些数据文件是自动扩展的
select file_id,tablespace_name,file_name,autoextensible
from dba_data_files;
2、修改数据文件让其自动扩展
alter database datafile '/opt/oracle9/oracle/oradata/ora9/user126.dbf' autoextend on next 200M;
3、重置数据文件大小
alter database datafile '/opt/oracle9/oracle/oradata/ora9/user126.dbf' resize 2000M;
3、移动数据文件的方法
方法一(只适用于上面没有活动的还原数据或临时段的非系统表空间中的数据文件)
(1)获取表空间和数据文件的相关信息(dba_data_files,dba_tablespace);
select file_id,file_name,tablespace_name from da_data_files;
select tablespace_name,status,contents from dba_tablespaces;
(2)将表空间置为脱机;
(3)移动或复制要移动的数据文件;
(4)执行alter tablespace rename datafile '原文件名' to '新文件名';
(5)将表空间置为联机;
(6)查询表空间和数据文件,确保数据文件已经移动;
(7)如需要,删除无用的数据文件。
方法二(适用于系统表空间和不能置为脱机的表空间中的数据文件)
(1)获取表空间和数据文件的相关信息(dba_data_files,dba_tablespace);
(2)关闭数据库系统;
(3)移动或复制要移动的数据文件;
(4)将数据库置为加载状态;
startup mount;
(5)执行:alter database rename file '文件名' to '文件名';
(6)打开数据库;
alter database open;
(7)查询表空间和数据文件,确保数据文件已经移动;
(8)如需要,删除无用的数据文件。
四、迁移数据字典和本地管理的表空间
1、查看哪些表空间是数据字段管理的
select tablespace_name,extent_management from dba_tablespace;
2、execute dbms_space_admin.tablespace_migrate_to_local('表空间');
execute dbms_space_admin.tablespace_migrate_from_local('表空间');
五、删除表空间
drop tablespace 表空间名
[including contents [and datafiles] [cascade constraints]]
其中
including contents 用来删除段;
and datafiles 用来删除数据文件;
cascade constraints 用来删除所有的完整性约束。
drop tablespaces USERS including contents and datafiles;
原创粉丝点击