1、物理环境准备

说明:这里的Oracle服务器是linux系统,windows系统也是一样的!!

一、冷备份

1、停止数据库

#连接数据库,用超管用户连接(默认sys)
root@ed8824e05a4c:/# sqlplus / as sysdba
Enter user-name: sys
Enter password:      //输入密码格式 '你的密码 as sysdba'
SQL> shutdown immediate  //停止数据库
Database closed.
Database dismounted.
ORACLE instance shut down.
#出现以上表明你的数据库停止成功!!

2、备份数据

#进到数据库存放的路径(我这里是/u01/app/oracle/oradata)
root@ed8824e05a4c:/u01/app/oracle/oradata# ls
XE
#拷贝数据库文件到你备份的文件夹
root@ed8824e05a4c:/u01/app/oracle/oradata# cp -r /  /BACKEUP#查看备份的文件
root@ed8824e05a4c:/# ls BACKEUP/
docker-entrypoint-initdb.d  mnt  srv  tmp  u01
#这样就备份成功了!!
#注意如果不知道存放路径可用下面命令查询(必须以超管登录)
select * from DBA_DATA_FILES;

3、启动数据库

SQL> startup
ORACLE instance started.Total System Global Area  601272320 bytes
Fixed Size                  2228848 bytes
Variable Size             188747152 bytes
Database Buffers          406847488 bytes
Redo Buffers                3448832 bytes
Database mounted.
Database opened.
#数据库启动成功!!

注意:如果是windows服务器,直接到服务里面把以Oracle开头的服务直接停止就可以了,然后直接拷贝数据库文件就可以了。

优点:简单粗暴。

缺点:需要停库影响业务,备份时间长、占用空间大。

2、数据泵备份

1、创建备份文件夹并授权

#在本地创建备份文件夹
oracle@ed8824e05a4c:~$  mkdir /u01/app/oracle/backup_data#连接数据库,用超管用户连接(默认sys)
oracle@ed8824e05a4c:~$ sqlplus / as sysdbaSQL>  create or replace directory backup as '/u01/app/oracle/backup_data'; //这个目录必须和上面那个保持一致
Directory created.
#授权
SQL> grant read,write on  directory backup to system;Grant succeeded.
#退出
SQL> exit
Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

2、开始备份

#执行备份命令
oracle@ed8824e05a4c:~$ expdp system/oracle@XE directory=backup dumpfile=beifen.dmp logfile=beifen.log full=y#说明'oracle'是我的数据库密码,你修改成你的密码。XE是我的数据库名字,你也修改成你的,备份数据文件和日志文件名字可自主命名,我这里是'beifen',但后缀必须是以.dmp和.log结尾。
#开始备份
oracle@ed8824e05a4c:~$  expdp system/oracle@XE directory=backup dumpfile=beifen.dmp logfile=beifen.log full=yExport: Release 11.2.0.2.0 - Production on Fri Dec 17 08:56:09 2021Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Starting "SYSTEM"."SYS_EXPORT_FULL_01":  system/********@XE directory=backup dumpfile=beifen.dmp logfile=beifen.log full=y
Estimate in progress using BLOCKS method...
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 161.3 MB
Processing object type DATABASE_EXPORT/TABLESPACE
Processing object type DATABASE_EXPORT/PROFILE
Processing object type DATABASE_EXPORT/SYS_USER/USER
Processing object type DATABASE_EXPORT/SCHEMA/USER
Processing object type DATABASE_EXPORT/ROLE
Processing object type DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANMaster table "SYSTEM"."SYS_EXPORT_FULL_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_FULL_01 is:/u01/app/oracle/backup_data/beifen.dmp
Job "SYSTEM"."SYS_EXPORT_FULL_01" successfully completed at 08:58:46
#查看备份数据
oracle@ed8824e05a4c:~/backup_data$ ls
beifen.dmp  beifen.log
#这就备份成功了

注意:用户不能是root,不然会报错!!

缺点:数据量大时备份时间较长。

优点:无需停库不影响业务等。

3、rman自动备份和归档日志备份

说明:rman备份前提时数据库是归档模式,若不是归档模式,则需要修改为归档模式,再进行备1份。

1、将数据库修改为归档模式

#连接数据库
oracle@ed8824e05a4c:~$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.2.0 Production on Fri Dec 17 09:08:13 2021Copyright (c) 1982, 2011, Oracle.  All rights reserved.Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit ProductionSQL>
#查看日志是否是归档模式
SQL> archive log list
Database log mode              No Archive Mode  //如果是NO Archive Mode即为非归档模式
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     10
Current log sequence           11
SQL>
#停止数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
#将数据库启动之装载状态
SQL> startup mount
ORACLE instance started.Total System Global Area  601272320 bytes
Fixed Size                  2228848 bytes
Variable Size             209718672 bytes
Database Buffers          385875968 bytes
Redo Buffers                3448832 bytes
Database mounted.
SQL>
#将日志改为归档模式
SQL> alter database archivelog;Database altered.SQL>
#打开数据库
SQL> alter database open;Database altered.SQL>
#再次查看日志是否为归档模式
SQL> archive log list
Database log mode              Archive Mode //Archive Mode即为归档模式
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     10
Next log sequence to archive   11
Current log sequence           11
SQL>

2.归档日志备份

#创建归档日志文件备份目录
oracle@ed8824e05a4c:~$ mkdir  /u01/app/oracle/archivelog/  //这是在本地创建;
#在数据库中创建备份目录,必须和本地一样
SQL> alter system set log_archive_dest_1="location=/u01/app/oracle/archivelog";System altered.
#强制归档
SQL> alter system switch logfile;System altered.#在本地查看备份的归档日志
oracle@ed8824e05a4c:~/archivelog$ ls
1_11_1000225551.dbf //这就是备份的归档日志
#这样就备份完成了。

3、设置rman自动备份

#创建备份脚本rman.sh
#!/bin/bash
rman target /  msglog /home/oracle/rman_back/rman_log.log << EOF
CROSSCHECK BACKUP;
DELETE NOPROMPT EXPIRED BACKUP;
crosscheck archivelog all;
delete noprompt expired archivelog all;
RUN {
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF  2  DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "/home/oracle/rman_back/%F";
ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT "/home/oracle/rman_back/%U";
BACKUP DATABASE SKIP INACCESSIBLE FILESPERSET 10 PLUS ARCHIVELOG FILESPERSET 20 DELETE ALL INPUT;
RELEASE CHANNEL CH1;
}
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;
exit
EOF
#添加执行权限并执行脚本
oracle@ed8824e05a4c:~$ chmod +x rman.sh
oracle@ed8824e05a4c:~$ ./rman.sh
RMAN> RMAN> RMAN> RMAN> RMAN> 2> 3> 4> 5> 6> 7> 8>
#查看日志和备份文件
oracle@ed8824e05a4c:~$ cd /home/oracle/rman_back/
oracle@ed8824e05a4c:~$ ls
030gvm9l_1_1  0b0gvqkb_1_1  0g0gvqul_1_1              rman_log.log
050gvmr1_1_1  0d0gvqtk_1_1  0h0gvquu_1_1
060gvmr2_1_1  0e0gvqtl_1_1  c-1617341554-20211217-00
090gvmts_1_1  0f0gvque_1_1  c-1617341554-20211217-01
#至此rman备份完成
#设置计划任务
oracle@ed8824e05a4c:~$ crontab -l -uoracle
00 02 * * 6  /home/oracle/rman.sh
#这里设置是每周六晚上02点执行备份,可根据自己需求自行设置!!!

          到此Oracle常用的备份方式介绍完毕,使用过程中如有问题私信!!!

常用的oracle数据库备份方式相关推荐

  1. 记录——oracle数据库备份

    oracle数据库备份 Oracle数据库的三种标准的备份方法: 1.导出/导入(EXP/IMP). 2.热备份. 3.冷备份. 注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一.导出/导 ...

  2. SQL和Oracle数据库备份

    一.引言 现如今数据的重要性不言而喻,在MES系统上线之后,客户的生产数据是重中之重的,容不得半点闪失,应该做好万全的准备,定时定点做好备份以防意外情况产生.往往因系统BUG.操作人员失手.病毒感染. ...

  3. ORACLE数据库备份

    ORACLE数据库备份 一.意义: 当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的 故障(硬件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数 ...

  4. Oracle数据导入要多久,oracle数据库备份导入要注意的几个问题

    oracle数据库备份导入要注意的几个问题 (1)oracle数据库备份的导入对数据库的版本有要求,也即源数据库(导出产生备份的数据库)的版本要和目标数据库(导入数据库)的版本一致,否则可能导致导入失 ...

  5. oracle数据备份 full,oracle数据库备份 full

    通过exp命令对Oracle数据库进行备份操作(提供两种情况的备份:备份本地,备份远程的数据库) 通过exp命令可以对Oracle数据库进行备份操作,其命令含义是:exp 用户名/密码@数据库所在ip ...

  6. Oracle数据库备份报错12514,Oracle数据库备份导出时,出错:ORA-12514

    Oracle数据库备份导出时,报错:ORA-12514 连接Oracle 10g错误:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求 解决方法: 1. 打开/network/ad ...

  7. oracle备份密码文件,[数据库]Oracle数据库备份dmp文件,使用cmd命令导入导出步骤,以及忘记Oracle密码_星空网...

    Oracle数据库备份dmp文件,使用cmd命令导入导出步骤,以及忘记Oracle密码 2013-07-30 0 dmp文件导入导出步骤 1.创建表空间 --datafile 的路径随便给,但是后面的 ...

  8. oracle出错如何备份数据,Oracle数据库备份失败, 出错代码:0xe0001402

    Oracle数据库备份失败, 出错代码:0xe0001402文章:TECH117143|创建日期: 2009-01-31|更新日期: 2009-01-24| 文章类型Technical Solutio ...

  9. Java实现Oracle数据库备份

    今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: [java] view plaincopy import java.io.File; import jav ...

  10. 基于宝塔面板的三种数据库备份方式(服务器备份,云备份,本地备份)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 基于宝塔面板的三种数据库备份方式(服务器备份,云备份,本地备份) 前言 前天也就是10月20号的时候,去河南郑州参加了第八届IHCN中 ...

最新文章

  1. 勘误《iOS网络高级编程:iPhone和iPad的企业应用开发》
  2. 听说你想去大厂看妹子,带你看看字节跳动Android开发岗面试是啥样?
  3. Netty 框架学习(二):Netty粘包和拆包
  4. db2的bufferpool不足报错的快速解决
  5. C#强力粉碎文件代码分享,升级中用到
  6. docker 网络_初探Docker的网络模式
  7. python-组合数据类型
  8. python list去重并删除某些元素_使用Python实现list(列表)中的重复元素删除,例如: X= [1,1,2,a,a,[1,2,3]] 去重后:X= 「1,2,a,[1,2...
  9. 107 岁的 IBM 以 340 亿美元吞下了 25 岁的“小”红帽!
  10. day10【过渡】分布式理论
  11. Flutter高级第6篇:事件广播 、事件监听
  12. pta 编程题10 Root of AVL Tree
  13. ssm整合:这是第三次自己整合了。特写此文章当做笔记
  14. 监控服务器说明文档,监控服务器说明文档
  15. 【matlab】:matlab中不断的出现计算过程怎么办
  16. 单模光纤和多模光纤的区别,以及作用
  17. Windows系统IPC$共享与勒索病毒
  18. 【锐捷】交换机,AC设备虚拟化(VSU、VAC)
  19. 查看支付宝所有交易记录方法
  20. 算法转 Java 后端,2021秋招斩获腾讯、京东、百度等大厂 offer 面经分享!

热门文章

  1. Bandicam v5.2.1.1860 班迪录屏绿色便携版
  2. 中青杯数学建模竞赛是什么级别的比赛_2018年中青杯全国大学生数学建模竞赛...
  3. python图片中文字识别
  4. 微波暗室——天线方向图测试
  5. 强联通分量:Tarjan缩点
  6. Cisco ❀ QinQ技术与VXLAN技术的区别
  7. 三极管导通条件与电位关系
  8. nmos和pmos导通条件
  9. 一文读懂锂电池叠片、卷绕工艺区别!
  10. 法曲率、主曲率、平均曲率和高斯曲率