拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. 技术学习系列
  3. WERN_ORACLE培训
  4. 正文

第27部分 oracle11g的逻辑备份恢复-exp,imp

2020年4月17日 1036点热度 0人点赞 0条评论

目录

  • 一、目标
  • 二、备份与恢复简介
    • 1、备份是数据库中数据的副本
    • 2、Oracle数据库的备份包括以下两种类型:
  • 三、故障类型
    • 1、导致数据库操作中止的故障包括四种类型:
    • 2、故障举例
  • 四、传统的导出和导入实例程序
  • 五、传统的导出和导入实例程序特点
  • 六、导出和导入数据库对象的四种模式
  • 七、如何调用导出和导入实用程序[三种方式]
    • 1、交互提示符:
    • 2、命令行参数:
    • 3、参数文件:
  • 八、命令行参数方式——导出举例、导入举例
    • 1、创建表、约束、索引
    •  2、导出举例
      • (1)【表模式】——导出Scott的address和student表
      • (2)【用户模式】——导出scott的所有对象【owner=scott]
      • (3)数据库模式【full=y的情况】
      • (4)表空间模式
    • 3、导入举例
      • (1)导入自己的表
      • (2)导入别人的表(test导入scott的表)
      • (3)test导入scott的数据后,再次导入,
  • 九、交互提示符方式
    • 1、导出举例
    • 2、导入举例
  • 十、参数文件方式——导出,导入
    • 1、导出举例
  • 十一、可传输表空间
    • 1、 使用流程:
      • (1)检查要传输的表空间是否是自包含的。
      • (2)将表空间设置成只读。
      • (3)exp进行可传输表空间模式的导出。
      • (4)将导出文件和数据文件复制到目标数据库上。
      • (5)目标数据库上,imp进行可传输表空间模式的导入。
      • (6)目标数据库上,把表空间设置成读写状态。
    • 2、举例:
      • (1)SYSTEM创建表空间
      • (2)scott创建下表
      • (3)将表空间设置成只读。
      • (4)exp进行可传输表空间模式的导出。
      • (5)将导出文件和数据文件复制到目标数据库上。【两个库位于不同计算机上】
      • (6)目标数据库上,imp进行可传输表空间模式的导入【使用as sysdba】。
      • (7)目标数据库上,把表空间设置成读写状态。

一、目标

1、了解数据库备份与恢复的基础知识

2、理解在Oracle 环境中可能发生的故障类型

3、掌握传统的导出和导入程序exp/imp

4、掌握可传输表空间的操作方法

5、掌握oracle11g的逻辑泵的使用,重要参数的举例说明

6、了解exp/imp和数据泵(expdp,impdp)的区别

7、掌握针对不同的生产环境而采取的逻辑备份的方法

二、备份与恢复简介

1、备份是数据库中数据的副本

它可以保护数据在出现意外损失时最大限度的恢复。

2、Oracle数据库的备份包括以下两种类型:

    (1)物理备份是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等关键物理文件)的备份——RMAN【非关键的不备份参数文件、密码文件、归档日志文件】

    (2)逻辑备份是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份——imp,exp,impdp,expdp

三、故障类型

1、导致数据库操作中止的故障包括四种类型:

    (1)语句故障:在执行 SQL 语句无效可导致语句故障。

    (2)用户进程故障:当用户程序出错而无法访问数据库时发生用户进程故障。导致用户进程故障的原因是异常断开连接或异常终止进程。

    (3)实例故障:当 Oracle 的数据库实例由于硬件或软件问题而无法继续运行时,就会发生实例故障。

    (4)介质故障:在数据库无法正确读取或写入某个数据库文件时,会发生介质故障 

2、故障举例

    (1)语句故障:select * from aa;——【无此aa表时,会出现故障】,此种故障,oracle会自动处理,不需要进行其他处理

    (2)用户进程故障:用户与服务器进行连接,用户端(死机,用户进程消失了等)突然出现问题——服务器进程会自行终止,oracle会自动处理【PMON进程介入处理】,不需要进行其他处理

    (3)实例故障:oracle服务器端死机了,坏掉了,【内存进程+后台进程】————通过重启ORACLE服务,即可解决实例故障,不需要进行其他处理

    (4)介质故障:硬盘坏掉了,导致数据文件丢失了,或者不能使用了;写入数据时,直接断电,导致日志文件校验不一致,数据无法正常重启,需要人工干预处理。

四、传统的导出和导入实例程序

1、传统的导出导入程序用于实施数据库的逻辑备份和恢复

2、导出程序将数据库中的对象定义和数据备份到一个操作系统二进制文件中

3、导入程序读取二进制导出文件并将对象和数据载入数据库中

4、传统的导出导入程序是客户端工具,数据也在客户端。

五、传统的导出和导入实例程序特点

1、可以按时间保存表结构和数据

2、允许导出指定的表,并重新导入到新的数据库中

3、可以把数据库迁移到另外一台异构服务器上

4、在两个不同版本的Oracle数据库之间传输数据

5、在联机状态下进行备份和恢复

6、可以重新组织表的存储结构,减少链接及磁盘碎片【降低表的HWM(高水位线),通过导出、导入】

六、导出和导入数据库对象的四种模式

1、数据库模式:导出和导入整个数据库中的所有对象

2、表空间模式:导出和导入一个或多个指定的表空间中的所有对象

3、用户模式:导出和导入一个用户模式中的所有对象

4、表模式:导出和导入一个或多个指定的表或表分区

七、如何调用导出和导入实用程序[三种方式]

使用以下三种方法调用导出和导入实用程序:

1、交互提示符:

    以交互的方式提示用户逐个输入参数的值。

2、命令行参数:

在命令行指定执行程序的参数和参数值。

3、参数文件:

允许用户将运行参数和参数值存储在参数文件中,以便重复使用参数

八、命令行参数方式——导出举例、导入举例

1、创建表、约束、索引

create table student(sno int,sname varchar2(10),sage int,constraint pk_sno primary key(sno));

insert into student values(1,'TOM',21);
insert into student values(2,'Kite',22);
insert into student values(3,'Bob',23);
commit;

create index ind_stu_sname on student(sname);
alter table student add constraints con_sage check(sage>7);

create table address(sno int,zz varchar2(10));
insert into address values(1,'郑州');
insert into address values(2,'洛阳');
commit;

create index ind_add_sno on address(sno);
alter table address add constraints con_zz check(length(zz)>1);

 2、导出举例

(1)【表模式】——导出Scott的address和student表

exp scott/scott@orcl tables=student,address file=/data/imptable.imp log=/data/imptable.log——导出自己的表
exp system/oracle tables=scott.student file=/data/imptable2.imp log=/data/imptable2.log——导出其他用户的表【需要导出用户表的权限】

image.png

image.png

(2)【用户模式】——导出scott的所有对象【owner=scott]

exp scott/scott owner=scott file=/data/scott2.dmp log=/data/scott2.log——导出自己
exp system/oracle owner=scott file=/data/scott5.dmp log=/data/scott5.log——导出其他用户

image.png

image.png

注:模式之间不能同时进行,比如1和2中,用户模式和表模式不能同时进行,如下错误:

exp scott/scott owner=scott tables=student file=/data/scott2.dmp log=/data/scott2.log

image.png

(3)数据库模式【full=y的情况】

exp system/oracle  file=/data/fulldatabase.dmp log=/data/fulldatabase.log full=y

(4)表空间模式

exp system/oracle tablespaces=users file=/data/tablespace.dmp

image.png

3、导入举例

(1)导入自己的表

    exp scott/scott tables=student,address file=/data/scott1.dmp

    imp scott/scott file=/data/scott1.dmp——导入整个scott用户对象

    imp scott/scott fiel =/data/scott1.dmp tables=student——导入scott的student表

(2)导入别人的表(test导入scott的表)

    [oracle@localhost ~]$ exp scott/scott tables=student,address file=/data/scott_table2.dmp log=/data/scott_table.log

情景一:scott自己不能导出到给其他用户 ×

 imp scott/scott file =/data/scott_table2.dmp tables=student fromuser =scott touser=test ——test导入scott的student表

情景二:其他用户(test),可以用scott用户导出的文件,导入到自己用户中 √

imp test/test file =/data/scott_table2.dmp tables=student fromuser =scott touser=test ——test导入scott的student表

情景三:system用户,可以将scott导入到其他用户中 √

imp system/oracle file =/data/scott_table2.dmp tables=student fromuser =scott touser=test ——test导入scott的student表

(3)test导入scott的数据后,再次导入,

 是否可以?提示已经存在。可以通过ignore进行忽略

imp test/test file =/data/scott_table2.dmp tables=student fromuser =scott touser=test

image.png

imp test/test file =/data/scott_table2.dmp tables=student fromuser =scott touser=test ignore=y

image.png

——【】因为没有唯一性约束条件,所以,可以无限次导入,如果有主键存在,有了唯一性约束条件,则会提示无法导入

image.png

九、交互提示符方式

1、导出举例

通过exp后,进行交互式提示符输入,进行导出

image.png

2、导入举例

image.png

十、参数文件方式——导出,导入

1、导出举例

    新建一个文件:pra.txt

userid=scott/scott@orcl
tables=student
file=/data/scott-par.exp

 image.png

image.png

十一、可传输表空间

1、 使用流程:

如果迁移的数据量很大,可以使用可传输表空间:【源端库orcl的表空间1,到目的库orcl1的表空间tb1】

(1)检查要传输的表空间是否是自包含的。

    t表在tb1中,如果t创建了一个索引,放在tb2中,tb1中未包含t表的索引,那么tb1就不是自包含,这种情况下,不能使用可传输空间

    检查dbms_tts.存储过程 检查表空间是否是自包含

(2)将表空间设置成只读。

(3)exp进行可传输表空间模式的导出。

(4)将导出文件和数据文件复制到目标数据库上。

(5)目标数据库上,imp进行可传输表空间模式的导入。

(6)目标数据库上,把表空间设置成读写状态。

2、举例:

(1)SYSTEM创建表空间

SQL> create tablespace tb1 datafile '/data/u01/app/oracle/oradata/orcl/tb01.dbf' size 10m;

(2)scott创建下表

SQL> create table t tablespace tb1 as select * from all_tables;

(3)将表空间设置成只读。

alter tablespace tb1 read only

(4)exp进行可传输表空间模式的导出。

exp \'system/oracle as sysdba\' tablespaces=tb1 transport_tablespace=y file=/data/exp_tb1.dmp

image.png

(5)将导出文件和数据文件复制到目标数据库上。【两个库位于不同计算机上】

(6)目标数据库上,imp进行可传输表空间模式的导入【使用as sysdba】。

imp \'system/oracle as sysdba\' tablespaces=tb1 transport_tablespace=y file=/data/exp_tb1.dmp datafiles=

(7)目标数据库上,把表空间设置成读写状态。

SQL> alter tablespace tb1 read write;



本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2020年4月22日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号