Oracle数据库备份还原标准化实施部署指南(二)

简介: SQL数据库开发

3.2 热备份方案的实施

3.2.1热备份数据库的步骤

1、将数据库开启归档模式

SQL> shutdown immediate;关闭数据库
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>startup mount;数据库进入mount模式
ORACLE instance started.
SQL> alter database archivelog;启用归档模式
Database altered.
SQL>alter database open;打开数据库
Database altered.
SQL>alter system archive log start;启用自动归档模式
System altered.


查看是否启用了归档模式

SQL> archive log list;


如果显示下边的提示代表启动归档模式,且自动归档模式开启

1.jpg

非归档日志模式下产生的备份日志对于归档模式已经不可用了,这一步非常重要!

1、拷贝参数文件到备份目录(参数文件在数据库启动后处于关闭状态)

cp/u01/app/oracle/product/11.2.0/dbhome_1/dbs/init.ora/backup/reback/


2、将需要备份的表空间(TS_DC)设为备份状态:

SQL> ALTER TABLESPACETS_DC BEGIN BACKUP;将表空间TS_DC设置为开启备份状态
Tablespace altered.
[oracle@oracle orcl]$ cp/oradate/orcl/TS_DC.DBF /backup/reback/拷贝数据文件到备份目录
SQL> ALTER TABLESPACETS_DC END BACKUP;将表空间TS_DC设置为关闭备份状态
Tablespace altered.

如还有其他要备份的表空间,重复步骤2

SQL> archive log list;获取当前的日志顺序号


如下所示,日志序列号为4-6(从oldest online logsequence开始到current log sequence的联机redo日志应该是热备份的一部分)

2.jpg

SQL>ALTER SYSTEM SWITCHLOGFILE ;强制日志归档
System altered.
cp -R/u01/app/oracle/fast_recovery_area/ORCL/archivelog/ /backup/reback/备份归档日志文件到/backup/reback/(arc文件为归档日志)


3.jpg

SQL> ALTER DATABASEBACKUP CONTROLFILE TO '/backup/reback/control.bkp';将控制文件备份到/backup/reback/下,备份的后缀名无所谓
Database altered.


0.jpg

检查备份的文件是否齐全(1、归档日志2、控制文件 3、参数文件 4、数据文件)

4.jpg

注意事项,步骤中涉及的fast_recovery_area目录为闪回区,在不更改默认归档日志的情况下会将日志放在闪回区中,闪回区很容易爆满,闪回区的大小在新建数据库实例时候可以设置,当不勾选时候是无限制的拓展。

5.jpg

3.3 逻辑备份export备份

3.3.1 export备份数据库的步骤

3.3.1.1 export自动备份数据库的步骤

1)    root用户登录服务器
mkdir -p /backup/oracledata #新建Oracle数据库备份目录
chown -R oracle:oinstall /backup/oracledata -R #设置目录权限为oinstall用户组的oracle用户
(用户oracle与用户组oinstall是在安装Oracle数据库时设置的)

2)    创建目录对象

因为使用expdp命令需要使用到目录对象(directory),所以首先需要创建目录对象,并赋予某个用户对目录对象的操作权限。

操作步骤如下:

su- oracle#切换到oracle用户
sqlplus/ as sysdba#切换到SQLPLUS环境


执行以下命令:

createdirectory expdp_bak_dir as '/backup/oracledata';#指定EXPDP输出目录
grantcreate any directory to system;#授予system权限


3)    编辑自动备份脚本

vi/backup/oracledata/ordatabak.sh #新建文件,输入以下代码 

#/bin/sh

exportORACLE_SID=orcl

exportORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

exportNLS_LANG=american_america.zhs16gbk

exportDATA_DIR=/backup/oracledata

now=`date +%Y%m%d%H%M%S `

dmpfile=db$now.dmp

echostart exp $dmpfile ...

/u01/app/oracle/product/11.2.0/dbhome_1/bin/expdp system/newcapecDUMPFILE=$dmpfile logfile=db$now.log DIRECTORY=expdp_bak_dir full=y

echo"Delete the file bakup before 6 days..."

find/backup/oracledata/ -mtime +6 -name "*.dmp" -exec rm -rf '{}' ;

echo"Delete the file bakup successfully. "

echo"Bakup completed."


chmod +x/backup/oracledata/ordatabak.sh   #添加脚本执行权限

代码中红色的orcl修改为自己的实际数据库名称system/newcapec修改为实际的用户名和密码

3.3.1.2 Export手动备份数据库的步骤

1)   root用户登录服务器
mkdir -p /backup/ #新建Oracle数据库备份目录
chown -R oracle:oinstall /backup/ -R #设置目录权限为oinstall用户组的oracle用户
(用户oracle与用户组oinstall是在安装Oracle数据库时设置的)


2)   手动备份的命令

一、全量备份整个库为TS_DC文件

1、  设置窗口字符集格式

NLS_LANG=AMERICAN_AMERICA.AL32UTF8

2、  导出全量信息到备份文件目录/backup中的TD_DC文件以及日志文件

expdp system/111111@orcl file=/backup/TS_DC.dmplog=/backup/TS_DC.log full=y;


二、按用户备份数据库为user文件

1、  设置窗口字符集格式

NLS_LANG=AMERICAN_AMERICA.AL32UTF8

2、  导出user用户信息到备份文件目录/backup中的user文件以及日志文件

expdp system/111111@orcl owner=user file=/backup/user.dmplog=/backup/user.log;


相关文章
|
13天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
30 0
|
2天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
14 6
|
2天前
|
SQL Oracle 关系型数据库
零基础入门 Oracle数据库:轻松上手
零基础入门 Oracle数据库:轻松上手
6 0
|
3天前
|
Oracle 关系型数据库 Java
java操作多数据源将oracle数据同步达梦数据库
java操作多数据源将oracle数据同步达梦数据库
|
4天前
|
存储 Oracle 关系型数据库
oracle 数据库 迁移 mysql数据库
将 Oracle 数据库迁移到 MySQL 是一项复杂的任务,因为这两种数据库管理系统具有不同的架构、语法和功能。
15 0
|
20天前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
|
24天前
|
Oracle 网络协议 关系型数据库
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
|
24天前
|
SQL Oracle 安全
Oracle数据库中的事务和锁
【4月更文挑战第19天】Oracle数据库的事务和锁是确保数据完整性和并发控制的核心机制。事务遵循ACID原则,保证操作的原子性、一致性、隔离性和持久性。通过COMMIT或ROLLBACK来管理事务更改。锁包括共享锁(读)、排他锁(写)、行级锁和表级锁,用于控制并发访问。自动锁机制在DML操作时生效,防止数据冲突。事务和锁共同维护数据库的稳定和安全。
|
24天前
|
存储 Oracle 关系型数据库
Oracle RAC:数据库集群的舞动乐章
【4月更文挑战第19天】Oracle RAC是Oracle提供的高可用性数据库解决方案,允许多个实例共享同一数据库,确保业务连续性和数据完整性。通过集群件和全局缓存服务实现服务器间的协调和通信。RAC提供高可用性,通过故障转移应对故障,同时提升性能,多个实例并行处理请求。作为数据管理员,理解RAC的架构和管理至关重要,以发挥其在数据管理中的最大价值。
|
24天前
|
监控 Oracle 安全
Oracle用户事件触发器:数据库世界的“福尔摩斯”
【4月更文挑战第19天】Oracle用户事件触发器是数据库中的监控机制,类似于“福尔摩斯”,在用户执行特定操作时自动触发。它们关注用户行为而非数据变化,可用于权限检查、安全监控、性能优化等。通过DDL语句创建,需注意逻辑清晰、条件合适及定期更新,以适应数据库变化和业务发展。掌握其使用能有效保障数据安全与稳定。