• 第20章 数据的移动


    1. Oracle导出程序从oracle数据库中抽取数据,之后将这些数据存在二进制格式的操作系统文件中。这种格式的数据文件只有导入程序能够读取,导入程序将其中的数据装入oracle数据库。

    2. 利用导出应用程序,可以使用以下的方式进行数据的导出:

      1)表方式:只导出某一用户下制定的表,而不是导出该用户所有的表。赋予权限的用户可以导出其他用所拥有的表;

      2)用户方式:导出某一用户下所有的对象。赋予权限的用户可以导出其他用户所拥有的所有对象;

      3)表空间方式:导出指定表空间中所有的对象;

      4)全库方式“可以导出整个数据库中所有的对象,但并不包括sys用户中的对象,数据字典无法导出;

    3. 利用导入应用程序,可以使用以下的方式进行数据的导入:

      1)表方式;

      2)用户方式;

      3)表空间方式;

      4)全库方式;

    4. 获取有关目录对象全部信息

      select * from dba_directories;

     1)将目录DATA_PUMP_DIR的读权限和写权限授予scott用户

      grant read,write on directory data_pump_dir to scott;

     2)利用数据泵导出数据

      a)创建导出参数文件 scott_par.txt

        directory=data_pump_dir -- 存放导出文件的目录为data_pump_dir所以定的操作系统目录

        table=(emp,dept)            -- 要导出的表为emp和dept

        dumpfile=scott.dmp        -- 导出操作系统文件的名

        query=scott.emp:"where job<>'ANALYST' and sal >1250 " -- 只输出某个表中满足某些特定条件的数据的子集

      b)导出scott用户emp和dept表

        expdp scott/tiger@kxbin parfile=scott_par.txt

      c)导入scott用户emp和dept表

        impdp scott/tiger@kxbin parfile=scott_par.txt

    注意:expdp-help和impdp -help获得帮助信息

    5. 不同用户及不同表空间之间数据的移动

    1). 使用数据泵进行数据导出的准备工作,将参数保存在一个名为exp_par.txt的正文参数文件

      directory=data_pump_dir   -- 导出的二进制物理文件存在data_pump_dir对象所定义的操作系统目录中

      schemas=scott                   -- 导出scott用户下的对象

      dumpfile=schema_scott.dat  -- 导出的二进制物理文件名为schema_scott.dat

      exclude=package                -- 不导出package(软件包)

      exclude=view                     -- 不导出view

      exclude=table:"like '%dump' "  --不导出dump结尾的表

    注意:include含义是包含,与exclude互斥,即二者只能用其一

    2). 导出命令

      expdp system/manager@kxbin parfile=exp_par.txt

    3). 使用数据泵进行数据导入的准备工作,将参数保存在一个名为imp_par.txt的正文参数文件

      directory=data_pump_dir          --  导入的二进制物理文件存在data_pump_dir对象所定义的目录中

      dumpfile=schema_scott.dat       -- 导入的二进制物理文件名为schema_scott.dat

      remap_schema=scott:xiaoming  -- 将文件中原来scott用户下的所有对象导入xiaoming用户中

      remap_tablespace=users:xiaoming  --将文件中原来存在于users表空间的所有对象导入到xiaoming表空间中

    4). 导入命令

      impdp system/manager@kxbin parfile=imp_par.txt;

    6. 将Oracle的数据传给其他软件(EXCEL)

      1)创建emp.sql文件

        set line 120

        set pagesize 100

        set feedback off

        spool d:\excel\emp

        select * from emp;

        spool off

      2)登录scott用户

        sqlplus scott/tiger@kxbin

      3)执行sql

        @d:\orcl\mgt\emp.sql -- 执行完毕后会生成emp.lst的正文文件

      4)打开EXCEL文件,将数据导入Excel文件中

        

    7. 数据泵操作的自动化

      1)创建一个名为data_dump的directory对象,该目录用来存放导出的数据文件

        create directory data_dump as 'd:\orcl\mgt\exportdump';

      2)创建名为log_dump的directory对象,用来存放导出数据时生成的日志文件

        create directory log_dump as 'd:\orcl\mgt\exportdump';

      3)将data_dump和log_dump目录对象的读写权限授予xiaoming用户

        grant read,write on directory data_dump to xiaoming;

        grant read,write on directory log_dump to xiaoming;

      4)查看

        select * from dba_directories;

      5)创建xiaoming_par.txt

        directory=data_dump

        schemas=xiaoming

        dumpfile=schema_xiaoming.dat

        exclude=package

        exclude=view

        exclude=procedure

        exclude=function

        exclude=index:"like 'PK_%' "
      6)创建bat文件

        D:\oracle\product\11.2.0\dbhome_1\BIN\expdp xiaoming/xiaoming@kxbin parfile=d:\orcl\mgt\xiaoming_par.txt

  • 相关阅读:
    mapreduce深入剖析5大视频
    深入理解Apache Flink
    什么是Apache Flink
    Hadoop IO
    HDFS操作及小文件合并
    HDFS分布式文件系统
    hbase 核心知识
    机器学习--简单神经网络
    Hbase访问方式
    LeetCode 167. Two Sum II
  • 原文地址:https://www.cnblogs.com/kangxuebin/p/2886668.html
Copyright © 2020-2023  润新知