建網(wǎng)站免費(fèi)咨詢(xún)長(zhǎng)春網(wǎng)站優(yōu)化哪家好
參考:
oracle 導(dǎo)入(imp)數(shù)據(jù)時(shí)的表空間(tablespace users)問(wèn)題_imp tablespace-CSDN博客
網(wǎng)上的解決辦法大概都是這種,但是實(shí)際測(cè)試19c數(shù)據(jù)庫(kù)并不能成功,所以最后采取在導(dǎo)出文件上強(qiáng)行修改表空間的辦法,改完后再繼續(xù)執(zhí)行導(dǎo)出導(dǎo)入操作,具體如下:
導(dǎo)出
exp username/password@地址:1521/實(shí)例名 owner=用戶(hù)名 file=/backup/文件名稱(chēng).dmp?
在linux上強(qiáng)行修改表空間,數(shù)據(jù)量不大的情況下,也可用uledit打開(kāi)修改:
cp /backup/文件名.dmp ?/backup/文件名.dmp.ori
sed -i 's/TABLESPACE "舊表空間名"/TABLESPACE "新表空間名"/g' ?/backup/文件名.dmp?
導(dǎo)入:
drop user username cascade;
create user newuser identified by "password" default tablespace new_tablespace_name;
grant resource,connect to newuser ;
1.使用DBA用戶(hù)收回用戶(hù)的unlimited tablespace權(quán)限。
revoke unlimited tablespace from newuser ;
2.取消用戶(hù)在表空間old_tablespace_name上的配額。
alter user newuser quota 0 on old_tablespace_name;
3.為了防止用戶(hù)在表空間new_tablespace_name上的配額不足,使用如下sql讓用戶(hù)在該表空間上不限配額。
alter user newuser quota unlimited on new_tablespace_name;
導(dǎo)入
imp newuser/"password"@db file=/backup/文件名.dmp fromuser=old_user touser=new_user? ignore=y grants=n
應(yīng)該可以成功了。