oracle 命令4 热备份
热备份:
不停数据库,一定范围内(内存写满后,用户操作挂起),不影响用户使用。
数据库开着,时刻变化,因此热备份通过以下手段保持一致性:
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 热备份的更多相关文章
- Oracle命令:授权-收回权限-角色
Oracle命令:授权-收回权限-角色 oracle grant 不论授予何种权限,每条授权(grant)语句总是由三部分组成: 1) 接受者部分是准备获得权限的一个或多个用户的列表. 2)关键字权限 ...
- Oracle命令行中显示:ORA-04076: 无效的 NEW 或 OLD 说明
Oracle命令行进行操作时可能出现"ORA-04076: 无效的 NEW 或 OLD 说明" 需要在条件语句中JOB前面添加“old.”即可(因为是在when条件里面,所以不用“ ...
- 给oracle命令的参数赋值
''' <summary> ''' 给oracle命令的参数赋值 ''' </summary> ''' <param name="cmd& ...
- Oracle命令类别
Oracle命令类别: 数据操纵语言:DML: select; insert; delete; update; merge. 数据定义语言:DDL: create; alter; drop; trun ...
- Linux下登录Oracle命令行时删除键^H解决方法
Linux下登录Oracle命令行时删除键^H解决方法 在linux服务器下登录oracle的控制台,如果输入错误,想用删除键删除时却不能删除,输出的是^H的字符. 方法 用如下的命令可以使删除键生效 ...
- oracle命令
oracle创建表空间: 1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行 2.确保路径存在,比如[D:\oracle\oradata\Oracle9i\]也就是你要 ...
- oracle命令识记
连接数据库 sqlplus /nolog; conn / as sysdba; set ORACLE_SID=实例名; 查看表结构命令 select table_name from user_tabl ...
- oracle 命令创建用户 、授权、数据库导入、导出
最近在使用oracle,经常要导入导出数据,命令很简单,却经常忘记,所以记下来.. drop user yfplss cascade;--登录system用户删除已存在的用户名,该用户下的所有东西都被 ...
- oracle命令大全
内容包括三大项: 1.oracle基本操作语句 2.SQLServer基本操作语句 3.各种数据库连接方法 ******************************************* ...
- oracle命令1
基础查询 查询当前用户 show user; 查询当前用户下的表 select * from tab; 清屏 host cls: clear; --查询所有的员工信息 select * from e ...
随机推荐
- SQL 查询 总结 【行子查询 ; 列子查询 ; 表子查询 ; 自链接 ; 内连接 ;外连接 ; 无规则链接 ……】
简单介绍一下连接方式: 1.1.使用无连接规则连接两表 无限规则 也就简单的 select * from tableA , tableB 即得到一个笛卡尔积. 什么是 笛卡尔积 在 我的 另外 ...
- python笔记:第六章函数&方法
1.系统函数 由系统提供,直接拿来用或是导入模块后使用 a = 1.12386 result = round(a,2) print(result) > 1.12 2.自定义函数 函数是结构化编程 ...
- 百度Amis+React低代码实践
背景 在项目中有集成低代码平台的想法,经过多方对比最后选择了 amis,主要是需要通过 amis 进行页面配置,导出 json 供移动端和 PC 端进行渲染,所以接下来讲一下近两周研究 amis 的新 ...
- 2023年ccpc大学生程序设计竞赛-crf
第一次参加这种大型线下程序设计比赛,心情自然是很激动,但比赛中并没有想象中那么顺利,甚至可以说有些惊险,比赛开始的时候,我们三人随便看看题,顺便等着跟榜,对于签到题我们自然是相信clk可以很快地独立完 ...
- python:导入库、模块失败
一般发生在程序开始部分: from pymodbus.client.sync import ModbusSerialClient from pymodbus.payload import Binary ...
- 离线自动化部署CDH
离线CDH集群自动化部署工具 离线CDH集群安装与部署的自动化脚本工具,简单支持「离线一键装机」. 脚本将对系统配置做出一定修改,使用前请务必确认当前服务器无其他人员.任务使用,以免造成不必要的麻烦, ...
- linux 字符集与编码格式相关
字符集:多个字符的集合. # 书写系统字母与符号的集合. 字符编码:把 字符集 中的字符 编码为(映射)指定集合中的某一对象. # 以便文本在计算机中存储和通过通信网络的传递 查看文件的的编码格式 ...
- 钟表练习 html+css实现
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Golang之旅——内存管理
转载放在最前 一文带你了解,虚拟内存.内存分页.分段.段页式内存管理[Golang三关-典藏版]一站式Golang内存洗髓经 | Go 技术论坛 刘丹冰Aceld感谢以上文章作者,收获满满 存储器管理 ...
- 4、Spring之依赖注入
依赖注入就是对类的属性进行赋值 4.1.环境搭建 创建名为spring_ioc_xml的新module,过程参考3.1节 4.1.1.创建spring配置文件 <?xml version=&qu ...