求助:ORACLE表空间文件

Leighf 2016-08-08 08:42:09
新手进行表空间迁移,百度了一下步骤,如下:
1、修改表空间为离线状态
ALTER TABLESPACE TS_PARTITION_000 OFFLINE;
2、复制表空间对应文件到新的位置
cp /opt/oracle/11g/dbs/TS_PARTITION_000 /oradata/DTCDB/tbs/TS_PARTITION_000

3、修改表空间数据文件路径
ALTER TABLESPACE TS_PARTITION_000 RENAME DATAFILE '/opt/oracle/11g/dbs/TS_PARTITION_000' TO '/oradata/DTCDB/tbs/TS_PARTITION_000';
4、修改表空间为在线状态 www.2cto.com
ALTER TABLESPACE TS_PARTITION_000 ONLINE;
5、删除表空间对应的原来的数据库文件
rm -rf /opt/oracle/11g/dbs/TS_PARTITION_000


前面1/2/3/4都能正常执行,到了第5步,报错:SP2-0734:未知的命令开头"rm -rf……,以上语句在SQLPLUS中执行。

请高手看看,如何才能执行第5步,删除原表空间文件

...全文
119 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leighf 2016-08-08
  • 打赏
  • 举报
回复
非常感谢,我主要是因为磁盘空间满了,将表空间文件转移到另一个盘里,原文件删除。
sxq129601 2016-08-08
  • 打赏
  • 举报
回复
那就需要关闭数据库才能删除了,如果目前数据库能正常执行,不删除影响应该不大。建议你重启数据库后再去删除文件,防止数据库报错有问题,还能恢复
ghx287524027 2016-08-08
  • 打赏
  • 举报
回复
引用 9 楼 Leighf 的回复:
已OFFLINE,但删除的时候提示被OracleServiceORCL占用
确认一下已经不再使用这个文件的话,你就shutdown一下吧,2008有的时候就得关掉数据库才能删~每个操作三思而行~
Leighf 2016-08-08
  • 打赏
  • 举报
回复
已OFFLINE,但删除的时候提示被OracleServiceORCL占用
sxq129601 2016-08-08
  • 打赏
  • 举报
回复
不能删除说明文件正在使用,哪个地方没OFFLINE
sxq129601 2016-08-08
  • 打赏
  • 举报
回复
直接找到数据文件目录,手工去删除啊,效果一样
Leighf 2016-08-08
  • 打赏
  • 举报
回复
我这个是windows 2008 r2系统,应该执行什么命令呢 直接删除不行,难道必须要关闭数据库才能删除吗?
ghx287524027 2016-08-08
  • 打赏
  • 举报
回复
引用 3 楼 Leighf 的回复:
我不熟悉这些操作,您说的在操作系统中执行,是指在cmd命令行中吗?还是?
rm命令是linux 中的命令,功能是删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除,直接在linux的终端中执行就行。
sxq129601 2016-08-08
  • 打赏
  • 举报
回复
就是windows操作系统的cmd,但linux系统不叫cmd叫shell
Leighf 2016-08-08
  • 打赏
  • 举报
回复
我不熟悉这些操作,您说的在操作系统中执行,是指在cmd命令行中吗?还是?
卖水果的net 2016-08-08
  • 打赏
  • 举报
回复
rm -rf /opt/oracle/11g/dbs/TS_PARTITION_000 这个要回到 $ 下执行,不是在 SQL> 这里执行的;

SQL>exit
$rm ..

惜分飞 2016-08-08
  • 打赏
  • 举报
回复
rm 命令是操作系统里面执行的,不是sqlplus里面命令

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧