备份&恢复系列之一:怎样在linux中写对oracle的冷备份脚本!

本文详细介绍了在Red Hat Linux6环境下部署Oracle11g数据库的过程,包括数据库版本、数据文件位置、控制文件、日志文件等关键信息,并提供了一个用于冷备份数据库的SQL脚本,确保数据安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试环境:

1 操作系统:Redhat Linux 6

[oracle@bld-tdb1 ~]$ cat /proc/version
Linux version 2.6.18-164.el5 (mockbuild@x86-003.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Tue Aug 18 15:51:48 EDT 2009

2 数据库版本:Oracle11g


SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

3 数据库的名字:orcl

SQL> show parameter db_name;

.
SQL> show parameter db_name;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string PULSEINP


4 数据库的所有数据文件所在位置
select file#, status, enabled, name from v$datafile;

1 SYSTEM READ WRITE /u01/app/oracle/oradata/PULSEINP/system01.dbf
2 ONLINE READ WRITE /u01/app/oracle/oradata/PULSEINP/sysaux01.dbf
3 ONLINE READ WRITE /u01/app/oracle/oradata/PULSEINP/undotbs01.dbf
4 ONLINE READ WRITE /u01/app/oracle/oradata/PULSEINP/users01.dbf
5 ONLINE READ WRITE /u01/app/oracle/oradata/PULSEINP/user202.dbf


5 控制文件的所在位置
select * from v$controlfile;

/u01/app/oracle/oradata/PULSEINP/control01.ctl NO 16384 594
/u01/app/oracle/flash_recovery_area/PULSEINP/control02.ctl NO 16384 594


6 重做日志文件位置
select * from v$logfile;

ONLINE /u01/app/oracle/oradata/PULSEINP/redo011.log NO
ONLINE /u01/app/oracle/oradata/PULSEINP/redo012.log NO
ONLINE /u01/app/oracle/oradata/PULSEINP/redo021.log NO
ONLINE /u01/app/oracle/oradata/PULSEINP/redo022.log NO
ONLINE /u01/app/oracle/oradata/PULSEINP/redo031.log NO
ONLINE /u01/app/oracle/oradata/PULSEINP/redo032.log NO


7 写个coldbak.sql脚本

脚本内容如下:
#rem script.:coldbak.sql
#rem creater:mengzhaoliang
#rem data:2008/2/4
#rem desc:offline full backup database
#enter database
$ORACLE_HOME/bin/sqlplus "/as sysdba" <<EOF
#--shutdown database
shutdown immediate
#--Copy Data file
!cp /u01/app/oracle/oradata/PULSEINP/*.dbf /home/oracle/oraclescript/
#--Copy Control file
!cp /u01/app/oracle/oradata/PULSEINP/*.ctl /home/oracle/oraclescript/
!cp /u01/app/oracle/flash_recovery_area/PULSEINP/*.ctl /home/oracle/oraclescript/
--Copy Log file
!cp /u01/app/oracle/oradata/PULSEINP/*.log /home/oracle/oraclescript/
#--startup database
startup


附上piner的说明:
说明:
1、以上脚本在数据库关闭状态下备份数据库所有的数据文件,联机日志,控制文件(在一个目录下),如果成功备份,所有文件是一致的。
2、没有备份参数文件,参数文件可以另外备份,没有必要每次都备份,只需要在改变设置后备份一次。
3、如果以上命令没有成功依次执行,那么备份将是无效的,如连接数据库不成功,那么肯定关闭数据库也不成功,那么备份则无效
4、冷备份建议下人工干预下执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值