oracle备份的表名已存在,oracle为什么逻辑恢复一定要保证表空间名与备份的dmp一致?...

oracle为什么逻辑恢复一定要保证表空间名与备份的dmp一致?

一、概念:

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。

oracle中至少存在一个表空间,即SYSTEM的表空间。

二、创建表

-- Create table

create table test

(

ID INTEGER,

)

tablespace HOHEHOT

pctfree 0

initrans 4

maxtrans 255

storage

(

initial

400

minextents

1

maxextents

unlimited

);

从以上语句与表空间的概念不难理解,表空间是逻辑存放表的地方。而每张表的创建都指定了表空间。dmp逻辑恢复的过程如果找不到相应的表空间,则恢复过程中执行create

table时便会报错,提示找不到相应表空间。

三、如何恢复到新的表空间中

在实际应用过程中可能,一个服务器上要部署多个不同地方的相同服务。但是不能放在同一个表空间下。这时我们可以在备份之前或者恢复之后需要修改下表空间名(注:oracle10g以上支持alter

tablespace tablespace_name rename to

tablespace_name_new语句修改表空间名),修改为自己熟悉的表空间名后再备份出相应的dmp文件。注意修改表空间名后应该修改相应用户下默认表空间名。如:alter

user user_name identified by passwd default tablespace

tablespace_name_new temporary tablespace temp;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值