(01)冷备份

 Oracle备份恢复弄得蛮多的,不过记录得零零碎碎的,准备把它给整整,集中起来弄弄。

   先成冷备份说起。记得以前刚弄Oracle时,冷备份在单实例用得很多的,不过后面数据库的架构搞得越来越麻烦,RAC这类也很多了。冷备份才用的少了起来。不过有些场景还是蛮合适用它的。

1. 建立目录,并授权限Oracle用户,依实际数据库所在用户名为准,本例为oracle.
 mkdir -p /xcl/cold_backup/dbs
 chown -R oracle:oinstall /xcl ##可依id oracle查出查
2. 创建sql文件,用手执行备份
    参数文件如有改动参数,记得手工备份一份,平常就不需备份了。
    至于密码文件和tnsnames.ora 也可以加到.sh中。
    剩下的要备份的东东看下面的脚本。
 --/xcl/cold_exec.sql
 set feedback off heading off verify off trimspool off
 set pagesize 0 linesize 200
 define dir = '/xcl/cold_backup'
 define cmdfile = '/xcl/cold_backup.sql'
 alter database backup controlfile to ' /xcl/cold_backup/backup_control.ctl' reuse;
 alter database backup controlfile to trace;
 prompt *** spooling to &cmdfile
 spool &cmdfile
 select 'host cp ' || name || ' &dir' from v$datafile order by 1;
 select 'host cp ' || member || ' &dir' from v$logfile order by 1;
 select 'host cp ' || name || ' &dir' from v$controlfile order by 1;
 select 'host cp ' || name || ' &dir' from v$tempfile order by 1;
 spool off;
 shutdown immediate;
 @&cmdfile
 startup;
 exit;
3. 创建SHELL文件,
 ##cold_startup.sh
 #!/bin/sh
 su - oracle -c "	 ##对应具体的用户名,本例中为"oracle"
 export ORACLE_SID=xcldb ##对应具体的数据库名,本例中为"xcldb"
 sqlplus / as sysdba @/xcl/colddb.sql "
4.在root用户下,执行备份  
   cd /xcl
   chmod +x *.sh
   ./cold_startup.sh

好了,搞定,手工执行足够了。  

Blog:http://blog.csdn.net/xcl168

你可能感兴趣的:(backup,冷备份,cold,脱机备份)