ORACLE数据库冷备份

一:先构建数据库冷备份脚本文件
SQL> spool c:bk.log
SQL> select 'host copy ' || name ||' E:\oracleCopy\' from v$datafile
  2  union
  3  select 'host copy ' || name ||' E:\oracleCopy\' from v$controlfile
  4  union
  5  select 'host copy ' || name ||' E:\oracleCopy\' from v$tempfile
  6  union
  7  select 'host copy ' || member ||' E:\oracleCopy\' from v$logfile;

'HOSTCOPY'||NAME||'E:\ORACLECOPY\'
-------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
host copy F:\ORACLE\PRODUCT\10.1.0\ORACONTROL\CONTROL01.CTL E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORACONTROL\CONTROL02.CTL E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORACONTROL\CONTROL03.CTL E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\OAMIS\DUQ_TEST_TBS01.DBF E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\OAMIS\SYSAUX01.DBF E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\OAMIS\SYSTEM01.DBF E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\OAMIS\TEMP01.DBF E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\OAMIS\UNDOTBS01.DBF E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\OAMIS\USERS01.DBF E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORALOG\REDO01.LOG E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORALOG\REDO02.LOG E:\oracleCopy\
host copy F:\ORACLE\PRODUCT\10.1.0\ORALOG\REDO03.LOG E:\oracleCopy\

已选择12行。

SQL> spool off;
已用时间:  00: 00: 00.06

二:修改备份脚本文件中的部分内容。

然后在脚本文件bk.log的开始部分添加shutdown immediate,在该文件的结束部分添加startup,另外加上参数文件(服务器参数文件和初始化参数文件)和密码文件(路径:oracle_home\database,名称格式:pwd+sid.ora)的备份命令。
查看服务器参数文件所在路径:
SQL> SHOW PARAMETER SPF

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      F:\ORACLE\PRODUCT\10.1.0\DB_1\
                                                 DATABASE\SPFILEOAMIS.ORA


注意:E盘下的oracleCopy目录必须存在,不然的话在copy的时候系统会提示:‘系统找不到指定的路径。’

三:执行冷备份脚本命令

SQL> @c:\bk1.log
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。


已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。

ORACLE 例程已经启动。

Total System Global Area  171966464 bytes
Fixed Size                   787988 bytes
Variable Size             145488364 bytes
Database Buffers           25165824 bytes
Redo Buffers                 524288 bytes
数据库装载完毕。
数据库已经打开。

所有被备份的文件在E:\oracleCopy\目录下。以后如果需要恢复数据库
只需要把该目录下的所有文件分别copy到数据库对象的目录下即可。

你可能感兴趣的:(oracle,sql,c,脚本,F#)