Home > 数据库 > Oracle 10g数据库备份与还原

Oracle 10g数据库备份与还原

CREATE PFILE='initDBNAME.ORA' FROM SPFILE;
ALTER SYSTEM ARCHIVE LOG CURRENT;

$ocopy D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\TEMP01.DBF D:\ORACLE\BAK\
ALTER TABLESPACE SYSAUX BEGIN BACKUP;
$ocopy D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\SYSAUX01.DBF D:\ORACLE\BAK\
ALTER TABLESPACE SYSAUX END BACKUP;
ALTER TABLESPACE SYSTEM BEGIN BACKUP;
$ocopy D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\SYSTEM01.DBF D:\ORACLE\BAK\
ALTER TABLESPACE SYSTEM END BACKUP;
ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP;
$ocopy D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\UNDOTBS01.DBF D:\ORACLE\BAK\
ALTER TABLESPACE UNDOTBS1 END BACKUP;
ALTER TABLESPACE USERS BEGIN BACKUP;
$ocopy D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\USERS01.DBF D:\ORACLE\BAK\
ALTER TABLESPACE USERS END BACKUP;

ALTER SYSTEM ARCHIVE LOG CURRENT;
--select name from v$archived_log;
host xcopy /s/y D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DBNAME\ARCHIVELOG D:\ORACLE\BAK\ARCHIVELOG\

ALTER DATABASE BACKUP CONTROLFILE TO 'D:\ORACLE\BAK\CONTROL01.CTL';
--------------------------------
SHUTDOWN IMMEDIATE
$ocopy D:\ORACLE\BAK\TEMP01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\
$ocopy D:\ORACLE\BAK\SYSAUX01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\
$ocopy D:\ORACLE\BAK\SYSTEM01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\
$ocopy D:\ORACLE\BAK\UNDOTBS01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\
$ocopy D:\ORACLE\BAK\USERS01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\

host xcopy /s/y D:\ORACLE\BAK\ARCHIVELOG\ D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DBNAME\ARCHIVELOG\

$ocopy D:\ORACLE\BAK\CONTROL01.CTL D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\CONTROL01.CTL
STARTUP MOUNT
RECOVER AUTOMATIC DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE;  --ARCHIVEDLOG MODE
ALTER DATABASE OPEN RESETLOGS;  --USE 'ALTER DATABASE OPEN;' IN NO ARCHIVEDLOG MODE
ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\TEMP01.DBF'
Categories: 数据库 Tags:
  1. No comments yet.
  1. No trackbacks yet.