【问题标题】:How to convert .dmp file to .sql file in pl/sql如何在 pl/sql 中将 .dmp 文件转换为 .sql 文件
【发布时间】:2020-07-29 10:55:49
【问题描述】:

我无法将 .dmp 文件转换为 .sql。

Database username=chartindia
Database password=gaurav12

我正在使用的代码:

exp chartindia file=D:\\chartindia2020.dmp

我是 pl/sql 的新手。

【问题讨论】:

    标签: oracle plsql sqlplus


    【解决方案1】:

    我认为你做不到。

    DMP 扩展 - 在 Oracle 世界中 - 表示导出操作(由 original EXP 实用程序或 modern Export Data Pump)产生的文件。不管它是什么,file 都不是 textual 文件,您不能只是 读取它 并将其转换为 .SQL。此外,您想到了什么样的 .SQL?插入语句?创建这个那个

    如果您想将 DMP 文件的内容导入数据库,您可以使用 IMP 实用程序(或 Import Data Pump)。这是正确的做法。

    PL/SQL 与该操作无关。

    【讨论】:

      【解决方案2】:

      要提取使用 Datapump 创建的 DMP 文件的 DDL,您可以使用带有选项 sqlfile 的导入实用程序

      例子

      impdp directory=yourdirectory dumpfile=yourdumpfile sqlfile=mysqlscript.sql
      

      但是,请考虑到这一点

      • 必须使用 Datapump expdp 创建原始 DMP 文件
      • SQLFILE 只检索转储文件中的 DDL 操作。它不会将任何 DML 脚本写入 sqlfile。

      据我所知,您无法将使用 exp(旧实用程序)创建的原始 dmp 文件转换为 sqlfile,甚至对于 ddls 也不行。

      更新

      好吧,如果我没记错的话,在我以前的 9i 时代,Oracle Support 有一个名为 DUL 或 DataUnLoad 的内部实用程序,它能够读取二进制文件或数据库数据文件以提取数据。但这是一个非官方工具,仅由 Oracle 支持部门处理。

      示例

      假设我想在一个模式中获取对象的 DDLS

      SQL> select object_name, object_type from dba_objects where owner = 'TEST_PERF' order by object_type, object_name ;
      
          OBJECT_NAME                    OBJECT_TYPE
          ------------------------------ ------------------------------
          SYS_IL0001593266C00001$$       INDEX
          SYS_IL0001595139C00001$$       INDEX
          SYS_IL0001595139C00002$$       INDEX
          SYS_LOB0001593266C00001$$      LOB
          SYS_LOB0001595134C00001$$      LOB
          SYS_LOB0001595134C00002$$      LOB
          SYS_LOB0001595139C00002$$      LOB
          WHATEVER_I_WANT_HERE           LOB
          CARDEALERSHIP_OFFERS           TABLE
          EMP                            TABLE
          EXAMPLE_CUSTOMERS              TABLE
          
          OBJECT_NAME                    OBJECT_TYPE
          ------------------------------ ------------------------------
          MAX_INTERVAL                   TABLE
          MY_MERGE_TEST                  TABLE
          SEQUENCES_IDS                  TABLE
          T                              TABLE
          T1                             TABLE
          T2                             TABLE
          TABLE_A                        TABLE
          TABLE_A_BKP                    TABLE
          TABLE_B                        TABLE
          TABLE_B_BKP                    TABLE
          TABLE_C                        TABLE
          
          OBJECT_NAME                    OBJECT_TYPE
          ------------------------------ ------------------------------
          TEST_PERFORMANCE               TABLE
          TEST_PERFORMANCE_2             TABLE
          X                              TABLE
          XXSAMPLE2                      TABLE
          T1_TRG                         TRIGGER
          COL_TAB_A                      TYPE
          
          28 rows selected.
      

      你首先(如果你没有的话)创建一个数据库目录

       SQL> CREATE OR REPLACE DIRECTORY MY_DIR AS '/mypath' ;
      
       SQL> GRANT READ,WRITE ON DIRECTORY MY_DIR to MY_SCHEMA ;
      

      然后

      $ expdp directory=DIR_DATAPUMP_EXPORT dumpfile=mytestfile.dmp schemas=test_perf
      
      Export: Release 12.2.0.1.0 - Production on Thu Jul 30 13:26:51 2020
      
      Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.
      Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
      Starting "SYS"."SYS_EXPORT_SCHEMA_01":  /******** AS SYSDBA directory=DIR_DATAPUMP_EXPORT dumpfile=mytestfile.dmp schemas=test_perf
      Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
      Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
      Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
      Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
      Processing object type SCHEMA_EXPORT/USER
      Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
      Processing object type SCHEMA_EXPORT/ROLE_GRANT
      Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
      Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
      Processing object type SCHEMA_EXPORT/PASSWORD_HISTORY
      Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
      Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC
      Processing object type SCHEMA_EXPORT/TABLE/TABLE
      Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
      . . exported "TEST_PERF"."TEST_PERFORMANCE"              1.044 GB 20000000 rows
      . . exported "TEST_PERF"."EXAMPLE_CUSTOMERS"             1.918 GB 10000000 rows
      . . exported "TEST_PERF"."CARDEALERSHIP_OFFERS"              0 KB       0 rows
      . . exported "TEST_PERF"."EMP"                               0 KB       0 rows
      . . exported "TEST_PERF"."MAX_INTERVAL"                  5.546 KB       3 rows
      . . exported "TEST_PERF"."MY_MERGE_TEST"                 6.414 KB       5 rows
      . . exported "TEST_PERF"."SEQUENCES_IDS"                 5.539 KB       3 rows
      . . exported "TEST_PERF"."T"                                 0 KB       0 rows
      . . exported "TEST_PERF"."T1"                            5.484 KB       1 rows
      . . exported "TEST_PERF"."T2"                            5.492 KB       2 rows
      . . exported "TEST_PERF"."TABLE_A"                       6.585 KB      10 rows
      . . exported "TEST_PERF"."TABLE_A_BKP"                   6.585 KB      10 rows
      . . exported "TEST_PERF"."TABLE_B"                       8.171 KB      15 rows
      . . exported "TEST_PERF"."TABLE_B_BKP"                   7.921 KB       8 rows
      . . exported "TEST_PERF"."TABLE_C"                       5.507 KB       3 rows
      . . exported "TEST_PERF"."TEST_PERFORMANCE_2"                0 KB       0 rows
      . . exported "TEST_PERF"."X"                                 0 KB       0 rows
      . . exported "TEST_PERF"."XXSAMPLE2"                     11.43 KB      44 rows
      Master table "SYS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
      ******************************************************************************
      Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:
        /orabatch/ftpcpl/export/mytestfile.dmp
      Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Thu Jul 30 13:28:39 2020 elapsed 0 00:01:42
      

      最后,获取ddl脚本

       $ impdp directory=DIR_DATAPUMP_EXPORT dumpfile=mytestfile.dmp sqlfile=mytestfile.sql
      
      Import: Release 12.2.0.1.0 - Production on Thu Jul 30 14:11:59 2020
      
      Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.
      
      Username: / as sysdba
      
      Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
      Master table "SYS"."SYS_SQL_FILE_FULL_01" successfully loaded/unloaded
      Starting "SYS"."SYS_SQL_FILE_FULL_01":  /******** AS SYSDBA directory=DIR_DATAPUMP_EXPORT dumpfile=mytestfile.dmp sqlfile=mytestfile.sql
      Processing object type SCHEMA_EXPORT/USER
      Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
      Processing object type SCHEMA_EXPORT/ROLE_GRANT
      Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
      Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
      Processing object type SCHEMA_EXPORT/PASSWORD_HISTORY
      Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
      Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC
      Processing object type SCHEMA_EXPORT/TABLE/TABLE
      Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
      Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
      Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
      Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
      Job "SYS"."SYS_SQL_FILE_FULL_01" successfully completed at Thu Jul 30 14:12:06 2020 elapsed 0 00:00:03
      

      验证内容

      $ cat mytestfile.sql
      -- CONNECT SYS
      ALTER SESSION SET EVENTS '10150 TRACE NAME CONTEXT FOREVER, LEVEL 1';
      ALTER SESSION SET EVENTS '10904 TRACE NAME CONTEXT FOREVER, LEVEL 1';
      ALTER SESSION SET EVENTS '25475 TRACE NAME CONTEXT FOREVER, LEVEL 1';
      ALTER SESSION SET EVENTS '10407 TRACE NAME CONTEXT FOREVER, LEVEL 1';
      ALTER SESSION SET EVENTS '10851 TRACE NAME CONTEXT FOREVER, LEVEL 1';
      ALTER SESSION SET EVENTS '22830 TRACE NAME CONTEXT FOREVER, LEVEL 192 ';
      -- new object type path: SCHEMA_EXPORT/USER
      -- CONNECT SYSTEM
       CREATE USER "TEST_PERF" IDENTIFIED BY VALUES 'S:7240E0356A595A26923D93A85C08CDFAC961811B13A667AD7F8D7AA98FD7;T:8BC68AE777A63439590B5871BBFEDA134221768DB740D7F1F2B258DC982E4FAA5DB047C0978616BE5759450BE8A7876D65F4B6FCA649779932561541F9F52D40158F82211689BA1033A8314A8968F798;589595E2214F485A'
            DEFAULT TABLESPACE "USERS"
            TEMPORARY TABLESPACE "TEMP_GROUP";
      
       ALTER USER "TEST_PERF" LOCAL TEMPORARY TABLESPACE "TEMP_GROUP";
      -- new object type path: SCHEMA_EXPORT/SYSTEM_GRANT
      GRANT CREATE TABLE TO "TEST_PERF";
      GRANT UNLIMITED TABLESPACE TO "TEST_PERF";
      -- new object type path: SCHEMA_EXPORT/ROLE_GRANT
       GRANT "CONNECT" TO "TEST_PERF";
       GRANT "DBA" TO "TEST_PERF";
      -- new object type path: SCHEMA_EXPORT/DEFAULT_ROLE
       ALTER USER "TEST_PERF" DEFAULT ROLE ALL;
      -- new object type path: SCHEMA_EXPORT/TABLESPACE_QUOTA
      DECLARE
        TEMP_COUNT NUMBER;
        SQLSTR VARCHAR2(200);
      BEGIN
        SQLSTR := 'ALTER USER "TEST_PERF" QUOTA UNLIMITED ON "TBTEST"';
        EXECUTE IMMEDIATE SQLSTR;
      EXCEPTION
        WHEN OTHERS THEN
          IF SQLCODE = -30041 THEN
            SQLSTR := 'SELECT COUNT(*) FROM USER_TABLESPACES
                    WHERE TABLESPACE_NAME = ''TBTEST'' AND CONTENTS = ''TEMPORARY''';
            EXECUTE IMMEDIATE SQLSTR INTO TEMP_COUNT;
            IF TEMP_COUNT = 1 THEN RETURN;
            ELSE RAISE;
            END IF;
          ELSE
            RAISE;
          END IF;
      END;
      /
      -- new object type path: SCHEMA_EXPORT/PASSWORD_HISTORY
      -- CONNECT SYS
       DECLARE
           SUBTYPE HIST_RECORD IS SYS.DBMS_PSWMG_IMPORT.ARRAYOFHISTORYRECORDS;
           HIST_REC HIST_RECORD;
           i number := 0;
       BEGIN
            SYS.DBMS_PSWMG_IMPORT.PURGE_HISTORY('TEST_PERF');
            i := i+1;
            HIST_REC(i).USERNAME := 'TEST_PERF';
            HIST_REC(i).PASSWORD := 'T:8BC68AE777A63439590B5871BBFEDA134221768DB740D7F1F2B258DC982E4FAA5DB047C0978616BE5759450BE8A7876D65F4B6FCA649779932561541F9F52D40158F82211689BA1033A8314A8968F798';
            HIST_REC(i).PASSWD_DATE := '2020/07/25 00:19:28';
      
            SYS.DBMS_PSWMG_IMPORT.IMPORT_HISTORY(HIST_REC,i);
       END;
      /
      -- new object type path: SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
      -- CONNECT TEST_PERF
      
      BEGIN
      sys.dbms_logrep_imp.instantiate_schema(schema_name=>SYS_CONTEXT('USERENV','CURRENT_SCHEMA'), export_db_name=>'ODCGRC1R', inst_scn=>'13141920867965');
      COMMIT;
      END;
      /
      -- new object type path: SCHEMA_EXPORT/TYPE/TYPE_SPEC
      -- CONNECT SYS
      CREATE EDITIONABLE TYPE "TEST_PERF"."COL_TAB_A"
        OID 'AB845F3E572AC77DE0532A8016B4C00C' as object
      (
       PRODUCT_ID        VARCHAR2(30 CHAR),
       STATE             VARCHAR2(30 CHAR),
       ZIP_CD            VARCHAR2(30 CHAR),
       VALID_FROM        DATE             ,
       VALID_TO          DATE             ,
       LATEST_FLAG       VARCHAR2(1 CHAR)
      );
      /
      
      ALTER TYPE "TEST_PERF"."COL_TAB_A"
        COMPILE SPECIFICATION
          PLSQL_OPTIMIZE_LEVEL=  2
          PLSQL_CODE_TYPE=  INTERPRETED
          PLSQL_DEBUG=  FALSE    PLSCOPE_SETTINGS=  'IDENTIFIERS:NONE'  NLS_LENGTH_SEMANTICS= CHAR
        REUSE SETTINGS TIMESTAMP '2020-07-28 19:00:10'
      /
      -- new object type path: SCHEMA_EXPORT/TABLE/TABLE
      CREATE TABLE "TEST_PERF"."TEST_PERFORMANCE"
         (    "ID" VARCHAR2(20 CHAR),
              "DATE_ID" VARCHAR2(12 CHAR),
              "INSTANCE_ID" VARCHAR2(20 CHAR),
              "TERRITORY_ID" VARCHAR2(10 CHAR),
              "CODE" VARCHAR2(10 CHAR),
              "PRICE" VARCHAR2(10 CHAR),
              "CURRENCY_CODE_ID" VARCHAR2(20 CHAR),
              "PRICE_IN_USD" VARCHAR2(10 CHAR)
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       ROW STORE COMPRESS ADVANCED NOLOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "TBTEST"
        INMEMORY PRIORITY HIGH MEMCOMPRESS FOR QUERY LOW
        DISTRIBUTE AUTO NO DUPLICATE
        PARALLEL  ENABLE ROW MOVEMENT ;
      CREATE TABLE "TEST_PERF"."TABLE_A"
         (    "PRODUCT_ID" VARCHAR2(30 CHAR),
              "STATE" VARCHAR2(30 CHAR),
              "ZIP_CD" VARCHAR2(30 CHAR),
              "MODIFIED_DT" DATE
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."TABLE_B_BKP"
         (    "SEQUENCE_KEY" NUMBER,
              "PRODUCT_ID" VARCHAR2(30 CHAR),
              "STATE" VARCHAR2(30 CHAR),
              "ZIP_CD" VARCHAR2(30 CHAR),
              "VALID_FROM" DATE,
              "VALID_TO" DATE,
              "LATEST_FLAG" VARCHAR2(1 CHAR)
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."EXAMPLE_CUSTOMERS"
         (    "C1" VARCHAR2(120 CHAR),
              "C2" VARCHAR2(120 CHAR)
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255
       COMPRESS BASIC NOLOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "TBTEST" ;
      CREATE TABLE "TEST_PERF"."TABLE_A_BKP"
         (    "PRODUCT_ID" VARCHAR2(30 CHAR),
              "STATE" VARCHAR2(30 CHAR),
              "ZIP_CD" VARCHAR2(30 CHAR),
              "MODIFIED_DT" DATE
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."CARDEALERSHIP_OFFERS"
         (    "OFFER_ID" NUMBER,
              "CAR_ID" NUMBER,
              "USERNAME" VARCHAR2(20 CHAR),
              "STATUS" VARCHAR2(20 CHAR)
         ) SEGMENT CREATION DEFERRED
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."TABLE_B"
         (    "SEQUENCE_KEY" NUMBER,
              "PRODUCT_ID" VARCHAR2(30 CHAR),
              "STATE" VARCHAR2(30 CHAR),
              "ZIP_CD" VARCHAR2(30 CHAR),
              "VALID_FROM" DATE,
              "VALID_TO" DATE,
              "LATEST_FLAG" VARCHAR2(1 CHAR)
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."TABLE_C"
         (    "C1" NUMBER,
              "C2" VARCHAR2(1 CHAR)
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."T2"
         (    "C1" NUMBER,
              "C2" NUMBER
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."XXSAMPLE2"
         (    "JG_INFO_V1" VARCHAR2(240 BYTE),
              "JG_INFO_V14" VARCHAR2(150 BYTE),
              "JG_INFO_V16" VARCHAR2(150 BYTE),
              "JG_INFO_V21" VARCHAR2(150 BYTE),
              "JG_INFO_V32" VARCHAR2(1996 BYTE),
              "JG_INFO_N3" NUMBER,
              "JG_INFO_N4" NUMBER,
              "JG_INFO_N11" NUMBER,
              "JG_INFO_N15" NUMBER,
              "JG_INFO_N30" NUMBER
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."EMP"
         (    "ENAME" VARCHAR2(10 CHAR),
              "SAL" NUMBER
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."TEST_PERFORMANCE_2"
         (    "ID" NUMBER,
              "DATE_ID" DATE,
              "INSTANCE_ID" NUMBER,
              "TERRITORY_ID" VARCHAR2(8 CHAR),
              "CODE" VARCHAR2(9 CHAR),
              "PRICE" NUMBER,
              "CURRENCY_CODE_ID" VARCHAR2(5 CHAR),
              "PRICE_IN_USD" NUMBER
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."MY_MERGE_TEST"
         (    "PK_ID" NUMBER,
              "DATA_TYPE_ID" NUMBER,
              "CONTENT_ID" NUMBER,
              "VALUE" NUMBER
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."T1"
         (    "C1" NUMBER,
              "C2" NUMBER
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."MAX_INTERVAL"
         (    "NEW_VALID_TO" DATE,
              "PRODUCT_ID" VARCHAR2(30 CHAR)
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."SEQUENCES_IDS"
         (    "MAX_SEQ" NUMBER,
              "PRODUCT_ID" VARCHAR2(30 CHAR)
         ) SEGMENT CREATION IMMEDIATE
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
        PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
        BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
        TABLESPACE "USERS" ;
      CREATE TABLE "TEST_PERF"."T"
         (    "C1" CLOB
         ) SEGMENT CREATION DEFERRED
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        TABLESPACE "USERS"
       LOB ("C1") STORE AS SECUREFILE (
        TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 16384
        NOCACHE LOGGING  NOCOMPRESS  KEEP_DUPLICATES ) ;
      CREATE TABLE "TEST_PERF"."X"
         (    "C1" CLOB,
              "C2" BLOB
         ) SEGMENT CREATION DEFERRED
        PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
       NOCOMPRESS LOGGING
        TABLESPACE "USERS"
       LOB ("C1") STORE AS SECUREFILE "WHATEVER_I_WANT_HERE"(
        TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 16384
        NOCACHE LOGGING  NOCOMPRESS  KEEP_DUPLICATES )
       LOB ("C2") STORE AS SECUREFILE (
        TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 16384
        NOCACHE LOGGING  NOCOMPRESS  KEEP_DUPLICATES ) ;
      -- new object type path: SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
      -- new object type path: SCHEMA_EXPORT/TABLE/TRIGGER
      -- CONNECT TEST_PERF
      CREATE EDITIONABLE TRIGGER t1_trg after update on t1
      referencing new as new old as old
      for each row
      begin
          if :new.c1 != :old.c1 or :new.c2 != :old.c2
          then
             update t2 set c1=:new.c1 , c2=:new.c2 where c1=:old.c1 or c2=:old.c2 ;
          end if;
      end;
      /
      
      ALTER TRIGGER "TEST_PERF"."T1_TRG" ENABLE;
      
      ALTER TRIGGER "TEST_PERF"."T1_TRG"
        COMPILE
          PLSQL_OPTIMIZE_LEVEL=  2
          PLSQL_CODE_TYPE=  INTERPRETED    PLSCOPE_SETTINGS=  'IDENTIFIERS:NONE'
      ;
      -- new object type path: SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
      -- new object type path: SCHEMA_EXPORT/STATISTICS/MARKER
      

      【讨论】:

      • 你能给我一个使用上面代码的例子吗?
      • @GauravKumar,我举了一个例子,请接受并支持答案
      • 但我仍然没有得到答案。
      • 您就在那里找到了答案。当我向您展示如何使用数据泵导入选项 sqlfile 生成脚本时,我构建了一个测试用例
      • 我放弃了投票,但弹出窗口显示感谢您的反馈,但数字没有改变
      猜你喜欢
      • 2010-09-27
      • 2021-12-12
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      • 2011-11-20
      • 1970-01-01
      • 2012-09-21
      • 2013-11-08
      相关资源
      最近更新 更多