由于Oracle数据库中的数据增长过快,导致数据文件所在的磁盘空间不足,为了清理空间,我就把oracle关闭,然后直接把数据文件、控制文件、重做日志组移到另一个磁盘,但这造成很多的问题,并且都不好清理,于是就重新移动回去,之后通过查询我才找到移动的方法:
移动用户创建的表空间时,在数据库打开的情况下:
1、首先将表空间设置为只读
alter tablespace bfina read only;
2、然后将表空间设置为脱机状态
alter database datafile '/opt/app/oracle/oradata/orcl/bfina.dbf' offline;
3、然后将数据文件拷贝到一个新的位置
host cp '/opt/app/oracle/oradata/orcl/bfina.dbf' '/gisdata/orcl/bfina.dbf'
4、重新命名数据文件到一个新的位置
alter database rename file '/opt/app/oracle/oradata/orcl/bfina.dbf' to '/gisdata/orcl/bfina.dbf'
5、然后将数据文件联机
alter database datafile '/gisdata/orcl/bfina.dbf' online
6、将表空间设置为读写权限
alter tablespace bfina read write;
7、最后删掉旧有的数据文件
若是要移动系统表空间
那么的装载系统到MOUNT状态
startup mount;
1、将系统表空间脱机
alter database datafile '/opt/app/oracle/oradata/orcl/system01.dbf' offline;
2、然后拷贝到新的目录
host cp '' ''
3、重新命名系统表空间到新的位置
alter database rename file '/opt/app/oracle/oradata/orcl/system01.dbf' to '/gisdata/orcl/system01.dbf'
4、然后联机
alter database '/opt/app/oracle/oradata/orcl/system01.dbf' online;
5、之后打开数据库