急!!高分求救!!!我的C盘已满,怎样将正运行于C区的数据库完全转移到D盘???

lhzongji 2003-07-31 09:25:16
急!!高分求救!!!我的C盘已满,怎样将正运行于C区的数据库完全转移到D盘???
...全文
438 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhzongji 2003-07-31
  • 打赏
  • 举报
回复
SQL> alter tablespace users online
2 /
alter tablespace users online
*
ERROR 位于第 1 行:
ORA-01113: 文件 3 需要媒体恢复
ORA-01110: 数据文件 3: 'E:\ORACLE\ORADATA\GLC\USERS01.DBF'


该怎么办?
gladness 2003-07-31
  • 打赏
  • 举报
回复
非system表空间文件的改名(换路径)方法
比如改users表空间的文件
alter tablespace users offline;
把users的所有数据文件复制到新的路径
alter tablespace users rename datafile '/home/oracle/oradata/om/users01.dbf'
to '/home/oracle/users01.dbf';
我这里是linux,所以路径的写法与win不同,我把om/下的users01.dbf复制到oracle了
alter tablespace users online;
查dba_data_files或v$datafile,看看是不是改过来了

好了,原来的那个数据文件可以不要了

改system表空间的办法不同,回头说,有点事
lhzongji 2003-07-31
  • 打赏
  • 举报
回复
多谢huangcaibing(Mike)。我先找台机器测试一下。我觉得你的办法可行

给你分
huangcaibing 2003-07-31
  • 打赏
  • 举报
回复
如果以上办法不成功,把冷备份的数据文件拷贝回原处,
再用其他的办法重转移数据文件,
其实这很简单,找一本数据库管理的书就行了
huangcaibing 2003-07-31
  • 打赏
  • 举报
回复
呵呵,最保险,
1、你先把数据库系统冷备份到另外一个地方,包括数据文件、控制文件、归档日志文件、日志文件。如果不知道这些东西的话,你先把Oracle目录下所有的文件备份下来。
这是以防万一,
2、导出数据库
c:\exp system/oracle@link111 file=d:\20030731.dmp owner=(user1,user2)

以下动作
可以在企业管理器里做,或在Sql*plus里做
3、删除user1,user2
sql>drop user user1 cascade;
sql>drop user user2 cascade;

4、删除表空间
把user1,user2所拥有的表空间删除,重建表空间
sql>drop tablespace t_use1;
sql>drop tablespace t_use2;

5、重建表空间
sql>create tablespace t_use1 datafile = d:\..............\t_use1.ora;
sql>create tablespace t_use2 datafile = d:\..............\t_use2.ora;

6、重建用户
sql>create user user1 identified by password1
default tablespace t_use1;
sql>create user user2 identified by password2
default tablespace t_use2;

7、导入数据库
c:\imp system/oracle@portal file=d:\20030731.dmp fromuser=(user1,user2) touser=(user1,user2)

lhzongji 2003-07-31
  • 打赏
  • 举报
回复
数据库是在C盘.从哪里可以看到是已归档方式运行?
fengshi 2003-07-31
  • 打赏
  • 举报
回复
你是用归档的方式运行的吗?
你的数据库在C盘吗?
如果以上两个问题回答都是“是”,那么你可以把“归档文件”转到别的磁盘
lhzongji 2003-07-31
  • 打赏
  • 举报
回复
现在数据库还能用。C区剩下1.5M了。
lhzongji 2003-07-31
  • 打赏
  • 举报
回复
SIGH.数据比较重要.不敢乱来.
huangcaibing 2003-07-31
  • 打赏
  • 举报
回复
现在数据库还能用吗?
huangcaibing 2003-07-31
  • 打赏
  • 举报
回复
hammer_shi(@农业专家@(*暂时是菜鸟*))
的想法应该是不能实现的,那样数据库是启动不起来的,
因为数据文件的位置都是写在控制文件里的
lhzongji 2003-07-31
  • 打赏
  • 举报
回复
多谢老大。具体该怎么操作?我是菜鸟
huangcaibing 2003-07-31
  • 打赏
  • 举报
回复
数据文见重命名,查一下资料,
应该是这样,
sql> connect sys/..........
sql>shutdown immediate
sql>startup amount
拷贝数据文件到目的地
sql>alter database rename datafile ..................
sql>打开数据库


或者为表空间添加新的数据文件到d盘

或者是导出exp之后,重建表空间在d盘,然后再导入imp
hammer_shi 2003-07-31
  • 打赏
  • 举报
回复
以上意见没有实际操作试验,你要是是真实数据,最好找台机器试验一下。
hammer_shi 2003-07-31
  • 打赏
  • 举报
回复
将c盘的数据库关闭,冷备份。删除c盘的数据库。在d盘建立一个和c盘相同的数据库。

17,377

社区成员

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

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