DM数据库工具——dexp、dimp学习

DM数据库工具——dexp、dimp学习

dexp、dimp使用

  • 功能简介

    • DM 数据库的备份还原包括两种类型:物理备份还原和逻辑备份还原。
      • 物理备份还原是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。
      • 逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。
    • 逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。
    • 逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:
      • 数据库级(FULL):导出或导入整个数据库中的所有对象。
      • 用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
      • 模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
      • 表级(TABLES):导出或导入一个或多个指定的表或表分区。
  • dexp逻辑导出

    dexp 工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。

    • 使用dexp工具

      • dexp 工具需要从命令行启动。在 cmd 命令行工具中找到 dexp 所在安装目录 /dmdbms/bin,输入 dexp 和参数后回车

      • 语法:

        dexp PARAMETER=<value> { PARAMETER=<value> }
        或
        dexpdp  PARAMETER=<value> { PARAMETER=<value> }
        
        • PARAMETER:dexp 参数。参数 USERID 必须置于首位,此外多个参数之间排列顺序无影响,参数之间使用空格间隔。
      • 例:将用户名和密码均为 SYSDBA,IP 地址为 192.168.0.248,端口号为 8888 的数据库采用 FULL 方式完全导出

        ./dexp USERID=SYSDBA/SYSDBA@192.168.0.248:8888##/user/data FILE=db_str.dmp
        DIRECTORY=/mnt/dexp/data LOG=db_str.log FULL=Y
        
        • /user/data 为数字证书路径。导出文件名为 db_str.dmp,导出的日志文件名为 db_str.log,导出文件的路径为/mnt/dexp/data
    • dexp参数

      • 具体的参数与其含义如下表所示:

        在这里插入图片描述

      说明:

      ​ 每个参数含义后面的括号内为(N)则表示该参数默认为否,为(Y)表示默认为是;“()”内的值表示的是参数的默认值。

    • dexp参数详解

      • 特殊参数

        • USERID

          • USERID 用于指定数据库的连接信息。

          • 语法:

            {{<username>[/<password>]} | /}[@<connect_identifier>][<option>] [<os_auth>] <connect_identifier> ::=<svc_name> | {<host>[:<port>]} | <unixsocket_file>
            <option>::= #{ <extend_option>=<value>{,<extend_option>=<value>} }  //此行外层{}为了封装参数之用,需要出现在语法中
            <os_auth>::= AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
            
            • {{<username>[/<password>]} | /}<username>[/<password>] 为用户名和密码。普通登录方式时用户名必写,密码默认为 SYSDBA。/表示采用操作系统身份验证方式登录或利用 wallet 文件登录。

            • <svc_name>:服务名。服务名在 dm_svc.conf 中配置。

            • <host>[:<port>]:服务器 IP 地址和端口号。默认情况下默认为本地服务器和端口号 LOCALHOST:5236。

            • <unixsocket_file>:专门用于在 LINUX 系统中,当服务器与客户端之间使用 UNIXSOCKET(UNIX DOMAIN SOCKET - IPC)协议通信时,指定客户端连接的 socket 文件路径。

            • <option>: 为扩展选项,用法为 <extend_option>=<value>。拓展选项如下:

              extend_optionvalue
              mpp_typeMPP 登录属性,此属性的设置对非 MPP 系统没有影响。取值 GLOBAL 和 LOCAL,默认为 GLOBAL。GLOBAL 表示 MPP 环境下建立的会话为全局会话,对数据库的导入导出操作在所有节点进行;LOCAL 表示 MPP 环境下建立的会话为本地会话,对数据库的导入导出操作只在本地节点进行
              inet_type网络通信协议类型。取值 TCP/UDP/IPC/UNIXSOCKET/RDMA,默认为 TCP。 使用 UDP 协议时,服务器需要设置 INI 参数 ENABLE_UDP 非 0;使用 IPC 协议时,会忽略 IP 地址和端口号,直接连接本机上 INI 参数 ENABLE_IPC=1 的服务器,一台机器上只能有一个服务器设置 ENABLE_IPC=1;使用 UNIXSOCKET 协议时,无需指定 IP 地址和端口号,但服务器需要配置 INI 参数 UNIX_SOCKET_PATHNAME 指定 socket 文件路径,客户端连接服务器时也需要指定 socket 文件路径,二者必须一致,仅 LINUX 环境下支持 UNIXSOCKET;使用 RDMA 协议时,需要安装并配置 RDMA 网卡,连接数据库时需要指定 RDMA 网卡配置的 IP 地址以及服务器的端口号
              ssl_path通信加密的 SSL 数字证书路径,默认为不使用加密。数字证书路径由用户自己创建,将相应的证书需放入该文件夹中。其中服务器证书必须与 dmserver 目录同级,客户端目录可以任意设置。和 ssl_pwd 一起使用。各用户只能使用自己的 SSL 数字证书,例如 SYSDBA 账户只能使用\bin\CLIENT_SSL\SYSDBA 下的证书和密码,如果证书没有密码可以用默认或任意数字代替。 例如:./dexp SYSDBA/SYSDBA@192.168.1.64:5236#“{ssl_path= /home/dmdbms/bin/client_ssl/SYSDBA,ssl_pwd=12345}” file=/home/dexp_test.dmp log=/home/log/
              ssl_pwd通信加密的 SSL 数字证书密码。和 ssl_path 一起使用。默认为不加密
            • SSLPATH@SSLPWD:通信加密的 SSL 数字证书路径和密码,默认为不使用加密。

            • AS <SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO>:操作系统身份验证。

        • FILE

          • FILE 用于明确指定导出的文件(可以包含路径),可以包含多个文件,用逗号分隔。

          • 语法:

            FILE=<文件>
            
          • 例:设置FILE=db_str.dmp,导出文件名为db_str.dmp

            ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y
            DIRECTORY=/mnt/data/dexp
            

            注意:

            如果FILE指定的文件包含生成路径,则忽略DIRECTORY中的路径;

            如果FILE没有指定路径时,使用DIRECTORY中指定的路径;

            如果FILE和DIRECTORY都没有指定路径,则使用系统当前路径。

        • LOG

          • LOG 用于明确指定导出过程产生的日志文件名称(可以包含路径),可以包含多个文件,用逗号分隔。

          • 语法:

            LOG=<文件名>
            
          • 例:指定日志文件名为 db_str.log

            ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y
            DIRECTORY=/mnt/data/dexp
            

            注意:

            如果LOG指定的文件包含生成路径,则忽略DIRECTORY中的路径;

            如果LOG没有指定路径时,使用DIRECTORY中指定的路径;

            如果LOG和DIRECTORY都没有指定路径,则使用系统当前路径。

        • DIRECTORY

          • DIRECTORY 用于指定导出文件及日志文件生成的路径。

            • 使用 dexp 工具时,DIRECTORY 为可选参数,默认导出到 dexp 所在路径。
            • 使用 dexpdp 工具时,DIRECTORY 必选,并且指定的路径必须是通过 CREATE DIRECTORY 定义的目录名
          • 语法:

            DIRECTORY=<path>
            
            • :导出文件和日志文件生成的路径。
          • 例:指定路径/mnt/data/dexp。

            ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y
            DIRECTORY=/mnt/data/dexp
            

            注意

            FILE和LOG中指定的路径,优先级高于DIRECTORY中指定的路径。

            当FILE和LOG不指定路径时,才使用DIRECTORY指定的路径。

            如果都没有指定路径,则使用系统当前路径。

        • 四种级别的导出方式

        针对数据库对象,有 FULL、OWNER、SCHEMAS、TABLES 四种导出方式可供选择。

        • FULL:导出数据库的所有对象

          • 语法:

            FULL=Y/N
            
            • 设置 FULL=Y 时指定以 FULL 方式导出数据库的所有对象;设置 FULL=N 相当于没有设置 FULL 参数,默认N。
        • OWNER:导出一个或多个用户拥有的所有对象。

          • 语法:

            OWNER=<用户名>{,<用户名>}
            
        • SCHEMAS:导出一个或多个模式下的所有对象。

          • 语法:

            SCHEMAS=<模式名>{,<模式名>}
            
        • TABLES:导出和导入一个或多个指定的表或表分区。导出所有数据行、约束、索引等信息。

          • 语法:

            TABLES=[模式名.]表名[:表分区名] [, ...]
            
      • 普通参数

        • FUZZY_MATCH

          • FUZZY_MATCH 用于指定 TABLES 选项是否支持模糊匹配。可选参数,默认为 N。

          • 语法:

            FUZZY_MATCH=N/Y
            
            • N:TABLES 选项不支持模糊匹配,根据指定的表名来自动识别是否需要模糊匹配,默认值;
            • Y:TABLES 选项支持模糊匹配,指定的表名与数据库中的表名采用 LIKE 模糊查询匹配。
        • QUERY

          • QUERY 用于指定过滤条件来对表数据进行导出。可选参数。

          • 语法:

            QUERY="<QUERY子句> {, <QUERY子句>}"
            <QUERY子句>::= [[schema.]table:]<where_condition>
            
            • <where_condition>:过滤条件。

            注意

            1.QUERY中指定的表对象需要在数据库对象中存在,否则报错;
            2.QUERY中对于同一个表对象不能重复指定过滤条件;
            3.指定了表对象的过滤条件为特定过滤条件,未指定表对象的过滤条件为普通过滤条件,特定过滤条件的优先级高于普通过滤条件。如果QUERY中有普通过滤条件,某一表对象有特定过滤条件,对该表只执行特定过滤条件

        • PARALLEL

          • PARALLEL 用于指定导出的过程中所使用的线程数目。可选参数。

          • 语法:

            PARALLEL=<num>
            
            • :线程数。整数类型,取值范围:1~100,默认为 16。
        • TABLE_PARALLEL

          • TABLE_PARALLEL 用于指定导出每张表所使用的线程数。可选参数。

          • 语法:

            TABLE_PARALLEL=<num>
            
            • :线程数。整数类型,取值范围:1~100,默认为 16。
        • TABLE_POOL

          • TABLE_POOL 用于设置导出过程中存储表数据的缓冲区个数。可选参数。

          • 语法:

            TABLE_POOL=<num>
            
            • :存储表数据的缓冲区个数。整数类型,取值范围:1~20,默认为 20。

            注意

            TABLE_PARALLEL 固定的情况下,导出时间随着TABLE_POOL个数的增加而减少。当TABLE_POOL稍大于TABLE_PARALLEL时结果为最优。

        • EXCLUDE

          • EXCLUDE 用来批量设置导出时忽略的对象。可选参数。

          • 语法:

            EXCLUDE=[(]<对象种类名>{,<对象种类名>}[)]EXCLUDE=TYPE: name1,name2
            或
            EXCLUDE=TYPE:cond{,TYPE:cond}
            
            • < 对象种类名 >:包括 CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS 、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES。例如:EXCLUDE=(CONSTRAINTS,INDEXES)。
            • TYPE:包括 SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。
              • 当 TYPE 为 SCHEMAS 时,忽略指定的模式,使用 SCHEMAS:INFO 格式,如果使用表级、模式级导出方式导出,则使用 SCHEMAS:INFO 格式的 EXCLUDE 无效。例如:EXCLUDE=SCHEMAS:SCH1,SCH2。
              • 当 TYPE 为 TABLES 时,忽略指定的表,使用 TABLES:INFO 格式。例如:EXCLUDE= TABLES:table1,table2。
              • 当 TYPE 为 VIEWS 时,忽略指定的视图,使用 VIEWS:INFO 格式。例如:EXCLUDE= VIEWS:view1,view2。
              • 当 TYPE 为 PROCEDURE 时,忽略指定的存储过程和存储函数。
              • 当 TYPE 为 PACKAGE 时,忽略指定的包。
              • 当 TYPE 为 SEQUENCE 时,忽略指定的序列。
            • cond:过滤条件,包括 IN、LIKE、NOT IN、NOT LIKE、BETWEEN AND、>、<、=、>=、 <=、<>、!=。

            注意

            如果导出方式为TABLES表级或SCHEMAS模式级导出时,EXCLUDE=SCHEMAS:<模式名>{,<模式名>}排除模式不起作用。

        • INCLUDE

        • INCLUDE 用来批量设置导出时包含的对象。可选参数。

        • 语法:

          INCLUDE=[(]<对象种类名>{,<对象种类名>}[)]INCLUDE=TYPE: name1,name2
          或
          INCLUDE=TYPE:cond{,TYPE:cond}
          
          • < 对象种类名 >:包括 CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS 、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES。例如:INCLUDE=(CONSTRAINTS,INDEXES)。
          • TYPE:包括 SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。
            • 当 TYPE 为 SCHEMAS 时,只导出指定的模式,使用 SCHEMAS:INFO 格式,如果使用表级、模式级导出方式导出,则使用 SCHEMAS:INFO 格式的 INCLUDE 无效。例如:INCLUDE=SCHEMAS:SCH1,SCH2。
            • 当 TYPE 为 TABLES 时,只导出指定的表,使用 TABLES:INFO 格式。
            • 当 TYPE 为 VIEWS 时,只导出指定的视图,使用 VIEWS:INFO 格式。例如:INCLUDE= VIEWS:view1,view2。
            • 当 TYPE 为 PROCEDURE 时,只导出指定的存储过程和存储函数。
            • 当 TYPE 为 PACKAGE 时,只导出指定的包。
            • 当 TYPE 为 SEQUENCE 时,只导出指定的序列。
          • cond:过滤条件,包括 IN、LIKE、NOT IN、NOT LIKE、BETWEEN AND、>、<、=、>=、 <=、<>、!=。
        • CONSTRAINTS、TABLESPACE、GRANTS、INDEXES、TRIGGERS、ROWS

          • 这些参数用来指定某类对象是否被导出。类别分别为约束、表空间、权限、索引、触发器和数据。

          • 语法:

            CONSTRAINTS = Y/N
            TABLESPACE = N/Y
            GRANTS = Y/N
            INDEXES = Y/N
            TRIGGERS = Y/N
            ROWS = Y/N
            
            • CONSTRAINTS:设置是否导出约束,可选参数。取值范围:Y/N。Y:导出约束,默认值;N:不导出约束。
            • TABLESPACE:设置是否导出表空间及导出的对象定义中是否包含表空间定义,可选参数。取值范围:N/Y。N:不包含表空间,且导出的对象定义中不包含表空间定义,默认值;Y:包含表空间,且导出的对象定义中包含表空间定义。
            • GRANTS:设置是否导出权限,可选参数。取值范围:Y/N。Y:导出权限,默认值;N:不导出权限。
            • INDEXES:设置是否导出索引,可选参数。取值范围:Y/N。Y:导出索引,默认值;N:不导出索引。
            • TRIGGERS:设置是否导出触发器,可选参数。取值范围:Y/N。Y:导出触发器,默认值;N:不导出触发器。
            • ROWS:设置是否导出数据,可选参数。取值范围:Y/N。Y:导出数据,默认值;N:不导出数据。
        • NOLOGFILE

          • NOLOGFILE 用于设置是否使用日志文件。可选参数。

          • 语法:

            NOLOGFILE=Y/N
            
            • Y:不使用。
            • N:使用,默认值。

            建议:一旦设置NOLOGFILE=Y不使用日志文件。此时即使存在LOG参数,LOG参数也为无效。

        • NOLOG

          • NOLOG 设置屏幕上是否显示日志信息。可选参数。

          • 语法:

            NOLOG=Y/N
            
        • LOG_WRITE

          • LOG_WRITE 用于日志信息实时写入日志文件。可选参数。

          • 语法:

            LOG_WRITE=Y/N
            
            • Y:一边将日志内容打印到屏幕上,一边将日志内容写入日志文件。
            • N:日志内容先在屏幕上全部打印完毕再写入日志文件,默认值。
        • DUMMY

          • DUMMY 用于设置交互信息处理。可选参数,默认使用 P 打印交互信息。

          • 语法:

            DUMMY=P/Y/N
            
            • P:打印交互信息,默认方式。当导出文件已存在的时候,提供是否覆盖交互界面。
            • Y:不打印交互信息,所有交互都按 YES 处理。
            • N:不打印交互信息,所有交互都按 NO 处理。
        • PARFILE

          • PARFILE 用于将常用的参数设置保存到文件中,然后使用参数文件 PARFILE 进行导出、导入操作。可选参数。

          • 语法:

            PARFILE=<path>
            
            • :PARFILE 文件的绝对路径。
        • FEEDBACK

        • FEEDBACK 用来指明在导出数据的过程中每间隔多少行打印一次进度信息。可选参数。

        • 当参数默认时,默认为 0,只打印导出表的总行数。

        • 语法:

          FEEDBACK=<num>
          
          • :表间隔的行数。正整数。默认为 0,只打印导出表的总行数。
        • COMPRESS

        • COMPRESS 指定是否压缩导出文件。可选参数。默认为不压缩。

        • 语法:

          COMPRESS=Y/N
          
        • COMPRESS_LEVEL

          • COMPRESS_LEVEL 指定导出数据压缩等级。仅当 COMPRESS=Y 时有效。

          • 语法:

            COMPRESS_LEVEL=<num>
            
            • :压缩等级,整数类型,取值范围 0~9,默认为 1。数值越大,压缩等级越高,压缩比例越高,0 表示不压缩。
        • ENCRYPT、ENCRYPT_PASSWORD、ENCRYPT_NAME

          • 这三个参数用来设置导出文件加密。可选参数。

          • 语法:

            ENCRYPT=Y/N
            ENCRYPT_PASSWORD=<加密密钥>
            ENCRYPT_NAME=<加密算法>
            
            • ENCRYPT:设置导出文件加密。N:不开启导出文件加密,默认值;Y:开启导出文件加密。如果设置
            • ENCRYPT=Y,那么默认 COMPRESS=Y,先压缩后加密。
            • ENCRYPT_PASSWORD=<加密密钥>:设置加密密钥。支持最大长度为 255。
            • ENCRYPT_NAME=<加密算法>:设置加密算法。默认为 RC4。
        • FILESIZE

          • FILESIZE 用于指定单个导出文件(FILE)大小或日志文件(LOG)大小的上限。可以按字节[B]、K[B]、M[B]、G[B]的方式指定大小。可选参数。

          • 使用 FILESIZE 参数时,FILE(或 LOG)必须使用 %U 对名称进行自动扩展,否则报错。如果不指定 FILE(或 LOG),那么即使设置了 FILESIZE 也不起作用。

          • 语法:

            FILESIZE=<num>
            
            • :单个导出文件上限。整数类型,取值范围:128M~系统最大值。
        • FILENUM

          • FILENUM 用于指定一个模板导出文件的个数。范围为 1~99,默认为 99。可选参数。
        • DROP

          • DROP 用于设置导出后是否删除原表。可选参数。

          • 语法:

            DROP=Y/N
            
        • DESCRIBE

        • DESCRIBE 用于设置导出数据文件的描述信息,记录在数据文件中。可选参数。

        • 语法:

          DESCRIBE=’字符串’
          
          • 字符串:设置导出数据文件的描述信息,记录在数据文件中。
        • CTRL_INFO

          • CTRL_INFO 控制信息。可选参数,默认为 0。

          • 语法:

            CTRL_INFO=[n]
            
            • n 取值为整型数值。
            • 1:控制分区表约束在表定义导出。
            • 0:分区表约束分开导出。
        • FLASHBACK_SCN

          • FLASHBACK_SCN 用于指定导出表数据的闪回 LSN。可选参数。

          • 语法:

            FLASHBACK_SCN=LSN
            
            • LSN:可以通过查询动态视图 V$ R L O G 或 V RLOG 或 V RLOGVLSN_TIME 来确定。
        • FLASHBACK_TIME

          • FLASHBACK_TIME 用于指定导出表数据的闪回时间。可选参数。

          • 语法:

            FLASHBACK_TIME="time_exp"
            
            • time_exp:时间字符串。
        • COL_DEFAULT_SEPARATE

          • COL_DEFAULT_SEPARATE 用于设置是否单独导出列默认值。可选参数。

          • 语法:

            COL_DEFAULT_SEPARATE=Y/N
            
            • Y:单独导出列默认值,默认值。
            • N:列默认值和表定义一起导出。
        • WITH_UR

          • WITH_UR 用于设置导出数据是否允许脏读。可选参数。

          • 语法:

            WITH_UR=N/Y
            
            • N:导出表数据不允许脏读,默认值。
            • Y:导出表数据允许脏读。
        • SIMPLE_LOG

        • SIMPLE_LOG 用于设置导出日志是否只打印简要日志,简要日志只打印导出对象个数和导出表数据行数。可选参数。

        • 语法:

          SIMPLE_LOG=N/Y
          
          • N:导出日志不使用简要日志,默认值。
          • Y:导出日志使用简要日志。
        • CONFIG_FILE

          • CONFIG_FILE 用于指定局部配置文件路径,局部配置文件中可以配置导入导出默认连接串和默认密码。可选参数。

          • 语法:

            CONFIG_FILE=<path>
            
            • :局部配置文件路径。
        • HELP

          • 输入 dexp HELP 即可查看帮助信息。

          • 语法:

            ./dexp HELP
            
  • dimp逻辑导入

    dimp 逻辑导入工具利用 dexp 工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。

    • 使用dimp工具

      • dimp 工具需要从命令行启动。在 cmd 命令行工具中找到 dimp 所在安装目录/dmdbms/bin,输入 dimp 和参数后回车。

      • 语法如下:

        dimp PARAMETER=value { PARAMETER=value }
        或
        dimpdp  PARAMETER=value { PARAMETER=value }
        
        • PARAMETER:dimp 参数。其中 USERID 必须为第一个参数,其余参数之间排列顺序无影响,参数之间使用空格间隔。
        • value:参数取值。
      • 例如:采用 FULL 方式完全导入到用户名和密码为 SYSDBA,IP 地址为 192.168.0.248,端口号为 8888 的数据库。

        ./dimp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp DIRECTORY=/mnt/data/dexp LOG=db_str.log FULL=Y
        
        • 导入文件名为 db_str.dmp,导入的日志文件名为 db_str.log,路径为/mnt/data/dexp。
    • dimp参数

      • 具体参数如表所示

        在这里插入图片描述

    • dimp参数详解

      这里就只写特殊参数,具体的可以去官网https://eco.dameng.com/看

      • USERID

        • USERID 用于指定数据库的连接信息。
      • FILE

        • FILE 用于指定导入文件(可以包含路径)。导入文件是之前使用 dexp 导出的文件。

        • 语法:

          FILE=<文件>
          
        • 例:导出的文件路径为:FILE=/mnt/data/dexp/db_str.dmp

          ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log DIRECTORY=/mnt/data/dimp
          

          说明

          ​ 如果FILE指定的文件包含生成路径,则忽略DIRECTORY中的路径;
          ​ 如果FILE没有指定路径时,使用DIRECTORY中指定的路径;
          ​ 如果FILE和DIRECTORY都没有指定路径,则使用系统当前路径。

      • LOG

        • LOG 用于明确指定导入过程产生的日志文件名称(可以包含路径),可以包含多个文件,用逗号分隔。

        • 语法:

          LOG=<文件名>
          
        • 例:指定日志文件名为 db_str.log

          ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y
          DIRECTORY=/mnt/data/dimp
          

          说明

          ​ 如果LOG指定的文件包含生成路径,则忽略DIRECTORY中的路径;
          ​ 如果LOG没有指定路径时,使用DIRECTORY中指定的路径;
          ​ 如果LOG和DIRECTORY都没有指定路径,则使用FILE指定的路径。

      • DIRECTORY

        • DIRECTORY 用于指定导入文件及日志文件生成的路径。

        • 使用 dimp 工具时,DIRECTORY 为可选参数,默认导出到 dimp 所在路径。

        • 使用 dimpdp 工具时,DIRECTORY 为必选参数,并且指定的路径必须是通过 CREATE DIRECTORY 定义的目录名。

        • 语法:

          DIRECTORY=<path>
          
          • :导入文件路径和日志文件生成的路径。
      • 四种级别的导入方式

        • 针对数据库对象,有 FULL、OWNER、SCHEMAS、TABLES 四种导入方式可供选择。

          • FULL

            • FULL 方式导入整个数据库。

            • 语法:

              FULL=Y/N
              
              • 设置 FULL=Y 时指定以 FULL 方式导入整个数据库;设置 FULL=N 相当于没有设置 FULL 参数,默认为 N。
          • OWNER

            • OWNER 方式导入一个或多个用户拥有的所有对象。

            • 语法:

              OWNER=<用户名>{,<用户名>}
              
          • SCHEMAS

            • SCHEMAS 方式的导入一个或多个模式下的所有对象。

            • 语法:

              SCHEMAS=<模式名>{,<模式名>}
              
          • TABLES

            • TABLES 方式导入一个或多个指定的表或表分区。导入所有数据行、约束、索引等信息。

            • 语法:

              TABLES=[模式名.]表名[:表分区名] [, ...]
              
  • dexp和dimp应用实例

    • 完整示例(当然用的是示例,本人没这个条件,也不想搞,懒~)

      1. 环境准备

        • 导出库:环境为 linux,服务器为 192.168.0.248,用户名和密码均为 SYSDBA。导出的是 DM 数据库系统安装时自带的名为 BOOKSHOP 的示例库,端口号 5236。
        • 导入库:环境为 linux,服务器为 192.168.0.248,用户名和密码均为 SYSDBA。准备一个空数据库作为导入库,端口号为 8888。
      2. dexp导出

        • 导出数据库的所有对象(FULL=Y),导出文件为 dexp01.dmp,导出日志为 dexp01.log,导出文件和日志文件都存放在/emc_2/data/dexp 目录中。

          ./dexp SYSDBA/SYSDBA\@192.168.0.248:5236 FILE=dexp01.dmp LOG=dexp01.log DIRECTORY=/emc_2/data/dexp FULL=Y
          
      3. dimp导入

        • 导入 SYSDBA、OTHER、PERSON 模式中的数据(SCHEMAS=SYSDBA,OTHER,PERSON),导入文件就是上一步导出的文件 dexp01.dmp,导入日志 dimp02.log 放入/emc_2/data/dimp 目录中。

          ./dimp SYSDBA/SYSDBA\@192.168.0.248:8888 FILE=/emc_2/data/dexp/dexp01.dmp
          LOG=dimp02.log DIRECTORY=/emc_2/data/dimp SCHEMAS=SYSDBA,OTHER,PERSON
          
      4. 查看LOG日志

        • 详细的统计信息,可以查看日志dexp01.log和dimp02.log

总结

  • 本章主要是讲的三个工具的使用。DM数据库提供上面三种工具,在进行数据导入导出和SQL脚本等应用上有了更方便地方式。
  • 应该不会有很多人看上面那一大堆参数,其实我觉得不一定非要每个参数都知道都了解,只要在遇到相关问题时知道从哪里可以找到相关参数,找到解决方法就好。

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值