Oracle小技巧_不同資料表空間不同使用者匯入匯出資料dmp

來源:互聯網
上載者:User

標籤:技巧   小技巧   evo   匯出資料   來源   使用   ons   許可權   pac   

【博主註:資料庫方面 ITPUB網站及部落格內容非常豐富翔實】 

轉載來源 ITPUB 部落格

經常有人會問:原來的資料在USERS資料表空間裡面,我想把它IMP進APP資料表空間,我已經修改了目的使用者的預設資料表空間,為什麼結果還是IMP到USERS資料表空間中了呢。

關於此問題,作如下解釋:
Oracle並沒有提供什麼參數來指定要匯入哪個資料表空間,資料預設將匯入到原本匯出時資料所在的資料表空間中,但是我們可以通過以下的方法來實現匯入到不同的資料表空間。


1.在IMP時候使用INDEXFILE參數
當給此參數指定了某一檔案名稱,IMP的時候所有的index將不會直接匯入到資料表空間中,而是在指定的檔案中產生建立index的指令碼。
然後用文字編輯器開啟此檔案,直接編輯指令碼中的storage參數,修改為想要匯入的資料表空間名稱。
然後重新執行IMP,使用INDEXS=n參數將除Index之外的Objects匯入。
最後進入SQL*PLUS,直接運行剛才編輯的指令碼,產生索引。
該方法適用於將index以及constraints匯入指定的資料表空間。

2.改變目的使用者的預設資料表空間
這就是上面說的經常有人提問的方法。但是上述的問題之所以沒有成功,是因為缺少了下面的幾步。
首先,收回目的使用者的"UNLIMITED TABLESPACE"許可權:
revoke unlimited tablespace from username;
其次,取消目的使用者在原資料匯出資料表空間中的配額,這樣才能迫使IMP把資料匯入到使用者的預設資料表空間中去。
然後,將希望匯入的資料表空間設為目的使用者的預設資料表空間,並添加配額。
最後,執行IMP。

3。使用TOAD
TOAD是強大的Oracle資料庫管理軟體,是Quest出品的第三方軟體,我們可以使用其中的Rebuild Multi Objects工具來實現將多個Object轉移到指定的資料表空間。
於是我們可以不管三七二十一,先IMP,然後再用TOAD作事後的修改。
關於TOAD的使用,此處不作詳細解釋。

Oracle小技巧_不同資料表空間不同使用者匯入匯出資料dmp

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.