iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle冷备份脚本
  • 336
分享到

Oracle冷备份脚本

2024-04-02 19:04:59 336人浏览 安东尼
摘要

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

一、原理

  1. 冷备份

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

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

  1. 步骤

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

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

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

  2. 总结 - 优点

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

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

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

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

4.总结 - 缺点

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

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

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

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

     首先应该在相关视图里查出数据库的数据文件,日志文件,控制文件,临时文件所在的位置。注意:不要直接把oradata下的cp就行了,因为生产库里各个文件通常分布在不同的磁盘,不同的地方,所以在去视图里获得真实路径 。

1).查看数据库是否为CDB
SYS@newtest>select name, decode(cdb, 'YES', 'Multitenant Option enabled', 'Regular 12c Database: ') "Multitenant Option" , open_mode, con_id from v$database;

NAME Multitenant Option OPEN_MODE CON_ID


NEWTEST Multitenant Option enabled READ WRITE 0
YES表示该数据库是CDB,如果是NO表示是NO-CDB(普通数据库)
2).查看实例和数据库的相关信息
SYS@newtest>select instance_name,version,status,arcHiver,database_status from v$instance;

INSTANCE_NAME VERSION STATUS ARCHIVE DATABASE_STATUS


newtest 12.2.0.1.0 OPEN STARTED ACTIVE
SYS@newtest>select dbid,name,log_mode from v$database;

  DBID NAME      LOG_MODE

1779551310 NEWTEST ARCHIVELOG
SYS@newtest>set linesize 180
SYS@newtest>col guid fORMat A40
SYS@newtest>col name format A20
SYS@newtest>select con_id, dbid, guid, name , open_mode from v$pdbs;

CON_ID       DBID GUID                                     NAME                 OPEN_MODE

     2  603865257 32CAC9A05E614355926257BE671D9AFC         PDB$SEED             READ ONLY
     3 3394996704 24549D14BBEB417BAB312BF19BC5259E         PDBTEST              READ WRITE
     4   50957894 D4B2FCAAC2B944CC8AF5864EC7CB853C         CLONEPDB_PLUG        READ WRITE

3). 查看数据文件及状态信息

SYS@newtest>col file_name format A60
SYS@newtest>select file_name,tablespace_name,status,online_status from dba_data_files;

FILE_NAME TABLESPACENAME STATUS ONLINE


C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\SYSTEM01.DBF SYSTEM AVaiLABLE SYSTEM
C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\SYSAUX01.DBF SYSAUX AVAILABLE ONLINE
C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\UNDOTBS01.DBF UNDOTBS1 AVAILABLE ONLINE
C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\USERS01.DBF USERS AVAILABLE ONLINE
SYS@newtest>col con_id format 99
SYS@newtest>col name format A80
SYS@newtest>select con_id,FILE#,NAME,status,enabled from v$datafile order by 1;

CON_ID FILE# NAME STATUS ENABLED


 1          1 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\SYSTEM01.DBF                        SYSTEM  READ WRITE
 1          3 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\SYSAUX01.DBF                        ONLINE  READ WRITE
 1          5 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\UNDOTBS01.DBF                       ONLINE  READ WRITE
 1          7 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\USERS01.DBF                         ONLINE  READ WRITE
 2          2 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBSEED\SYSTEM01.DBF                SYSTEM  READ WRITE
 2          4 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBSEED\SYSAUX01.DBF                ONLINE  READ WRITE
 2          6 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBSEED\UNDOTBS01.DBF               ONLINE  READ WRITE
 3          8 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\SYSTEM01.DBF                SYSTEM  READ WRITE
 3         11 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\USERS01.DBF                 ONLINE  READ WRITE
 3         10 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\UNDOTBS01.DBF               ONLINE  READ WRITE
 3          9 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\SYSAUX01.DBF                ONLINE  READ WRITE

CON_ID FILE# NAME STATUS ENABLED


 4         42 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\UNDOTBS01.DBF         ONLINE  READ WRITE
 4         41 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\SYSAUX01.DBF          ONLINE  READ WRITE
 4         40 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\SYSTEM01.DBF          SYSTEM  READ WRITE
 4         43 C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\USERS01.DBF           ONLINE  READ WRITE

15 rows selected.
4).查看临时文件
SYS@newtest>col name format A100
SYS@newtest>select name from v$tempfile;

NAME

C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\TEMP01.DBF
C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBSEED\TEMP012017-12-13_17-23-31-944-PM.DBF
C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\TEMP012017-12-13_17-23-31-944-PM.DBF
C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\TEMP012017-12-13_17-23-31-944-PM.DBF

5).查看日志文件
SYS@newtest>col member format A60
SYS@newtest>select member from v$logfile;

MEMBER

C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\REDO03.LOG
C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\REDO02.LOG
C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\REDO01.LOG
6).查看控制文件
SYS@newtest>select name from v$controlfile;

NAME

C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CONTROL01.CTL
C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CONTROL02.CTL
7).创建备份目录
SYS@newtest>ho mkdir c:\oracleback
SYS@newtest>select 'ho mkdir '|| ' &dir\' ||NAME from v$pdbs;
Enter value for dir: C:\oracleback
old 1: select 'ho mkdir '|| ' &dir\' ||NAME from v$pdbs
new 1: select 'ho mkdir '|| ' C:\oracleback\' ||NAME from v$pdbs

'HOMKDIR'||'C:\ORACLEBACK\'||NAME

ho mkdir C:\oracleback\PDB$SEED
ho mkdir C:\oracleback\PDBTEST
ho mkdir C:\oracleback\CLONEPDB_PLUG
8).使用连接符生成复制文件命令
SYS@newtest>select 'ho copy ' || name || ' &dir' from v$controlfile
2 uNIOn all
3 select 'ho copy ' || member || ' &dir' from v$logfile
4 union all
5 select 'ho copy ' || file_name|| ' &dir' from dba_data_files
6 union all
7 select 'ho copy ' || vd.name || ' &dir\'|| vp.name as command from v$datafile vd join v$pdbs vp using(con_id)
8 union all
9 select 'ho copy ' || vt.name || ' &dir\'|| vp.name as command from v$tempfile vt join v$pdbs vp using(con_id)
10 /
Enter value for dir: C:\oracleback
old 1: select 'ho copy ' || name || ' &dir' from v$controlfile
new 1: select 'ho copy ' || name || ' C:\oracleback' from v$controlfile
Enter value for dir: C:\oracleback
old 3: select 'ho copy ' || member || ' &dir' from v$logfile
new 3: select 'ho copy ' || member || ' C:\oracleback' from v$logfile
Enter value for dir: C:\oracleback
old 5: select 'ho copy ' || file_name|| ' &dir' from dba_data_files
new 5: select 'ho copy ' || file_name|| ' C:\oracleback' from dba_data_files
Enter value for dir: C:\oracleback
old 7: select 'ho copy ' || vd.name || ' &dir\'|| vp.name as command from v$datafile vd join v$pdbs vp using(con_id)
new 7: select 'ho copy ' || vd.name || ' C:\oracleback\'|| vp.name as command from v$datafile vd join v$pdbs vp using(con_id)
Enter value for dir: C:\oracleback
old 9: select 'ho copy ' || vt.name || ' &dir\'|| vp.name as command from v$tempfile vt join v$pdbs vp using(con_id)
new 9: select 'ho copy ' || vt.name || ' C:\oracleback\'|| vp.name as command from v$tempfile vt join v$pdbs vp using(con_id)

'HOCOPY'||NAME||'C:\ORACLEBACK'

ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CONTROL01.CTL C:\oracleback
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CONTROL02.CTL C:\oracleback
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\REDO03.LOG C:\oracleback
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\REDO02.LOG C:\oracleback
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\REDO01.LOG C:\oracleback
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\SYSTEM01.DBF C:\oracleback
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\SYSAUX01.DBF C:\oracleback
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\UNDOTBS01.DBF C:\oracleback
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\USERS01.DBF C:\oracleback
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBSEED\SYSTEM01.DBF C:\oracleback\PDB$SEED
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBSEED\SYSAUX01.DBF C:\oracleback\PDB$SEED

'HOCOPY'||NAME||'C:\ORACLEBACK'

ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBSEED\UNDOTBS01.DBF C:\oracleback\PDB$SEED
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\SYSTEM01.DBF C:\oracleback\PDBTEST
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\SYSAUX01.DBF C:\oracleback\PDBTEST
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\UNDOTBS01.DBF C:\oracleback\PDBTEST
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\USERS01.DBF C:\oracleback\PDBTEST
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\SYSTEM01.DBF C:\oracleback\CLONEPDB_PLUG
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\SYSAUX01.DBF C:\oracleback\CLONEPDB_PLUG
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\UNDOTBS01.DBF C:\oracleback\CLONEPDB_PLUG
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\USERS01.DBF C:\oracleback\CLONEPDB_PLUG
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBSEED\TEMP012017-12-13_17-23-31-944-PM.DBF C:\oracleback\PDB$SEED
ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\PDBTEST\TEMP012017-12-13_17-23-31-944-PM.DBF C:\oracleback\PDBTEST

'HOCOPY'||NAME||'C:\ORACLEBACK'

ho copy C:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\NEWTEST\CLONEPDB_PLUG\TEMP012017-12-13_17-23-31-944-PM.DBF C:\oracleback\CLONEPDB_PLUG

23 rows selected.
9).编写相关脚本

您可能感兴趣的文档:

--结束END--

本文标题: Oracle冷备份脚本

本文链接: https://www.lsjlt.com/news/38050.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python oracle数据库备份脚本
    学习python,将shell备份脚本改成了python脚本练手.python oracle备份脚本一例如下。#!/usr/bin/env python   # -*- coding: utf-8 -*-  import time impo...
    99+
    2023-01-31
    脚本 备份 数据库
  • Linux下Oracle自动备份脚本
    #!/bin/bash export ORACLE_HOME=/usr/local/instantclient_11_2export PATH=$ORACLE_HOME:$PATHexport TNS_AD...
    99+
    2024-04-02
  • python脚本备份
    #!/usr/bin/python #encodeing:utf-8 import os import time import string #需要备份的目录 source = ['/usr/local/nagios','/var/www/...
    99+
    2023-01-31
    脚本 备份 python
  • mysqldump备份脚本
    [root@sq1 /]# cat logic_backup.sh #!/bin/bash CUR_DATE=`date +%Y%m%d`         &...
    99+
    2024-04-02
  • linux下oracle rman备份脚本代码
    本篇内容介绍了“linux下oracle rman备份脚本代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • python备份mysql脚本
    今天简单的写了个python的mysql备份脚本,其实也不是很难呀。比shell简洁了很多!  开整:  注释都用英文写了,有些英语基础的朋友应该都可以看得懂了!#!/usr/bin/env python #backup the gtsho...
    99+
    2023-01-31
    脚本 备份 python
  • oracle数据库使用rman备份脚本
    关于使用rman备份数据库的脚本 #!/bin/bash  export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/ap...
    99+
    2024-04-02
  • 【备份恢复】物理冷备份及恢复
    冷备:,即关闭数据库备份,要求备份数据库三大文件(数据文件、控制文件、日志文件)及参数文件、口令文件;同时冷备之前要一致性关库,以触发ckpt实现三大文件一致性,以使恢复数据库是不需要recover; ...
    99+
    2024-04-02
  • python备份脚本解析
     脚本简介: 1)备份源目录的文件 2)目标文件以tar 和bzip2的方式压缩之后放在当前日期文件夹下 4)备份文件以时间注释和执行脚本的用户命名 3)主要用到了时间模块,系统模块,和getpass模块 4)source 可以修改为想备份...
    99+
    2023-01-31
    脚本 备份 python
  • python备份目录脚本
    此脚本适用于备份指定发布目录下的目录,可适当修改运用!#!/usr/bin/env python#backup app python script.import osimport timeimport sysnowTime = time.s...
    99+
    2023-01-31
    脚本 备份 目录
  • mysqldump如何备份脚本
    这篇文章将为大家详细讲解有关mysqldump如何备份脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql_full_backup.sh#!/bin/sh#Cre...
    99+
    2024-04-02
  • ORACLE冷备份及恢复的示例分析
    这篇文章给大家分享的是有关ORACLE冷备份及恢复的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。直接拷贝oracle目录下的admin、oradata(datafile...
    99+
    2024-04-02
  • Oracle如何实现冷备份及其恢复
    这篇文章主要为大家展示了“Oracle如何实现冷备份及其恢复”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle如何实现冷备份及其恢复”这篇文章吧。一、冷...
    99+
    2024-04-02
  • windows2008下 rman备份脚本
    一般情况下  生产环境都是归档模式,但是有的公司一直用的是非归档方式首先看下db的归档方式SQL> archive log list;如果是归档方式,就可以采用rman方式进行备份。平台:server 2008 databa...
    99+
    2023-06-06
  • 如何备份shell脚本
    小编给大家分享一下如何备份shell脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!backup_run.sh代码如下:    #...
    99+
    2023-06-09
  • python常用的备份脚本
    脚本介绍:1)备份源目录的文件2)目标文件以tar 和bzip2的方式压缩之后放在当前日期文件夹下4)备份文件以时间注释和执行脚本的用户命名3)主要用到了时间模块,系统模块,和getpass模块4)source 可以修改为想备份的目录,因为...
    99+
    2023-01-31
    脚本 备份 常用
  • mysql的备份脚本分享
    本篇内容介绍了“mysql的备份脚本分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#!/bin/bas...
    99+
    2024-04-02
  • MySQL热备份与还原---利用mysqldump---备份脚本
    对extmail数据库进行每天01:00完全热备份,并可以完全恢复!一、先建立备份脚本,如下:vi mysql_extmail_bak.sh #!/bin/bash # Program ...
    99+
    2024-04-02
  • rsync多线程备份脚本 --pytho
    闲话少说,脚本奉上,希望对大家有帮助。#!/bin/env python #coding=utf8 import os,sys,time,re,threading now=time.strftime('%Y%m%d') log_02='/...
    99+
    2023-01-31
    多线程 脚本 备份
  • 检查备份情况的脚本
    #-*-coding:gbk-*- #gbk可以识别windows文件里面的中文import osimport sysdef check_backup_info(path):  &...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作