• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle 冷备份

mysql 搞代码 4年前 (2022-01-09) 39次浏览 已收录 0个评论

网上看到一有关Oracle冷备份的文章,非常详细: 一、冷备份 数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份 适合于非归档模式下,数据库处于一致性状态 二、步骤 首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数

网上看到一有关Oracle冷备份的文章,非常详细:

一、冷备份

数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份

适合于非归档模式下,数据库处于一致性状态

二、步骤

首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数据库(shutdown)

再执行拷贝物理文家到备份路径或备份设备

备份完成后立即启动数据库让其提供正常的服务

三、冷备脚本的写法

首先应该在相关视图里查出数据库的数据文件,日志文件,控制文件,临时文件所在的位置

注意:不要直接把oradata下的cp就行了,因为生产库里各个文件通常分布在不同的磁盘,不同的地方,所以在去视图里获得真实路径

查看实例和数据库的相关信息

SQL> select instance_name,version,status,archiver,database_status from v$instance;

INSTANCE_NAME VERSION STATUS ARCHIVE DATABASE_STATUS

—————- —————– ———— ——- —————–

orcl 10.2.0.1.0 OPEN STOPPED ACTIVE

SQL> select dbid,name,log_mode from v$database;

DBID NAME LOG_MODE

———- ——— ————

1242732291 ORCL NOARCHIVELOG

查看数据文件及状态信息

SQL> select file_name,tablespace_name,status,online_status from dba_data_files;

FILE_NAME TABLESPACE STATUS ONLINE_

——————————————————- ———- ——— ——-

/u01/app/oracle/oradata/orcl/undotbs01.dbf UNDOTBS1 AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/system01.dbf SYSTEM AVAILABLE SYSTEM

/u01/app/oracle/oradata/orcl/sysaux01.dbf SYSAUX AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/users01.dbf USERS AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/example01.dbf EXAMPLE AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/tbs1_1.dbf TBS1 AVAILABLE ONLINE

/u01/app/oracle/oradata/orcl/tbs1_2.dbf TBS1 AVAILABLE ONLINE

查看数据文件

SQL> select name from v$datafile;

NAME

——————————————————————————–

/u01/app/oracle/oradata/orcl/system01.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/sysaux01.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/example01.dbf

/u01/app/oracle/oradata/orcl/tbs1_1.dbf

/u01/app/oracle/oradata/orcl/tbs1_2.dbf

查看临时文件

SQL>

本文来源gaodai.ma#com搞##代!^码@网*

select name from v$tempfile;

NAME

——————————————————————————–

/u01/app/oracle/oradata/orcl/temp01.dbf

查看日志文件

SQL> select member from v$logfile;

MEMBER

————————————————————

/u01/app/oracle/oradata/orcl/redo2a.rdo

/u01/app/oracle/oradata/orcl/redo2b.rdo

/u01/app/oracle/oradata/orcl/redo1a.rdo

/u01/app/oracle/oradata/orcl/redo3a.rdo

/u01/app/oracle/oradata/orcl/redo3b.rdo

/u01/app/oracle/oradata/orcl/redo1b.rdo

查看控制文件

SQL> select name from v$controlfile;

NAME

————————————————————

/u01/app/oracle/oradata/orcl/control01.ctl

/u01/app/oracle/oradata/orcl/control02.ctl

创建备份目录

SQL> ho mkdir /u01/app/oracle/coolbak

使用连接符生成复制文件命令

SQL> select ‘ho cp ‘ || name || ‘ /u01/app/oracle/coolbak’ from v$controlfile;

‘HOCP’||NAME||‘/U01/APP/ORACLE/COOLBAK’

———————————————————————————-

ho cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/coolbak

ho cp /u01/app/oracle/oradata/orcl/control02.ctl /u01/app/oracle/coolbak

SQL> save /tmp/tmpbak.sql; 将上面的输入保存为tmpbak.sql

Created file /tmp/tmpbak.sql

SQL> ho vim /tmp/tmpbak.sql 编辑tmpbak.sql,将下面的内容输入到tmpbak.sql

set feedback off

set heading off

set verify off

set trimspool off

set pagesize 0

set linesize 200

define dir = ‘/u01/app/oracle/coolbak’

define script = ‘/tmp/coolbak.sql’

spool &script

select ‘ho cp ‘ || name || ‘ &dir’ from v$controlfile

union all

select ‘ho cp ‘ || name || ‘ &dir’ from v$datafile

union all

select ‘ho cp ‘ || member || ‘ &dir’ from v$logfile

union all

select ‘ho cp ‘ || name || ‘ &dir’ from v$tempfile

/

create pfile = ‘&dir/initorcl.ora’ from spfile;

ho cp /u01/app/oracle/10g/dbs/orapworcl &dir

spool off

shutdown immediate

start &script

ho rm &script

startup

执行tmpbak.sql

SQL> @/tmp/tmpbak.sql;

执行过程及数据库启动略

启动后查看备份的文件

SQL> ho ls /u01/app/oracle/coolbak

control01.ctl orapworcl redo2b.rdo system01.dbf users01.dbf

control02.ctl redo1a.rdo redo3a.rdo tbs1_1.dbf

example01.dbf redo1b.rdo redo3b.rdo tbs1_2.dbf

initorcl.ora redo2a.rdo sysaux01.dbf undotbs01.dbf

四、总结

优点

冷备模式下概念易于理解,即将需要备份的文件复制到安全的位置

操作比较简单,不需要太多的干预

容易恢复到某个时间点上(只需将文件再拷贝回去)

能与归档方法相结合,作数据库“最新状态”的恢复。

缺点

备份时,数据库必须处于一致性关闭状态

只能提供到某一时间点的恢复

备份时速度比较慢,尤其是数据量大性能影响比较大

不能实现基于表和用户级别的数据恢复


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle 冷备份

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址