欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Dbeaver做數(shù)據(jù)遷移的詳細(xì)過程記錄

 更新時(shí)間:2023年05月11日 09:33:32   作者:巴拿巴與保羅  
DBeaver是一款跨平臺(tái)的通用數(shù)據(jù)庫(kù)開源管理工具,支持 MySQL,PostgreSQL,Oracle,DB2,MSSQL,Sybase,Mimer,HSQLDB,Derby以及其他兼容JDBC的數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于Dbeaver做數(shù)據(jù)遷移的詳細(xì)過程,需要的朋友可以參考下

1、選擇源頭數(shù)據(jù)庫(kù)的表、鼠標(biāo)右擊、選擇導(dǎo)出數(shù)據(jù)

2、在數(shù)據(jù)轉(zhuǎn)化彈框中,雙擊 ‘數(shù)據(jù)庫(kù),數(shù)據(jù)表’ 那一欄

3、選擇目標(biāo)數(shù)據(jù)庫(kù),調(diào)整字段類型映射關(guān)系

4、調(diào)整字段的映射關(guān)系

        目前遇到的字段類型,只有 int,bigint   轉(zhuǎn)  number  類型

        再就是VARCHAR2 長(zhǎng)度不夠的,加長(zhǎng)度,超過4000的就改為clob類型

5、勾選‘打開新連接’,‘選擇行計(jì)數(shù)’

6、點(diǎn)擊開始

7、注意事項(xiàng)

        A、如果是Oracle轉(zhuǎn)Oracle,同類型的數(shù)據(jù)庫(kù)遷移,就不用管字段類型的映射關(guān)系了

        B、如果字段的映射不對(duì)就會(huì)報(bào)錯(cuò),或者表創(chuàng)建了,但數(shù)據(jù)沒有進(jìn)去

        C、遇到的字段類型,只有 int,bigint   轉(zhuǎn)  number  類型

        D、有些字段遷移后會(huì)變成小寫,需要后面手動(dòng)調(diào)整

                        可以用SQL查詢出所有的小寫字段

select column_name,table_name from user_tab_columns where regexp_like(column_name,'[a-z]'); 

        E、VARCHAR2(200)  類型可能存在 實(shí)際長(zhǎng)度大于限制長(zhǎng)度的問題,會(huì)報(bào)錯(cuò)出來

                超過4000的長(zhǎng)度,可以改為  clob 類型

        F、VARCHAR2 類型如果沒有限制長(zhǎng)度,會(huì)報(bào)錯(cuò):“缺少括號(hào)”,加就可以了 VARCHAR2(200) 

        G、數(shù)據(jù)遷移后,對(duì)比兩個(gè)數(shù)據(jù)庫(kù)表的數(shù)量,可以使用SQL查詢數(shù)量

        H、表遷移后,發(fā)現(xiàn)索引都沒有遷移

                導(dǎo)致登錄的時(shí)候報(bào)錯(cuò): 

                        java.lang.IllegalArgumentException: obj is null

                處理方式:遷移索引后,問題就自動(dòng)好了

8、處理方式總結(jié)

        A、導(dǎo)出時(shí),可以批量的處理,比如一次處理10個(gè)表,遇到報(bào)錯(cuò)就停止執(zhí)行,這樣后面再處理報(bào)錯(cuò)的表就可以了,其他表會(huì)都遷移了。報(bào)錯(cuò)的表需要?jiǎng)h除了,從新遷移。刪除表后,需要刷新數(shù)據(jù)庫(kù)。

        B、批量遷移索引

                使用SQL 查詢出SQL server 所有創(chuàng)建索引的語(yǔ)句。下面是SQL

WITH indexInfo as (
    SELECT SCHEMA_NAME(t.schema_id) [schema_name],t.name as [table_name],t1.name as [index_name]
    ,t1.type,t1.type_desc,t1.is_unique,t1.is_primary_key,t1.is_unique_constraint,t1.has_filter,t1.filter_definition
    ,STUFF((SELECT ','+t4.name FROM sys.sysindexkeys t2 
        inner join sys.index_columns  t3 ON t2.id=t3.object_id and t2.indid=t3.index_id and t2.colid=t3.column_id
        inner join sys.syscolumns t4 ON t2.id=t4.id and t2.colid=t4.colid
        WHERE t2.id=t1.object_id and t1.index_id=t2.indid  and t2.keyno <> 0 ORDER BY t3.key_ordinal FOR XML PATH('')),1,1,'') AS index_cols
    ,STUFF((SELECT ','+t4.name FROM sys.sysindexkeys t2 
        inner join sys.index_columns  t3 ON t2.id=t3.object_id and t2.indid=t3.index_id and t2.colid=t3.column_id
        inner join sys.syscolumns t4 ON t2.id=t4.id and t2.colid=t4.colid
        WHERE t2.id=t1.object_id and t1.index_id=t2.indid  and t2.keyno = 0 ORDER BY t3.key_ordinal FOR XML PATH('')),1,1,'')  AS include_cols
    FROM sys.tables as t
    inner join sys.indexes as t1 on (t1.index_id > 0 and t1.is_hypothetical = 0) and (t1.object_id=t.object_id)
    WHERE t1.type in(1,2)
), indexInfo2 AS (
SELECT * ,(CASE 
    WHEN is_primary_key = 1 
        THEN 'alter table '+[schema_name]+'.'+[table_name]+' add constraint '+[index_name]+' primary key '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+'('+index_cols+');'
    WHEN is_unique = 1 AND is_unique_constraint = 1 
        THEN 'alter table '+[schema_name]+'.'+[table_name]+' add constraint '+[index_name]+' unique '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+'('+index_cols+');'
    WHEN is_unique = 1 AND (is_primary_key = 0 OR is_unique_constraint = 0)
        THEN 'create unique '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+' index '+[index_name]+'  on '+[schema_name]+'.'+[table_name]+'('+index_cols+');'
    ELSE 'create '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+' index '+[index_name]+' on '+[schema_name]+'.'+[table_name]+'('+index_cols+') ;'
    END) script
FROM indexInfo
) SELECT [schema_name],[table_name],[index_name],script
+(CASE WHEN include_cols IS NOT NULL THEN ' include('+include_cols+')' ELSE '' END)
+(CASE WHEN has_filter = 1THEN ' where '+filter_definition ELSE '' END)
FROM indexInfo2
ORDER BY [schema_name],[table_name],[type],[index_name],is_primary_key DESC,is_unique_constraint DESC,is_unique DESC

        C、批量處理語(yǔ)句后(兩種數(shù)庫(kù)的DDL語(yǔ)句有所差異),可以批量執(zhí)行。

       可以全部一起執(zhí)行,或者一次執(zhí)行50條語(yǔ)句,遇到報(bào)錯(cuò)就停止,報(bào)錯(cuò)前的語(yǔ)句都執(zhí)行了,就可以刪除了。處理報(bào)錯(cuò)后,再執(zhí)行報(bào)錯(cuò)后面的語(yǔ)句。

        有些不好處理的報(bào)錯(cuò),可以先不管,后面在手動(dòng)對(duì)表建索引就可以了

批量執(zhí)行DDL語(yǔ)句的方式

        新開個(gè)窗口放DDL語(yǔ)句,SQL編輯器 --> 執(zhí)行SQL腳本

注意事項(xiàng):

        SQL SERVE 遷移到 ORACLE  后,在 ‘數(shù)據(jù)庫(kù)表管理’ 頁(yè)面做表創(chuàng)建的時(shí)候,DDL語(yǔ)句會(huì)報(bào)錯(cuò),因?yàn)樽侄味际切懀叶技恿艘?hào),導(dǎo)致Oracle不能識(shí)別。需要?jiǎng)h除  D:\03_workspace\01_fenghua\02_server\fenghua-tmp-server\src\main\java\xyz\elidom\dbist\ddl\impl\DdlJdbc.java   文件,刪除后重啟后端,就可以了,

后面生成的DDL語(yǔ)句,字段就沒引號(hào)了,Oracle就可以正常創(chuàng)建表了。

總結(jié)

到此這篇關(guān)于Dbeaver做數(shù)據(jù)遷移的文章就介紹到這了,更多相關(guān)Dbeaver數(shù)據(jù)遷移內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 8 種常用的 NoSQL 數(shù)據(jù)庫(kù)系統(tǒng)對(duì)比分析

    8 種常用的 NoSQL 數(shù)據(jù)庫(kù)系統(tǒng)對(duì)比分析

    這篇文章主要介紹了8 種 NoSQL 數(shù)據(jù)庫(kù)系統(tǒng)對(duì)比,需要的朋友可以參考下
    2016-02-02
  • SQL語(yǔ)句優(yōu)化之JOIN和LEFT JOIN 和 RIGHT JOIN語(yǔ)句的優(yōu)化

    SQL語(yǔ)句優(yōu)化之JOIN和LEFT JOIN 和 RIGHT JOIN語(yǔ)句的優(yōu)化

    在數(shù)據(jù)庫(kù)的應(yīng)用中,我們經(jīng)常需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行多表查詢,然而當(dāng)數(shù)據(jù)量非常大時(shí)多表查詢會(huì)對(duì)執(zhí)行效率產(chǎn)生非常大的影響,因此我們?cè)谑褂肑OIN和LEFT JOIN 和 RIGHT JOIN語(yǔ)句時(shí)要特別注意
    2018-03-03
  • 在PostgreSQL中使用日期類型時(shí)一些需要注意的地方

    在PostgreSQL中使用日期類型時(shí)一些需要注意的地方

    這篇文章主要介紹了在PostgreSQL中使用日期類型時(shí)一些需要注意的地方,包括時(shí)間戳和日期轉(zhuǎn)換等方面,需要的朋友可以參考下
    2015-04-04
  • eXtremeDB 6.0正式發(fā)布:提高擴(kuò)展性和分布式查詢速度

    eXtremeDB 6.0正式發(fā)布:提高擴(kuò)展性和分布式查詢速度

    這篇文章主要介紹了eXtremeDB 6.0正式發(fā)布:提高擴(kuò)展性和分布式查詢速度,本文詳細(xì)介紹了全新的eXtremeDB 6.0的一些特性,需要的朋友可以參考下
    2014-10-10
  • Dbeaver做數(shù)據(jù)遷移的詳細(xì)過程記錄

    Dbeaver做數(shù)據(jù)遷移的詳細(xì)過程記錄

    DBeaver是一款跨平臺(tái)的通用數(shù)據(jù)庫(kù)開源管理工具,支持 MySQL,PostgreSQL,Oracle,DB2,MSSQL,Sybase,Mimer,HSQLDB,Derby以及其他兼容JDBC的數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于Dbeaver做數(shù)據(jù)遷移的詳細(xì)過程,需要的朋友可以參考下
    2023-05-05
  • Navicat15激活使用教程

    Navicat15激活使用教程

    navicat15激活工具是一款針對(duì)同名軟件所推出的激活碼注冊(cè)生成器,接下來通過本文給大家介紹Navicat15激活使用教程,需要的朋友可以參考下
    2021-10-10
  • where 子句的執(zhí)行順序

    where 子句的執(zhí)行順序

    貌似在2005之前的版本中,where子句的順序是從前往后的。但是又貌似在2005的版本中進(jìn)行了優(yōu)化,所有的順序都被統(tǒng)一成了以過濾能力進(jìn)行排序的語(yǔ)句。
    2009-04-04
  • 建立在Tablestore的Wifi設(shè)備監(jiān)管系統(tǒng)架構(gòu)實(shí)現(xiàn)

    建立在Tablestore的Wifi設(shè)備監(jiān)管系統(tǒng)架構(gòu)實(shí)現(xiàn)

    一般大公司會(huì)有許多園區(qū),園區(qū)內(nèi)會(huì)有不同部門的同事在一起辦公。每個(gè)園區(qū)內(nèi)都要配備大量的Wifi設(shè)備從而為園區(qū)同事提供方便的上網(wǎng)服務(wù)。因此,集團(tuán)需要一套完善的監(jiān)管系統(tǒng)維護(hù)所有的Wifi設(shè)備。需要的朋友來一起學(xué)習(xí)下吧
    2019-05-05
  • [轉(zhuǎn)載]讓SQL運(yùn)行得更快

    [轉(zhuǎn)載]讓SQL運(yùn)行得更快

    筆者在工作實(shí)踐中發(fā)現(xiàn),不良的SQL往往來自于不恰當(dāng)?shù)乃饕O(shè)計(jì)、不充份的連接條件和不可優(yōu)化的where子句。在對(duì)它們進(jìn)行適當(dāng)?shù)膬?yōu)化后,其運(yùn)行速度有了明顯地提高!下面我將從這三個(gè)方面分別進(jìn)行總結(jié)
    2007-02-02
  • DeepinV20快速安裝Mariadb的詳細(xì)步驟

    DeepinV20快速安裝Mariadb的詳細(xì)步驟

    本文給大家介紹DeepinV20安裝Mariadb的詳細(xì)步驟,MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)是MySQL的一個(gè)分支,添加一些功能支持本地的非阻塞操作和進(jìn)度報(bào)告,具體內(nèi)容詳情跟隨小編一起看看吧
    2021-07-07

最新評(píng)論