这两天因为oracle数据库中的数据增加过快,致使数据文件所在的磁盘空间不足,为了清理空间,我就把oracle关闭,而后直接把数据文件、控制文件、重作日志组移到另外一个磁盘,但这形成不少的问题,而且都很差清理,因而就从新移动回去,以后经过查询我才找到移动的方法:
移动用户建立的表空间时,在数据库打开的状况下:
一、首先将表空间设置为只读
alter tablespace bfina read only;
二、而后将表空间设置为脱机状态
alter database datafile '/opt/app/oracle/oradata/orcl/bfina.dbf' offline;
三、而后将数据文件拷贝到一个新的位置
host cp '/opt/app/oracle/oradata/orcl/bfina.dbf' '/gisdata/orcl/bfina.dbf'
四、从新命名数据文件到一个新的位置
alter database rename file '/opt/app/oracle/oradata/orcl/bfina.dbf' to '/gisdata/orcl/bfina.dbf'
五、而后将数据文件联机
alter database datafile '/gisdata/orcl/bfina.dbf' online
六、将表空间设置为读写权限
alter tablespace bfina read write;
七、最后删掉旧有的数据文件
如果要移动系统表空间
那么的装载系统到MOUNT状态
startup mount;
一、将系统表空间脱机
alter database datafile '/opt/app/oracle/oradata/orcl/system01.dbf' offline;
二、而后拷贝到新的目录
host cp '' ''
三、从新命名系统表空间到新的位置
alter database rename file '/opt/app/oracle/oradata/orcl/system01.dbf' to '/gisdata/orcl/system01.dbf'
四、而后联机
alter database '/opt/app/oracle/oradata/orcl/system01.dbf' online;
五、以后打开数据库数据库