oracle 操作表空间和数据文件

产生表空间一般都是DBA或特权用户来完成的,如果要以其他的身份来产生,这个用户必须由Create tablespace权限才行。产生一个表空间时,一般需要产生一个数据文件,并确定文件的大小和段的大小。


产生一个表空间,确定数据文件,文件大小和区大小。

create tablespace date01 datafile d:/oracle/oradata/scut/date01.dbf size 200m uniform size 128k
删除一个表空间和数据文件:
drop tablespace date01 including contents and datafiles;

改变一个表空间的大小:
添加数据文件:
alter tablespace date01 add datafile d:/oracle/oradata/scut/date03.dbf size 50m;
手工增加文件尺寸
alter database datafile d:/oracle/oradata/scut/date03.dbf resize 100m;
设置文件数据自动扩展
alter database datafile d:/oracle/oradata/scut/date03.dbf autoextend on next 10m maxsize 500m;

移动数据文件:
移动数据文件有两种方式,一是alter tablespace,另一种是alter database。
在OPEN状态下移动数据文件
在这种状态下,移动文件通过alter dataspace命令来完成,并且要求表空间处于脱机状态。由于system和undo表空间不能处于脱机,所以在这种方式中不能移动它们。

 

 

下面是移动一个普通数据文件的方法:
确定文件处于的表空间:
select tablespace_name from dba_data_files where file_name =D:/ORACLE/ORADATA/DATE03.DBF;
使表空间脱机:
alter tablespace date01 offline;
使用OS命令移动文件:
host move d:/oracle/oradata/scut/date03.dbf d:/oracle/ora92/date03.dbf;
执行Alter dataspace命令,必须确保文件被移动了:
alter tablespace date01 rename datafile d:/oracle/oradata/scut/date03.dbf to d:/oracle/ora92/date03.dbf’;
使表空间联机:
alter tablespace date01 online;

在MOUNT状态下移动数据文件
在MOUNT状态下,可以移动任何数据文件,包括SYSTEM和UNDO表空间。它使用的命令是alter database
关闭数据库
Shutdown immediate
Startup mount
移动数据
host move d:/oracle/oradata/scut/date03.dbf d:/oracle/ora92/date03.dbf;
执行alter database
Alter database date01 renam file ‘…..’ to ‘……’
打开数据库
Alter database open

你可能感兴趣的:(oracle,Date,数据库,File,database,System)