重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4884|回复: 3
打印 上一主题 下一主题

[Oracle] oracle逻辑备份与物理备份详细说明

[复制链接]
跳转到指定楼层
楼主
发表于 2020-3-11 09:24:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求oracle逻辑备份与物理备份过程详细说明。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2020-3-11 09:29:02 | 只看该作者
一.Oracle逻辑备份逻辑备份优点:能够针对行对象进行备份,能够跨平台实施备份操作并迁移数据,数据库可以不关闭。逻辑备份缺点:只能恢复到备份点无法恢复到某一特定时间点。逻辑备份命令:1)create directory dump_dir as '/home/oracle/backup';  #创建目录2)grant read,write on directory dump_dir to username; #目录授权3)expdp username/password directory = dump_dir dumpfile = xxxxxx.dmp #导出用户数据。注意:EXPDP 工具只能将导出的转储文件存放在DIRECTORY 对象对应的OS 目录中,而不能直接指定转储文件所在的OS 目录。因此,使用EXPDP 工具时,必须首先建立DIRECTORY 对象,并且需要为数据库用户授予使用DIRECTORY 对象的权限。
二.Oracle物理备份物理备份优点:(理论上)可以根据日志回溯到上一秒的操作,备份恢复更为精准,而且不需要关闭数据库。物理备份缺点:过程较其他方式复杂,需要不小空间存放归档文件,操作不允许失误,否则恢复不能进行。物理备份命令:1) su – oracle2) sqlplus3) sys as sysdba4) archive log list  #查看归档状态5) shutdown immediate  #关闭数据库6) startup mount  #以mount模式启动数据库7) alter database archivelog  #开启归档日志8) alter database open   #更改数据库模式为open9) set ORACLE_SID=orcl   #设置环境变量10)      
rman target /  #rman模式11)      
CONFIGURE CONTROLFILE
AUTOBACKUP ON #配置控制文件自动备份12)      
BACKUP DATABASE INCLUDE CURRENT
CONTROLFILE FORMAT ‘/home/oracle/backup/%d_%T_%s_%p.db’  #备份数据库

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2020-3-11 11:54:46 | 只看该作者
本帖最后由 lldtk 于 2020-3-11 11:59 编辑
lldtk 发表于 2020-3-11 09:29
一.Oracle逻辑备份逻辑备份优点:能够针对行对象进行备份,能够跨平台实施备份操作并迁移数据,数据库可以 ...

逻辑备份导出、导入数据详细过程:
一:导出数据
1:在准备要备份的数据库服务器上创建备份目录(在后面使用sql命令创建的逻辑目录并不是在OS上创建目录,所以我们先要在服务器上创建一个目录)。
  su - oracle        mkdir  /home/oracle/oracle_bak

2:以管理员身份登录到sql,并创建逻辑目录。
$ sqlplus /nolog
sql>  conn sys/oracle as sysdba
sql>  create directory data_dir as '/home/oracle/oracle_bak';

3: 使用管理员用户给指定的用户赋予在该目录的操作权限(比如该用户需要备份自己的数据,如用户user)。
sql> grant read,write on directory data_dir to user;

4:导出有五种方式。
  4.1  “full=y”,全量导出数据库

    $ expdp sys/oracle@orcl  dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log

4.2 schemas 按用户导出

    $ expdp user/passwd@orcl   schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

4.3 按表空间导出

    $ expdp sys/passwd@orcl   tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

4.4 按表导出

    $ expdp user/passwd@orcl   tables=table1,table2  dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

4.5 按表导出

    $ expdp user/passwd@orcl   tables=table1='where number=123'  dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

二:导入数据
首先将需要导入的数据文件存放到需要导入的数据库服务器上
参照导出的时候的建立目录方式建立物理目录和逻辑目录(只是建目录即可,如果需要给用户权限则加上给用户权限的那步)
使用命令导入,同时,导入方式也可以分为五种,分别对应着导出的五种方式
1:“full=y”,全量导入数据库;
impdp user/passwd directory=data_dir dumpfile=expdp.dmp full=y
2:同名用户导入,从用户A导入到用户A;
impdp A/passwd schemas=A directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;
3:
①从A用户中把表table1和table2导入到B用户中;
impdp B/passwdtables=A.table1,A.table2 remap_schema=A:B directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;
②将表空间TBS01、TBS02、TBS03导入到表空间A_TBS,将用户B的数据导入到A,并生成新的oid防止冲突;
impdp A/passwd remap_tablespace=TBS01:A_TBS,TBS02:A_TBS,TBS03:A_TBS remap_schema=B:A FULL=Y transform=oid:n directory=data_dir dumpfile=expdp.dmp logfile=impdp.log
4:导入表空间;
impdp sys/passwd tablespaces=tbs1 directory=data_dir dumpfile=expdp.dmp logfile=impdp.log
5:追加数据;
impdp sys/passwd directory=data_dir dumpfile=expdp.dmp schemas=system table_exists_action=replace logfile=impdp.log; --table_exists_action:导入对象已存在时执行的操作。有效关键字:SKIP,APPEND,REPLACE和TRUNCATE

回复 支持 反对

使用道具 举报

地板
发表于 2020-3-11 23:26:32 | 只看该作者
C:\Users\laozheng>expdp hr/hr directory=expdp_dir dumpfile=hr.dmp tables=employees query='employees:where department_id=20' reuse_dumpfiles=y

Export: Release 12.1.0.2.0 - Production on 星期三 3月 11 23:25:37 2020

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
启动 "HR"."SYS_EXPORT_TABLE_01":  hr/******** directory=expdp_dir dumpfile=hr.dmp tables=employees query='employees:where department_id=20' reuse_dumpfiles=y
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 64 KB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/COMMENT
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 TABLE_EXPORT/TABLE/TRIGGER
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/MARKER
. . 导出了 "HR"."EMPLOYEES"                            9.664 KB       2 行
已成功加载/卸载了主表 "HR"."SYS_EXPORT_TABLE_01"
******************************************************************************
HR.SYS_EXPORT_TABLE_01 的转储文件集为:
  D:\ORACLE\HR.DMP
作业 "HR"."SYS_EXPORT_TABLE_01" 已于 星期三 3月 11 23:25:55 2020 elapsed 0 00:00:16 成功完成
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-30 11:28 , Processed in 0.097493 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表