D:\Oracle\oradata
下包含控制文件,联机日志文件和数据文件

解决方案 »

  1.   

    意思是不是copy这个文件夹就行了??
      

  2.   

    那我如果有二个数据库:oracle1,oracle2   是不是在D:\Oracle\oradata会有两个文件夹:oracle1,oracle2 .我要备份哪个就copy哪个???
      

  3.   

    就是copy相关的数据文件,日志文件,控制文件,参数文件,就可以了.
      

  4.   

    你想这样做,如果库是运行在archivelog模式下,可以在度不down的情况下直接将ORACLE_HOME\oradata下的所有文件拷贝出来.如果是NoArchivelog模式下,必需将库down掉,不然恢复时要做介质恢复或不完全恢复
      

  5.   

    数据文件,日志文件和控制文件都要备份。这些文件可以通过以下数据字典进行定位目录
    select * from v$controlfile;
    select * from v$datafile;
    select * from v$logfile;
      

  6.   

    3、冷备份方案的实施 
    3.1 冷备份数据库的步骤 
    (1)关闭数据库; 
    (2)备份所有相关的数据库文件:初始化参数文件、控制文件(可用select name from v$controlfile;列出所有控制文件)、数据文件(可用select name from v$datafile;列出所有数据文件)、Redo日志(可用select member from v$logfile;列出所有redo日志文件)、归档的Redo日志(可用select sequence#,first_time from v$loghist;列出所有归档redo日志文件的顺序号和产生时间)。 
    3.2 冷备份数据库的脚本文件coldbak.cmd 
    rem Oracle数据库冷备份脚本文件名coldbak.cmd 
    rem 用于Windows NT/2000 平台,已经过严密的测试,大家可以试验!!! 
    rem 该脚本执行后,在c:temp目录中产生db_restrict.sql、db_shut.sql、db_start.sql、 
    rem cold.sql、cold.cmd等5个脚本文件,冷备份的核心命令在cold.cmd中。 
    rem 设置SID 
    set oracle_sid=tmq 
    rem 设置初始化参数文件 
    set my_pfile=e:oracleora81databaseinittmq.ora 
    set my_ifile=E:OracleADMINtmqpfileinit.ora 
    rem 设置归档日志目录 
    set my_archive_dir=E:OracleORADATAtmqarchive 
    rem 设置internal帐户的密码 
    set my_password=oracle 
    rem 建立临时目录 
    mkdir c:temp 
    set my_temp=c:temp 
    rem 建立备份目录,该目录必须有足够大的空间用于存放数据库的备份文件 
    mkdir e:backup 
    set my_bakdir=e:backup 
    rem ==== (1) create script file db_restrict.sql===== 
    echo connect internal/%my_password%; > %my_temp%db_restrict.sql 
    echo shutdown immediate; >> %my_temp%db_restrict.sql 
    echo startup restrict pfile=%my_pfile%; >>%my_temp%db_restrict.sql 
    echo exit >> %my_temp%db_restrict.sql 
    rem ==== (2) create script file db_shut.sql ===== 
    echo connect internal/%my_password%; >%my_temp%db_shut.sql 
    echo shutdown immediate; >>%my_temp%db_shut.sql 
    echo exit >>%my_temp%db_shut.sql 
    rem ==== (3) create script file db_start.sql ===== 
    echo connect internal/%my_password%; >%my_temp%db_start.sql 
    echo startup pfile=%my_pfile%; >>%my_temp%db_start.sql 
    echo exit >>%my_temp%db_start.sql 
    svrmgrl @%my_temp%db_restrict.sql 
    rem ==== (4) create script file cold.sql ===== 
    echo set heading off; >%my_temp%cold.sql 
    echo set feedback off; >>%my_temp%cold.sql 
    echo spool %my_temp%cold.cmd; >>%my_temp%cold.sql 
    echo 在这里设计冷备份的命令,备份控制文件、数据文件和日志文件 
    echo select 'copy ' ^|^| name ^|^| ' %my_bakdir%' from v$controlfile; >>%my_temp%cold.sql 
    echo select 'copy ' ^|^| member ^|^| ' %my_bakdir%' from v$logfile; >>%my_temp%cold.sql 
    echo select 'copy ' ^|^| file_name ^|^| ' %my_bakdir%' from dba_data_files; >>%my_temp%cold.sql 
    echo spool off; >>%my_temp%cold.sql 
    echo exit >>%my_temp%cold.sql 
    rem ===== (5) run cold.sql to genrate cold.cmd ======== 
    sqlplus internal/%my_password% @%my_temp%cold.sql 
    echo 在这里设计冷备份的命令,备份参数文件、归档日志文件 
    echo. >> %my_temp%cold.cmd 
    echo copy %my_pfile% %my_bakdir% >> %my_temp%cold.cmd 
    echo copy %my_ifile% %my_bakdir% >> %my_temp%cold.cmd 
    echo. >> %my_temp%cold.cmd 
    echo copy %my_archive_dir%*.* %my_bakdir% >> %my_temp%cold.cmd 
    rem ===== shut down database ======== 
    svrmgrl @%my_temp%db_shut.sql 
    rem ====== run cold.cmd to perform the cold backup 开始执行冷备份 ====== 
    call %my_temp%cold.cmd 
    rem ====== start up the database ======= 
    svrmgrl @%my_temp%db_start.sql 
    echo ===== the cold backup is completed!!! ======