热备份:
不停数据库,一定范围内(内存写满后,用户操作挂起),不影响用户使用。
数据库开着,时刻变化,因此热备份通过以下手段保持一致性:
1、开启归档
2、备份前,通知数据库,把文件锁定,在备份未完成前,不操作这个数据文件(不写脏块)

备份数据文件:
SQL> conn / as sysdba
SQL> alter database begin backup; #数据库所有的数据文件SCN就会固定,DBW进程不会写脏块,即使内存不够用,会让用户等待。如果备份需要几个小时,日志很快就会写满。日志很快就会切换,不归档日志,就会造成数据丢失。所以要开归档,并锁定数据文件,在备份复制。
SQL> @check
SQL> !cp -v /data/oracle/oradata/orcl/*.dbf /u02/hotbak #复制数据文件
SQL>alter database end backup; #备份完了,及时告诉数据库,数据文件不再锁定,这样DBW进程就可以写脏块,清理内存空间了。

备份控制文件;
控制文件在使用时,是一直在变化的,记录最新的SCN。
热备时,因为控制文件有两个,会先锁定一个进行备份,有专用的命令,不能直接复制;
# chown -R oracle:oinstall /u02
# ls -l
drwxr-xr-x. 4 oracle oinstall 32 Nov 15 21:31 u02
# cd /u02/hotbak
SQL> alter database backup controlfile to '/u02/hotbak/control.bak'; # 用二进制方式备份,如源文件9.3M,备份后也是9.3M
Database altered.
SQL>
还有一种方式
SQL> alter database backup controlfile to trace as '/u02/hotbak/control.trace'; # 用文本方式备份,cat查看会发现里面是一些脚本,当控制文件丢失,会用这些脚本把控制文件创建出来,源文件9.3M,备份后可能就只有 6.1K。
Database altered.
SQL>

备份日志:
SQL> alter system switch logfile;
System altered.
SQL>
一般不备份,而是执行日志切换,一旦日志切换,就会自动以归档的方式备份日子。

可编写热备份脚本:
# su - oracle
# vi hotbak.sh
# cat hotbak.sh
sqlplus / as sysdba << eof
alter database begin backup;
!cp -v /data/oracle/oradata/orcl/*.dbf /u02/hotbak
alter database end backup;
alter database backup controlfile to '/u02/hotback/control.bak' reuser;
alter database backup controlfile to trace as '/u02/hotbak/control.trace' reuser;
alter system switch logfile;
alter system switch logfile;
alter system switch logfile;
alter system switch logfile;
exit
eof
$chmod u+x hotbak.sh #u代表所有者,x代表执行权限。 + 表示增加权限,chmod u+x file.sh 就表示对file.sh文件的所有者增加可执行权限.
$./hotbak.sh
备注:
备份控制文件,两个命令都可以,不放心可以两个命令都执行,用二进制方式和文本方式备份,恢复时,想用哪个就用哪个。 加resuer是覆盖的意思,如果不加,如果目录下有相同名称的文件,会提示报错,不能备份。
备份日志文件,有几组日志文件,就执行N+1次,此处有3组,所以就执行4次。

oracle 命令4 热备份的更多相关文章

  1. Oracle命令:授权-收回权限-角色

    Oracle命令:授权-收回权限-角色 oracle grant 不论授予何种权限,每条授权(grant)语句总是由三部分组成: 1) 接受者部分是准备获得权限的一个或多个用户的列表. 2)关键字权限 ...

  2. Oracle命令行中显示:ORA-04076: 无效的 NEW 或 OLD 说明

    Oracle命令行进行操作时可能出现"ORA-04076: 无效的 NEW 或 OLD 说明" 需要在条件语句中JOB前面添加“old.”即可(因为是在when条件里面,所以不用“ ...

  3. 给oracle命令的参数赋值

    ''' <summary>    '''   给oracle命令的参数赋值    ''' </summary>    ''' <param name="cmd& ...

  4. Oracle命令类别

    Oracle命令类别: 数据操纵语言:DML: select; insert; delete; update; merge. 数据定义语言:DDL: create; alter; drop; trun ...

  5. Linux下登录Oracle命令行时删除键^H解决方法

    Linux下登录Oracle命令行时删除键^H解决方法 在linux服务器下登录oracle的控制台,如果输入错误,想用删除键删除时却不能删除,输出的是^H的字符. 方法 用如下的命令可以使删除键生效 ...

  6. oracle命令

    oracle创建表空间: 1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行 2.确保路径存在,比如[D:\oracle\oradata\Oracle9i\]也就是你要 ...

  7. oracle命令识记

    连接数据库 sqlplus /nolog; conn / as sysdba; set ORACLE_SID=实例名; 查看表结构命令 select table_name from user_tabl ...

  8. oracle 命令创建用户 、授权、数据库导入、导出

    最近在使用oracle,经常要导入导出数据,命令很简单,却经常忘记,所以记下来.. drop user yfplss cascade;--登录system用户删除已存在的用户名,该用户下的所有东西都被 ...

  9. oracle命令大全

    内容包括三大项:    1.oracle基本操作语句 2.SQLServer基本操作语句 3.各种数据库连接方法 ******************************************* ...

  10. oracle命令1

    基础查询  查询当前用户 show user; 查询当前用户下的表 select * from tab; 清屏 host cls: clear; --查询所有的员工信息 select * from e ...

随机推荐

  1. 驱动开发:摘除InlineHook内核钩子

    在笔者上一篇文章<驱动开发:内核层InlineHook挂钩函数>中介绍了通过替换函数头部代码的方式实现Hook挂钩,对于ARK工具来说实现扫描与摘除InlineHook钩子也是最基本的功能 ...

  2. 统信UOS国产服务器操作系统(UOS Server 20-1060e)安装使用体验

    总体来说,UOS系统的安装还是很简明的.需要注意的是后期的驱动安装和其他各方面的使用细节. 以下是具体安装过程:(感谢统信软件河北团队的大力支持.) 特别感谢统信的郭赞.喵喵喵.Zero等各位大神的帮 ...

  3. 一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路

    市面上有很多可以被用于AI绘画的应用,例如DALL-E.Midjourney.NovelAI等,他们的大部分都依托云端服务器运行,一部分还需要支付会员费用来购买更多出图的额度.在2022年8月,一款叫 ...

  4. 即构SDK8月迭代:新增下行网络测速、切换房间、预览首帧回调等多项功能

    即构SDK8月上新,网络探测模块新增下行网络测速.媒体播放器新增缓存到文件结尾的回调.新增切换房间功能.新增预览首帧回调等.本月SDK迭代新上线的功能非常丰富,详细内容请看下文. LiveRoom 新 ...

  5. 2023-07-16:讲一讲Kafka与RocketMQ中零拷贝技术的运用?

    2023-07-16:讲一讲Kafka与RocketMQ中零拷贝技术的运用? 答案2023-07-16: 什么是零拷贝? 零拷贝(英语: Zero-copy) 技术是指计算机执行操作时,CPU不需要先 ...

  6. dash构建多页应用

    dash 构建多页面应用一种方案 本方案对dash官网多页面案例使用dash_bootstrap_components案例进行优化与测试,效果如下 项目代码结构如下 │ app.py │ ├─asse ...

  7. Ubuntu16.04配置NTP时间同步

    环境 查看系统版本:lsb_release -a 名词解释 PDT是指太平洋夏令时(Pacific Daylight Time),是美国西部地区和加拿大的一部分地区使用的时区.它位于UTC-7和UTC ...

  8. Linux 命令:lsof

    参考文档:lsof命令详解 lsof,列出系统中所有打开的文件. 各列字段意义如下: COMMAND: 进程的名称 PID: 进程标识符 USER: 进程所有者 FD: 文件描述符,应用程序通过文件描 ...

  9. javascript中的垃圾回收机制的一些知识记录

    调用栈中的数据是如何回收的 原始类型的数据会分配到栈中 引用类型的数据会被分配到堆中 在执行代码的过程中,如果遇到了一个函数,js引擎会创建该函数的执行上下文,并将该函数的上下文压入调用栈中,与此同时 ...

  10. 如何在Avalonia11中设置自定义字体

    如何在Avalonia11中设置自定义字体 由于avalonia默认的中文字体显示的效果不太理想,我们需要下载一些自定义的字体,来优化UI的显示效果.avalonia的官方文档地址. 对我在项目中运用 ...