把資料庫從oracle遷移到PPAS

來源:互聯網
上載者:User

PPAS有兩個遷移工具,一個圖形介面的,一個命令列的,下面以圖形介面為例。

 

1

首先需要在目標資料庫系統PPAS上建立和源庫對應的使用者和對等的許可權,再建立目標資料庫。

create user " USERNAMEXXX " withsuperuser password 'xxxxxx';

create database DatabaseNameowner="TYTUTOR" encoding='utf8';

 

2

根據jre版本(當前環境是1.4版)把oracle資料庫的驅動程式拷貝到如下目錄

/opt/PostgresPlus/9.2AS/jre/lib/ext/ojdbc14.jar

 

3

運行PPAS遷移工具



 

 

4



 


 

5

在servers上右鍵點擊增加遷移的源和目標資料庫



 

 

6

 



 

 

7

在左側oracle來源資料庫上右鍵點擊要遷移的schema,現在線上遷移



 

 

8

選擇目標資料庫,schema,點擊run



 

 

Ok了,開始遷移了,可以看過程中的資訊提示或遷移記錄檔,oracle遷移到pg可能有很多pl/sql的資料庫物件都會失敗,要遷到ppas就好多了,因為ppas有oracle相容引擎。

       都搞定後就可以遷移應用程式了,這又是一堆事。

  PPAS還有個命令列的遷移工具,比圖形介面可以有對遷移過程有更多控制,具體見下面其可帶的參數:

 

ot@host1 9.2AS]#jre/bin/java -jar bin/edb-migrationtoolkit.jar -help

 

EnterpriseDBMigration Toolkit (Build 46)

 

Usage: runMTK[-options] SCHEMA

 

If no option isspecified, the complete schema will be imported.

 

where optionsinclude:

-help        Display the application command-lineusage.

-version    Display the application version information.

-verbose [on|off]Display application log messages on standard output (default: on).

 

-schemaOnly  Import the schema object definitions only.

-dataOnly       Import the table data only. When -tablesis in place, it imports data only for the selected tables. Note: If there areany FK constraints defined on target tables, use -truncLoad option along withthis option.

 

-sourcedbtypedb_type The -sourcedbtype option specifies the source database type. db_typemay be one of the following values: mysql, oracle, sqlserver, sybase,postgresql, enterprisedb. db_type is case-insensitive. By default, db_type is oracle.

-targetdbtypedb_type The -targetdbtype option specifies the target database type. db_typemay be one of the following values: oracle, sqlserver, postgresql,enterprisedb. db_type is case-insensitive. By default, db_type is enterprisedb.

 

-allTables Import all tables.

-tables LIST   Import comma-separated list of tables.

-constraints     Import the table constraints.

-indexes   Import the table indexes.

-triggers   Import the table triggers.

-allViews Import all Views.

-views LIST   Import comma-separated list of Views.

-allProcs   Import all stored procedures.

-procs LIST    Import comma-separated list of storedprocedures.

-allFuncs  Import all functions.

-funcs LIST    Import comma-separated list of functions.

-allPackages    Import all packages.

-packages LISTImport comma-separated list of packages.

-allSequences  Import all sequences.

-sequences LISTImport comma-separated list of sequences.

-targetSchemaNAME Name of the target schema (default: target schema is named after sourceschema).

-allDBLinks    Import all Database Links.

-allSynonyms  It enables the migration of all public andprivate synonyms from an Oracle database to an Advanced Server database.  If a synonym with the same name alreadyexists in the target database, the existing synonym will be replaced with themigrated version.

-allPublicSynonyms      It enables the migration of all publicsynonyms from an Oracle database to an Advanced Server database.  If a synonym with the same name alreadyexists in the target database, the existing synonym will be replaced with themigrated version.

-allPrivateSynonyms    It enables the migration of all privatesynonyms from an Oracle database to an Advanced Server database.  If a synonym with the same name alreadyexists in the target database, the existing synonym will be replaced with themigrated version.

 

-dropSchema[true|false] Drop the schema if it already exists in the target database(default: false).

-truncLoad     It disables any constraints on target tableand truncates the data from the table before importing new data. This optioncan only be used with -dataOnly.

-safeMode      Transfer data in safe mode using plain SQLstatements.

-copyDelimiter      Specify a single character to be used asdelimiter in copy command when loading table data. Default is \t

-batchSize       Specify the Batch Size to be used by thebulk inserts. Valid values are  1-1000,default batch size is 1000, reduce if you run into Out of Memory exception

-cpBatchSize  Specify the Batch Size in MB, to be used inthe Copy Command. Valid value is > 0, default batch size is 8 MB

-fetchSize       Specify fetch size in terms of number ofrows should be fetched in result set at a time. This option can be used whentables contain millions of rows and you want to avoid out of memory errors.

-filterProp       The properties file that contains tablewhere clause.

-skipFKConst Skip migration of FK constraints.

-skipCKConst       Skip migration of Check constraints.

-ignoreCheckConstFilter     By default MTK does not migrate Checkconstraints and Default clauses from Sybase, use this option to turn off thisfilter.

-fastCopy       Bypass WAL logging to perform the COPYoperation in an optimized way, default disabled.

-customColTypeMappingLIST Use custom type mapping representedby a semi-colon separated list, where each entry is specified usingCOL_NAME_REG_EXPR=TYPE pair. e.g. .*ID=INTEGER

-customColTypeMappingFilePROP_FILE    The custom type mappingrepresented by a properties file, where each entry is specified usingCOL_NAME_REG_EXPR=TYPE pair. e.g. .*ID=INTEGER

-offlineMigration[PATH] This performs offline migration and saves the DDL/DML scripts in filesfor a later execution. By default the script files will be saved under userhome folder, if required follow -offlineMigration option with a custom path.

-logDir LOG_PATHSpecify a custom path to save the log file. By default, on Linux the logs willbe saved under folder $HOME/.enterprisedb/migration-toolkit/logs. In case ofWindows logs will be saved under folder%HOMEDRIVE%%HOMEPATH%\.enterprisedb\migration-toolkit\logs.

-copyViaDBLinkOraThis option can be used to copy data using dblink_ora COPY commad. This optioncan only be used in Oracle to EnterpriseDB migration mode.

-singleDataFile      Use single SQL file for offline datastorage for all tables. This option cannot be used in COPY format.

-allUsers Import allusers and roles from the source database.

-users LISTImport the selected users/roles from the source database. LIST is acomma-separated list of user/role names e.g. -users MTK,SAMPLE

-allRules Importall rules from the source database.

-rules LIST Importthe selected rules from the source database. LIST is a comma-separated list ofrule names e.g. -rules high_sal_emp,low_sal_emp

-allGroups Importall groups from the source database.

-groups LISTImport the selected groups from the source database. LIST is a comma-separatedlist of group names e.g. -groups acct_emp,mkt_emp

-allDomainsImport all domain, enumeration and composite types from the source database.

-domains LISTImport the selected domain, enumeration and composite types from the sourcedatabase. LIST is a comma-separated list of domain names e.g. -domainsd_email,d_dob, mood

-objecttypes    Import the user-defined object types.

-replaceNullChar<CHAR> If null character is part of a column value, the data migrationfails over JDBC protocol. This option can be used to replace null characterwith a user-specified character.

-importPartitionAsTable[LIST] Use this option to import Oracle Partitioned table as a normal table inEnterpriseDB. To apply the rule on a selected set of tables, follow the optionby a comma-separated list of table names.

-enableConstBeforeDataLoadUse this option to re-enable constraints (and triggers) before data load. Thisis useful in the scenario when the migrated table is mapped to a partitiontable in EnterpriseDB.

-checkFunctionBodies[true|false] When set to false, it disables validation of the function bodyduring function creation, this is to avoid errors if function contains forwardreferences. Applicable when target database is Postgres/EnterpriseDB, defaultis true.

-retryCount VALUE    Specify the number of re-attempts performedby MTK to migrate objects that failed due to cross-schema dependencies. TheVALUE parameter should be greater than 0, default is 2.

-analyze It invokes ANALYZE operation against a targetPostgres or Postgres Plus Advanced Server database. The ANALYZE collectsstatistics for the migrated tables that are utilized for efficient query plans.

-vacuumAnalyze It invokes VACUUM and ANALYZE operationsagainst a target Postgres or Postgres Plus Advanced Server database. The VACUUMreclaims dead tuple storage whereas ANALYZE collects statistics for themigrated tables that are utilized for efficient query plans.

-loaderCountVALUE Specify the number of jobs (threads)to perform data load in parallel. The VALUE parameter should be greater than 0,default is 1.

 

DatabaseConnection Information:

The applicationwill read the connectivity information for the source and target databaseservers from toolkit.properties file.

Refer to MTKreadme document for more information.


聯繫我們

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