2011-09-19 40 views
0

在幾天前...我通過使用Oracle SQL Developer數據庫遷移工具將一些大型MySQL數據庫轉換爲Oracle 10g R2。但不幸的是,它已在系統模式上遷移,但我需要在scott模式上遷移它。 谷歌搜索後,我發現這兩個鏈接OraFAQ ForumASK TOM Q&A。但我找不到任何合適的答案。任何一個人都可以幫助我做到,怎麼可能。如何在Oracle中將表從系統模式移動到scott模式?

在此先感謝。

回答

0

IIRC MySQL備份工具吐出純SQL。因爲它的形式可以說是相當普通的SQL - 我只是想 - createinsert - 它應該能夠以最少的改動對付你的Oracle模式運行。

話雖如此,在SQL Developer遷移向導中,第二步允許您選擇目標模式。如果您的連接設置爲scott,爲什麼不適合您?

+0

你好Xophmeister,我的MySQL數據庫大小aprox的9 GB和我的Oracle SCOTT模式是鎖到期,但現在我已解鎖它,並且它真的需要再次將它遷移... – DBTutor

0

如果表格不是太大(取決於您的系統資源和服務器功率等),那麼您可以簡單地使用以下方式重建所需模式中的表。 N.B.你必須(在SYSTEM表空間上的表的select權限)身份登錄任一目標模式的用戶或系統:

CREATE TABLE <newschema>.<tablename> 
AS 
SELECT * 
    FROM system.<tablename>; 

然後刪除原始表一旦新表已創建。

如果表很大,則可以使用DATAPUMP導出並將其導入到所需的模式中。

下面是使用數據泵用於此目的的文章: http://oraclehack.blogspot.com/2010/06/data-pump-moving-tables-to-new-schema.html

希望這有助於

+4

對於任何發現此答案的人來說,請注意,它不會保留所有依賴對象(如果它們存在)。例如。索引,檢查約束等。但是,是的,如果它只是一個表,這可能是最好的答案。 – Karl

+0

卡爾提出的一個非常好的觀點。 +1 – Ollie

相關問題