oracle数据库改变表空间

原来有一个用户user1在表空间eroodmonitor中,现在需要在原服务器中把user1的数据库重新建到新的用户user2在新的表空间eroadmonitor中。于是,在新建好eroadmonitor,user2后,给user2赋予全部权限,并把user2的默认表空间设置为eroadmonitor。执行imp命令后,数据库已经成功导入user2,但是表空间却是在原来的eroodmonitor中。

原来是少了2个步骤,取消user2的unlimited tablespace和设定user2的quotas

具体步骤如下:

1. 通过控制台新建命名空间erodmonitor,http:localhost:1158/em

2. 新建用户user2,选择erodmonitor作为默认表空间

3. 设置user2的权限,取消unlimited tablespace权限

    命令是revoke unlimited tablespace from user2

4. 设定user2在新的表空间的quotas为unlimited,在老的表空间的quotas为0

5. 执行imp sys/password@orcl file=d:/user1.dmp log=d:/user1.log fromuser=user1 touser=user2

 

注意:

1. 执行exp/imp时字符集设置一致,select userenv('language') from dual可以查看服务器字符集

2. imp导入后表空间已经变更,但是trigger的作用对象是原来的user1.table,需要手动调整

 

其实,最直接的方式就是editplus工具打开user1.dmp,修改原表空间eroodmonitor为新表空间eroadmonitor,然后再执行imp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值