Oracle備份一個使用者並遷移

來源:互聯網
上載者:User

今天用到了將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預存程序如何遷移到Hive?

利用RMAN跨平台遷移資料庫

線上遷移OCR遇到報錯:PROT-16 

使用RMAN簡單遷移資料表空間

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.