oracle存档模式,Oracle的备份和存档模式
Oracle的备份和存档模式
在做硬件升级前必须要将数据库做一次全备份,以便在出现不可预料的情况下进行恢复,全备份的方法有多种,以下列举两种简单高效的逻辑备份和冷备份,在数据库可以宕机的条件下,推荐使用冷备份,备份和恢复都较为简单和安全。升级完成再将数据库更改为存档模式。一、逻辑备份(导出、导入)
1、导出工具 EXP
它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/bin。
exp导出工具将数据库中数据备份压缩成一个二进制系统文件。可以在不同OS间迁移。
它有三种模式:
a. 用户模式:导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c.
整个数据库:导出数据库中所有对象――需要DBA赋予该角色full_exp_database权限
2. exp交互式命令行方式导出
在一台能连接公安网并且已安装oracle客户端的机器上连接目标数据库
C:\Documents and Settings\yu>exp
scott/tiger@zhouyu――以有权限用户连接目标数据库
Export: Release 8.1.7.0.0 - Production on 星期五 1月 5 14:36:16
2007
(c) Copyright 2000 Oracle Corporation. All
rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
输入数组提取缓冲区大小: 4096 >
――回车或者选择较为合适的缓冲区大小
导出文件: EXPDAT.DMP>
e:\test.dmp ――指定要导出的文件在本机存放地址
(1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > E
――指定导出的模式
导出权限(yes/no):yes>――指定是否导出权限,回车默认导出
导出表数据(yes/no):yes>――指定是否导出表数据,回车默认导出
压缩区(yes/no):yes>――指定是否压缩区,回车默认压缩
3.exp非交互式命令行方式
在一台能连接公安网并且已安装oracle客户端的机器上连接目标数据库
$exp parfile=username.par
file=/directory1/username_1.dmp,/directory1/username_2.dmp
filesize=2000M log=/directory2/username_exp.log
参数文件username.par内容
userid=username/userpassword
buffer=8192000
compress=n
grants=y
说明:username.par为导出工具exp用的参数文件,里面具体参数可以根据需要去修改,具体的参数可以在查看操作系统帮助,例如windows中cmd命令行输入命令
exp -help
4.导入工具 IMP
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
imp导入工具将EXP形成的二进制系统文件导入到数据库中.
它有三种模式:
a. 用户模式:导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c. 整个数据库: 导出数据库中所有对象。
只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入
5. imp交互式命令行方式导入
在一台能连接公安网并且已安装oracle客户端的机器上连接目标数据库
C:\Documents and Settings\yu>imp scott/tiger@zhouyu
Import: Release 8.1.7.0.0 - Production on 星期五 1月 5 14:52:45
2007
(c) Copyright 2000 Oracle Corporation. All
rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 – Production
导入文件: EXPDAT.DMP>e\test.dmp
输入插入缓冲区大小(最小为 8192 ) 30720>
经由常规路径导出由EXPORT:V08.01.06创建的文件
警告: 此对象由 TEST 导出, 而不是当前用户
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
只列出导入文件的内容(yes/no):no>
由于对象已存在, 忽略创建错误(yes/no):no> yes
导入权限(yes/no):yes>
导入表数据(yes/no):yes>
导入整个导出文件(yes/no):no> yes
成功终止导入,但出现警告。
6. imp非交互式命令行方式导入
在一台能连接公安网并且已安装oracle客户端的机器上连接目标数据库
$ imp system/manager parfile=params.dat
参数文件params.dat 内容
file=dba.dmp show=n ignore=n grants=y fromuser=scott
tables=(dept,emp)
说明:
params.dat为导出工具imp用的参数文件,里面具体参数可以根据需要去修改,具体的参数可以在查看操作系统帮助,例如windows中cmd命令行输入命令
imp –help。
需要注意的问题
imp和exp使用的字符集不同,如果字符集不同, 导入会失败,
可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.导入完成后再改回来。
imp和exp版本不能往上兼容,imp可以成功导入低版本exp生成的文件,
不能导入高版本exp生成的文件。
imp全库导入需要该用户有IMP_FULL_DATABASE权限或本身为DBA用户。
二、冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。冷备份的优点是:
1.是非常快速的备份方法(只需拷贝文件)
2.容易归档(简单拷贝即可)
3.容易恢复到某个时间点上(只需将文件再拷贝回去)
4.能与归档方法相结合,作数据库“最新状态”的恢复。
5.低度维护,高度安全。
但冷备份也有如下不足:
1.单独使用时,只能提供到“某一时间点上”的恢复。
2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会比较慢。
4.不能按表或按用户恢复。
如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:
1.所有数据文件
2.所有控制文件
3.所有联机REDO LOG文件
4.Init.ora文件(可选)。
值得注意的是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的
1.以system用户登陆到数据库,执行查询,并保存查询结果。
数据文件的位置:select name from v$datafile;
控制文件的位置:select name from v$controlfile;
日志文件的位置:select member from v$logfile;
初始化参数文件initsid.ora。
2.关闭数据库
SQL>conn
sys/change_on_install@orcl as sysdba
SQL>shutdown normal;
3.按照第一步查询结果,使用操作系统命令,拷贝文件至要备份路径或磁盘。完成备份
4.重启oracle数据库
SQL>conn
sys/change_on_install@orcl as sysdba
SQL >startup;
三、更改oracle为归档模式
在默认情况下,在创建数据库的时候,它处于NOARCHIVE模式,也就是非归档模式,非归档模式不必考虑存储复制的文件所需要的额外存储空间,也不需要存档管理任务,但是,从备份和恢复的角度来看,最大的缺点就是在出现硬件故障的时候,在最后一次数据库备份之后的任何更改都将丢失。这对于总队数据库来说是不可以接受的。所以需要在硬件升级的同时,将数据库更改为归档模式,以便在出现故障时对数据库进行恢复。
1.确定存档模式
在更改数据库存档模式之前,首先需要做的就是确定当前的模式。
通过SQL*PLUS来确认
连接目标数据库
SQL> conn ntiis/ntiisadmin@work60
已连接。
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG ――确认为非归档模式
2.更改数据库参数文件
修改数据库参数文件/ORACLE_HOME/admin/pfile/init.ora
取消以下语句的#注释
log_archive_start = true
log_archive_dest_1 =
"location=/ORACLE_HOME/oradata/oradb/archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
关闭数据库,重新启动
3.连接至总队数据库,确认更改生效
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
SQL> connect internal
连接成功。
SQL> startup
已启动 ORACLE 实例。
系统全局区域合计有 57124108个字节
Fixed Size 70924个字节
Variable Size 40198144个字节
Database Buffers 16777216个字节
Redo Buffers 77824个字节
已装入数据库。
数据库已打开。
SQL> alter system switch logfile;
--强制系统进行日志切换,可马上观察到归档日志的产生
语句已处理。
查看C:\Oracle\oradata\oradb\archive目录下,可以看到类似ORADBT001S01201.ARC的文件,说明归档成功
4.解释init.ora参数文件中关于归档重做日志参数项的含义
归档模式是自动还是手工,true为自动,false为手工
log_archive_start = true
归档日志文件所保存的路径
log_archive_dest_1 =
"location=C:\Oracle\oradata\oradb\archive"
归档日志文件的命名方法
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
oracle存档模式,Oracle的备份和存档模式相关推荐
- oracle存档模式,oracle归档模式管理
很少看到production DB是处于非归档模式的,Oracle中的一些重要特性只能当数据库处于归档模式时才能使用,例如Flashback Database,PITR恢复等,归档模式下,用户的数据在 ...
- oracle非归档模式下如何备份,Oracle之RMAN数据库在非归档模式下的备份和恢复
1.数据库在非归档模式下的备份 SQLgt; archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FIL 1.数据库在非归档模式下的备份 ...
- Oracle的奇葩设置之非归档模式与RMAN备份
数据库归档模式与RMAN备份策略是保障数据库数据安全的基本手段,对于ORACLE数据库DBA来说,很清楚ORACLE的RMAN备份是基于数据库的归档模式,但对于主机维护人员及开发人员,他们可能很不清楚 ...
- oracle backup arch,一个数据库备份的例子
1.将数据库停机改为归档模式 SQL> archive log list SQL> shutdown immediate SQL> startup mount SQL> alt ...
- oracle schema_了解Oracle备份恢复的知识
Oracle架构体系 警报日志(alter log): 一个文本日志文件,记录数据库的错误和状态信息,通常情况下,警报日志位于后台转存目标目录中,该目录有数据库参数DIAFNOSTIC_DEST定义的 ...
- Oracle的Rman差异增量备份
所谓增量备份,顾名思义即是每次备份操作那些发生了"变化"的数据块.在RMAN增量备份中有两种:Differential(差异备份)和Cumulative(增量备份)方式.由于需求这 ...
- oracle数据泵整库备份,详解oracle 12c通过数据泵expdp/impdp工具实现对数据备份、恢复...
标签: 简介 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1.实现逻辑备份和逻辑恢复 2.数据库用户之间移动对象 ...
- 日志传输压缩模式oracle,DataGuard日志传输模式
[前言]学习技术跟学习武功一样,之前整理了DataGuard的搭建和切换,这些都是武功招式,但是心法还没有学.本文档介绍DataGuard的重要心法,DataGuard的三种保护模式跟日志传输模式的关 ...
- oracle主备库sync模式,Oracle 探索DG备库undo工作模式
模拟备库出现 ORA-01555 分析备库 undo 工作模式 一: 修改主库 备库 undo 表空间 1.在主库创建undo表空间(会自动同步到备库) SYS@prod>create undo ...
最新文章
- 声明一个图书类(Java)
- C#字符串及数组操作
- JAVA中流水账的实现_流水账式java基础Summary
- 离散免疫算法求解旅行商问题(源码实现)
- 核桃编程 | 前端可观测性建设之路
- 主键约束 mysql
- Spring 传播方式
- [html]window.open 使用示例
- 系统动力学模型_049,系统动力学模型,医生是怎么确定用药剂量的
- mysql双机备份软件_MySql双机热备份
- 敏捷教练如何辅导发布计划的制定之开展行动
- 制作PPT怎样设计图片才有观赏性
- AttributeError: module ‘tensorflow_core._api.v2.config‘ has no attribute ‘run_functions_eagerly‘
- python将矩阵顺时针旋转90度_在Python中将方形矩阵逆时针旋转90度的程序
- 记华为云服务器配置mysql-Navicat连接
- Python 用OPEN读文件报错 ,路径以及r
- int i2c_probe()
- XX健康:预约管理-套餐管理图片上传与预览Redis实现定时清理垃圾图片
- word中自动生成的目录中,编号和文本间距过大
- Pandas之DataFrame详解
热门文章
- Roslyn 使用 Directory.Build.props 管理多个项目配置
- C# 9 新特性 —— 增强的 foreach
- 自由软件基金会庆祝成立35周年
- 向net core 3.0进击——Swagger的改变
- 在 ABP vNext 中编写仓储单元测试的问题一则
- Azure 命令行工具大混战,都是什么,该选哪个?
- 微软宣布SQL Server 2019免费支持Java
- 官博翻译 | .NET Core 即 .NET 的未来
- asp.net core集成CAP(分布式事务总线)
- 迁移Net项目为Net Core\Standard项目