資料移轉,資料轉移

來源:互聯網
上載者:User

資料移轉,資料轉移
1. 軟體支援1.1下載遷移工具:Navicat_Premium_11.0.101.2串連資料庫

 1.2.1開啟Navicat,點擊串連。建立MySQL串連和oracle串連。具體步驟如:



(圖1)



(圖2)

1.2.2串連MySQL資料庫:

(圖三)

 

2. 在MySQL中建立資料庫

2.1開啟資料庫連結之後,右擊,選擇建立資料庫:



(圖四)

2.2填寫表資訊:


(圖五)

3. 遷移表結構


3.1開啟Oracle的資料庫,右擊選擇資料轉送:


 

(圖六)

3.2填寫資料轉送常規資訊:



(圖七)

3.3填寫資料轉送進階資訊:


(圖八)

3.4遷移完表結構後隨機抽取幾張表,檢查表結構是否正確

4. 修改表結構

4.1遷移完成後,開啟Mysql資料庫,執行修改表結構的sql指令碼(注意,最好不要直接運行sql檔案。需要手動刪除外鍵):



(圖九)

4.2修改完表結構後隨機抽取幾張表,檢查表結構是否修改正確

5. 修改儲存引擎

5.1修改完表結構後,執行修改儲存引擎的sql指令碼(注意,最好不要直接運行sql檔案):

(圖十)

5.2修改完儲存引擎後隨機抽取幾張表,檢查表的儲存引擎是否修改正確

 

6. 匯入資料

*lejobdb中以mr開頭的表不要匯入資料,否則會報錯(原因:這張表中有相同的主鍵)

6.1開啟Oracle資料庫,右擊選擇資料轉送:如(圖六)

6.2填寫資料轉送常規資訊:如(圖七)注意:不能匯入帶有外鍵的表中的資料

6.3填寫資料轉送進階資訊:注意:匯入資料時要使用事務


(圖十一)

7. 檢查資料

隨機抽取所導資料庫中的表,檢查其中的資料有沒有問題。



Oracle中資料移轉的工具

SQL*Plus Copy命令
問題描述
怎樣在SQL*Plus中實現不同的表之間的資料複製,不論是本地的還是遠端?
問題分析
在SQL*Plus中的copy命令,可以完成遠端資料庫、本機資料庫或Oracle資料庫與非Oracle資料庫之間的資料複製。其效能與匯入/匯出相同。
copy的基本命令格式:

copy {from source_database |to destination_database}{append|create|insert|replace}destination_table[(column,column,column,...)]using<source_select_statement>

其中資料庫連接使用如下格式:
username/password\]@connect_identifier
在資料複製時,複製支援的資料類型為:char、date、long、number、varchar2。 所示。

SQL*Plus Copy命令可在不同資料庫之間,以及同一個資料庫內的不同模式的表之間複製資料。
? •從遠端資料庫複製資料到本機資料庫。
? •從本機資料庫(預設)複製資料到遠端資料庫。
? •從一個遠端資料庫複製資料到另一個遠端資料庫。
通常,copy命令用於Oracle資料庫與非Oracle資料庫之間複製資料。如果在Oracle資料庫之間複製資料,應該使用create table as 和insert的SQL命令。
•對目標表的控制方式有4種類型:replace、create、insert和append。
? •replace子句指定了被建立的表名。如果目標表已存在,則刪除並用包含複製資料的表替代。若不存在,則建立目標表。
? •使用create子句可避免覆蓋已存在的表。若目標表已存在,則copy報告一個錯誤;若不存在,則建立目標表。
? •insert插入資料到已存在的表。
將查詢到的行插入到目標表,如果目標表不存在,copy返回錯誤。當使用insert時,using子句必須為目標表的每個列選擇對應的列。
? •append是將查詢到的行插入到目標表。如果不存在,則建立目標表並插入。
問題解答
首先應注意的是:

1)copy是SQL*Plus命令,不是SQL命令,在語句最後不必加分號;

2)由於多數copy命令比較長,所以,在分行時每行末尾必須有續行符(-),最後一行不加。
具體步驟如下。
步驟1:使用using子句指定一個查詢,將其查詢結果資料複製到本機資料庫的當前模式下employee表中。例如:

copy from hr/hrd@rensh-replace employee-using select last_name,salary-from emp_details_view-where department_id=30

步驟2:使用create從一個遠端資料庫複製資料到本機資料庫。

copy from hr/<your_password>@bostondb-create empcopy-using select*from hr

步驟3:為其他使用者複製資料。

copy from hr/hr@dbora-create job-using select*from renbs.jobs

以使用者h......餘下全文>>
 
Oracle中資料移轉的工具

SQL*Plus Copy命令
問題描述
怎樣在SQL*Plus中實現不同的表之間的資料複製,不論是本地的還是遠端?
問題分析
在SQL*Plus中的copy命令,可以完成遠端資料庫、本機資料庫或Oracle資料庫與非Oracle資料庫之間的資料複製。其效能與匯入/匯出相同。
copy的基本命令格式:

copy {from source_database |to destination_database}{append|create|insert|replace}destination_table[(column,column,column,...)]using<source_select_statement>

其中資料庫連接使用如下格式:
username/password\]@connect_identifier
在資料複製時,複製支援的資料類型為:char、date、long、number、varchar2。 所示。

SQL*Plus Copy命令可在不同資料庫之間,以及同一個資料庫內的不同模式的表之間複製資料。
? •從遠端資料庫複製資料到本機資料庫。
? •從本機資料庫(預設)複製資料到遠端資料庫。
? •從一個遠端資料庫複製資料到另一個遠端資料庫。
通常,copy命令用於Oracle資料庫與非Oracle資料庫之間複製資料。如果在Oracle資料庫之間複製資料,應該使用create table as 和insert的SQL命令。
•對目標表的控制方式有4種類型:replace、create、insert和append。
? •replace子句指定了被建立的表名。如果目標表已存在,則刪除並用包含複製資料的表替代。若不存在,則建立目標表。
? •使用create子句可避免覆蓋已存在的表。若目標表已存在,則copy報告一個錯誤;若不存在,則建立目標表。
? •insert插入資料到已存在的表。
將查詢到的行插入到目標表,如果目標表不存在,copy返回錯誤。當使用insert時,using子句必須為目標表的每個列選擇對應的列。
? •append是將查詢到的行插入到目標表。如果不存在,則建立目標表並插入。
問題解答
首先應注意的是:

1)copy是SQL*Plus命令,不是SQL命令,在語句最後不必加分號;

2)由於多數copy命令比較長,所以,在分行時每行末尾必須有續行符(-),最後一行不加。
具體步驟如下。
步驟1:使用using子句指定一個查詢,將其查詢結果資料複製到本機資料庫的當前模式下employee表中。例如:

copy from hr/hrd@rensh-replace employee-using select last_name,salary-from emp_details_view-where department_id=30

步驟2:使用create從一個遠端資料庫複製資料到本機資料庫。

copy from hr/<your_password>@bostondb-create empcopy-using select*from hr

步驟3:為其他使用者複製資料。

copy from hr/hr@dbora-create job-using select*from renbs.jobs

以使用者h......餘下全文>>
 

相關文章

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.