1. 程式人生 > 其它 >使用Navicat工具實現oracle資料匯出到mysql

使用Navicat工具實現oracle資料匯出到mysql

使用Navicat工具實現oracle資料匯出到mysql

目錄

環境

oracle資料庫版本:11.2.0.4

mysql版本:Server version: 5.5.60-MariaDB MariaDB Server

exp匯出的離線資料一份 filename.dmp

離線dmp資料匯入到新oracle資料庫中

#檢視離線dmp檔案內容 show=y ;要使用 fromuser 和 touser 選項

[oracle@centos6_test1 ~]$ imp system show=y file=public_user_20210806_1525.dmp

Warning: the objects were exported by ADMIN, not by you

import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses ZHS16GBK character set (possible charset conversion)
export client uses ZHS16GBK character set (possible charset conversion)
IMP-00031: Must specify FULL=Y or provide FROMUSER/TOUSER or TABLES arguments
IMP-00000: Import terminated unsuccessfully

#再次使用 show=y 檢視檔案內容,發現可以正常匯入了

[oracle@centos6_test1 ~]$ imp system show=y file=public_user_20210806_1525.dmp fromuser=gabadmin touser=jia

Warning: the objects were exported by ADMIN, not by you

import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses ZHS16GBK character set (possible charset conversion)
export client uses ZHS16GBK character set (possible charset conversion)
. importing ADMIN's objects into JIA
 "ALTER SESSION SET CURRENT_SCHEMA= "JIA""
 "CREATE TABLE "PUBLIC_USER" ("PUBLIC_USER_ID" NUMBER(20, 0) NOT NULL ENABLE,"
 " "PUBLIC_USER_NAME" VARCHAR2(30) NOT NULL ENABLE, "IDENTITY_ID" VARCHAR2(20"
# 開始匯入,完成匯入

[oracle@centos6_test1 ~]$ imp system file=public_user_20210806_1525.dmp fromuser=admin touser=jia

. importing ADMIN's objects into JIA
. . importing table                  "PUBLIC_USER"    1546070 rows imported

使用navicate工具檢視oracle匯入資料

檢視資料表

select count(*) from jia.PUBLIC_USER;  -- 1546070 

建立測試表jia.users,選取部分資料

create table jia.users as 
select * from jia.PUBLIC_USER where rownum<100;

select * from jia.users;
select count(*) from jia.users; --99

oracle資料匯入到mysql資料庫中

使用Navicate的遷移工具

缺點:字符集會有問題,在mysql中查詢某些欄位內容不能正常顯示。所以要確保mysql中所屬的資料庫字符集為utf8即可

建立資料庫時指定編碼的兩種方式:

  1. CREATE DATABASE 資料庫名 CHARACTER SET utf8 COLLATE utf8_general_ci;

  2. create database if not exists 資料庫名 default character set utf8;

檢視mysql中匯入成功的表

select * from USERS;
select count(*) from USERS;  -- 99