oracle備份乙個使用者並遷移

2021-06-22 02:06:35 字數 1206 閱讀 2822

今天用到了將oracle中乙個使用者下的所有資訊匯入到另乙個機器中的使用者下,例如有一台機器中某使用者為aa,需要在另一台機器中將aa使用者下的所有資訊,如表、表空間、索引拷貝到本機的資料庫上

首先檢視aa使用者下的預設表空間,或者根據sysdba使用者檢視

select username,default_tablespace from user_users; //當前使用者

select user,default_tablespace from dba_users; //sysdba查詢所有的使用者和預設表空間

比如現在知道了aa使用者的表空間是aatbs;

那麼現在在cmd中執行,而不是在sqlplus中或者pl/sql中的sql>執行

exp aa/aa@orcl file=c:\aa_bak.dmp full=y //全部匯出;

然後在另外乙個資料庫中執行命令如下

sqlplus / as sysdba;

create tablespace aatbs datafile 'c:\oracle\product10.2.0\oradata\aa_bak.dbf' size 32m

autoextend on next 32m maxsize 2048m extent management local; --建立表空間,其中表空間名和剛才查詢的表空間名一致

create user aa identified by aa default tablespace aatbs;

grant dba to aa;

--drop user aa cascade;

exit;

建立表空間的時候需要注意

1.datafile後的檔案路徑必須為單引號,我用了雙引號不好使

2.另外需要設定預設的表空間,因為匯出的備份檔案中的表空間是aatbs,如果此時不指定表空間,匯入備份檔案的時候會因為建立表所在的表空間不一致而報錯

然後切換到cmd中,執行

imp aa/aa@orcl file=c:\oracle\product10.2.0\oradata\aa_bak.dbf full=y;

另外執行oracle的指令碼檔案只需要@目錄路徑\檔名.sql即可

如果文章有什麼錯誤或者有什麼建議,歡迎提出,大家共同交流,一起進步

新建乙個使用者操作oracle

今天出現了乙個問題,linux下root使用者不能切換到oracle使用者,但是能切換到其他的使用者,症狀如下 root localhost su oracle root localhost root localhost who am i root pts 1 2010 10 08 10 53 19...

Oracle乙個使用者查詢另乙個使用者的表資料

1 兩個使用者是在不同的庫,需要建立dblink 2 屬於同乙個庫的不同使用者 1 方法一 使用 使用者名稱.的方式訪問 例如 要從user1賬號訪問user2中的表table2 a.需要在user2中將table2 grant給user1,user1才有許可權訪問,訪問的時候用select fro...

刪除乙個Oracle使用者的物件

刪除某個使用者下的物件 set heading off set feedback off spool c dropobj.sql prompt drop tables select drop table table name chr 13 chr 10 from user tables prompt...