对数据库进行冷备
1.创建脚本,确定要备份的数据文件;
1)将所有数据文件查出来,cp到一个新建的脚本中,新建脚本cb_orcl.sh;
select name from v$datafile;
2)将所有控制文件查出,cp到那个脚本中;
select name from v$controlfile;
3) 将所有参数文件查出,cp到那个脚本中;
select value from v$parameter where name='spfile';
4)将所有日志文件查出,cp到那个脚本中;
select member from v$logfile;
5)将所有临时文件查出,cp到那个脚本中;
select name from v$tempfile; --可以不需要
2.关库 shutdown immediate(否则可能出现块分裂现象)
3.脚本在只读模式下,用指令‘J’,去掉换行;
脚本代码前加指令 tar -zcvf cb_orcl.tar …… 成为一条指令,保存退出;
4.执行脚本,直接备份(查看磁盘空间是否充足:df -h)
sh cb_orcl.sh
5.打开数据库 startup
具体创建脚本:
1.vi cb_orcl.sql
set echo off
set pages 0
set feedback off
conn / as sysdba
spool /home/oracle/cb_orcl.sh
select name from v$datafile;
select name from v$controlfile;
select value from v$parameter where name='spfile';
select member from v$logfile;
select name from v$tempfile;
spool off
2.在sqlplus中执行
@/home/oracle/cb/_orcl.sql
后面同上;