Oracle备份与还原(Expdp/Impdp)

  1. 运行cmd;
  2. 登陆数据库,输入命令:sqlplus 用户名/密码;
  3. 建立目录对象:
    在建立目录对象前查询是否存在目录对象,若存在则不需要创建:
    select * from ALL_DIRECTORIES;
    若不想要自己所创建的目录对象可删除:
    drop DIRECTORY目录对象名;
    create directory dir as ‘D:\dir’; –建立目录对象()
  4. 导入导出操作授权:
    Grant read,write on directory dir to 用户名;
  5. 退出:exit;
    参数介绍:
    1.attach
    用于在客户会话与已存在的作业建立联系
    attach=[schema_name.]job_name
    查看job_name : SELECT * FROM DBA_DATAPUMP_JOBS
    2.compression 11g
    用于指定导出时要压缩的数据,默认metadata_only
    compression={all| data_only |metadata_only | none}
    all 压缩元数据和对象数据 data_only 只压缩对象数据 metadata_only 只压缩元数据 none 不压缩任何数据
    3.content
    指定要导出的内容, 默认 all
    content={all | data_only | metadata_only }
    all 对象结够及数据 data_only 表示导出数据 metadata_only 只导出对象结构
    4.data_options 11g
    用于为某些类型的数据提供选项11g xnl_clobs
    5.directory
    指定转储文件的目录
    directory=directory_object
    6.dumpfile
    指定转储文件的名称
    dumpfile=[directory_object:]file_name[,…..]
    7.encryption
    是否加密导出数据 默认none
    encryption={all | data_only |metadata_only | encrypted_columns_only | none}
    all 对象和元数据 data_only 对象加密 metadata_only 元数据加密 encryption_columns_only 只加密加密列 none 不加密
    8.encryption_algorithm
    加密算法 默认aes128
    encryption_algorithm= {aes128 | aes 192 | aes 256}
    9.encryption_mode
    加密和解密所使用的安全类型
    encryption_mode={dual | password |transparent }
    dual 表示用 oracle wallet 或指定口令建立导出文件password 指定口令建立导出文件 transparent oracle wallet建立导出文件
    10.encryption_password
    指定加密和解密口令 encryption_password=password
    11.estimate
    估计被导出表所占用的磁盘空间的方法 默认:blocks
    estimate={blocks |statistics}
    blocks 安照目标对象所占用的数据块个数乘以数据块的尺寸估计对象占用的空间, statics 安装最近的统计值估算对象占用的表空间
    12.estimate_only
    用于指定是否估算导出作业所占的磁盘空间,默认值为N
    estimate_only={Y|N}
    13.EXCLUDE
    用于指定导出时的排出对象类型或相关对象。
    exclude=object_type[:name_clause][,….]
    object_type 对象类型,name_clause 指具体对象
    14.filesize
    导出文件的大小 默认0 无限制
    filesize=integer [ B | K |M |G]
    15.flashback_scn
    用于指定特殊的scn点的表
    flashback_scn=scn_value
    16.flashback_time
    用于定导出特定时间点的表数据
    flashback_time=“TO_TIMESTAMP(time-value)”
  6. full
    导出数据库 默认N
    full={y|n}
    18.help
    显示信息help=y
    19.include
    指定导出时包含的对象类型及相关对象
    include=object_type [:name_clause] [,….]
    20.job_name
    指定作业的名称 默认 sys_xxx
    job_name=jobname_string
    21.logfile
    指定导出日志的名称:
    logfile=[directory_object:]file_name
    22.network_link
    指定数据库链名。 远程到本地必须设置
    network_link=source_database_link
    用于指定数据库的链名 不可导出远程的对象表 需要本地有数据库 数据库 内建立 dblink 和 directry路径
    23.nologfile
    禁止生产导出日志 y|n
    24.parallel =integer
    操作并行进程数 一般是cpu的2倍 可以被文件个数整除
    25.parfile
    指定导出的参数文件的名称。
    parfile=[directory_path]file_name
    26.query
    该参数过滤导出数据的where条件。
    query=[sehema.][table_name:] query_clause
    query_clause 用于指定语句 不可与 content=metadata estimate_only transport_tablespaces 同时使用。 query=“where deptno=10”
    27.remap_data
    用于转换列的数据函数, 并将转换值导出到文件中
    remap_data=[schema1.]tablename.column_name:[schema2.]pkg.func
    28.reuse_dumpfiles Y|N
    覆盖已处在的导出文件,默认N
    29.SAMPLE
    用于指定被采样数据块的百分比
    sample=[[schema_name.]table_name:]sample_percent (采用比率)
    30.schemas
    用于指定特定方案,默认当前用户
    31.status
    显示当前导出作业进程的详细状态 默认为 0 时间将为 秒
    32.tables
    导出的表
    tables=[schema_name.]table_name[:partition_name][,……] partition_name 分区名
    33.tablespaces
    导出表空间
    34.transport_full_check Y|N
    用于指定被搬移表空间和未搬移表空间的关联关系 默认N 当 Y导出作业检查表空间 之间是完整的关联关系,当个会报错 表表空间 和表的索引表空间 同时搬移才会成 功 N 表可以成功 索引不可成功
    35.transport_tablespaces
    用于指定搬移的的表空间
    36.version
    用于指定被导出对象的数据库版本 默认 compatible
    version={compatable | latest |version_string}
    compatible 根据compatible参数生成对象 latest 根据数据库的实际版本 version_string 指定数据库版本(>9.2)
    37.table_exists_action:
    skip 是如果已存在表,则跳过并处理下一个对象;append是为表增加数据;truncate是截断表,然后为其增加新数据;replace是删除已存在表,重新建表并追加数据

开始数据库导出:
(1) 导出表:
Expdp system/newoa directory =dir dumpfile =newoa.dmp tables =emp;
(2) 导出方案:
Expdp system/newoa directory =dir dumpfile =newoa.dmp schemas =newoa;
(3) 导出表空间:
Expdp system/newoa directory =dir dumpfile =newoa.dmp tablespaces =newoa;
(4) 导出数据库:
Expdp system/newoa directory =dir dumpfile =neowa.dmp full =y;
开始还原数据库:
(1) 导入表:
Impdp system/newoa directory=dir dumpfile=newoa.dmp tables=emp;
注意,如果将表导入其他方案中,必须指定REMAP_SCHEMA选项
Eg: Impdp system/newoa directory=dir dumpfile=newoa.dmp tables=emp REMAP_SCHEMA=system:test;
(2) 导入方案:
Impdp system/newoa directory=dir dumpfile=newoa.dmp schemas=newoa;
导入其他方案同上
(3) 导入表空间:
Impdp system/newoa directory=dir dumpfile=newoa.dmp tablespaces=newoa;
(4) 导入数据库
Impdp system/newoa directory=dir dumpfile=newoa.dmp full = y;
异机备份还原:
remap_tablespace=源:目标
remap_schema=:源:目标

expdp newoa/newoa@//192.168.1.172/orcl schemas=newoaln directory=dir dumpfile=ln.dmp

impdp system/newoa@//192.168.1.172/orcl directory=dir dumpfile=LN.DMP table_exists_action=replace remap_tablespace=LNOA:TEST remap_schema=LNOA:TEST

你可能感兴趣的:(Oracle)