Posts

Showing posts with the label Oracle Backup/Restore

ORACLE manual backup/restore

  手工备份及恢复: 缺点:需要手工管理备份内容,容易丢失,不利于管理 表空间: 实现: 表空间:select * from v$tablespace 数据文件:select * from v$datafile 备份: 1. 在数据库中输入命令:alter tablespace 表空间 begin backup; 2. 在OS手工复制数据文件 3. 在数据库中输入命令:alter tablespace 表空间 end backup; 还原: 1. 在数据库中输入命令:alter database datafile 数字 offline; 2. 在OS手工复制数据文件 3. 在数据库中输入命令:recover datafile 数字; 4. 在数据库中输入命令:alter database datafile 数字 online; 控制文件备份 控制文件备份: 1. 指定路径:SQL>alter database backup controlfile to '备份路径\备份文件名'; 2. 备份到trace:SQL>alter database backup controlfile to trace; 控制文件备份到参数:USER_DUMP_DEST 控制文件恢复 1. 控制部分丢失(control01,control02文件遗失) 方法一: shutdown abort startup nomount alter system set control_files='$ORACLE_BASE/oradata/$ORACLE_SID/control03.ctl' scope=spfile; shutdown abort; startup 方法二: shutdown abort 将现有文件复制两份,改名为crontrol01.ctl;control02.ctl startup 2. 控制文件全部丢失(备份文件比较旧) 确保从上一次备份到控制文件丢失过程中,所有的redo log或者archived log都在。 否则只能进行不完全恢复 shutdown ab...

ORACLE RMAN BACKUP POLICY SETTING

ORACLE 10g备份(会自动删除截止到备份时所有的archivelog) 每周全备一次 保留30天可用的备份集; 控制文件自动备份; RHEL系统 1. RMAN设置: RMAN>configure controlfile autobackup on; RMAN>configure retention policy to recovery window of 30 days; 2. 备份脚本: $ORACLE_HOME/bin/rman <<EOF connect target / backup as compressed backupset database include current controlfile plus archivelog delete input; delete noprompt obsolete; exit; EOF 3. 修改crontab设置: ORACLE$crontab -e * * * * * 7 /路径/文件名 >/dev/null 2>&1 windows系统 1. RMAN设置: RMAN>configure controlfile autobackup on; RMAN>configure retention policy to recovery window of 30 days; 2. 备份脚本: a. bat文件: rem run rman rman cmdfile=full_backup.txt b. full_backup.txt connect target / backup as compressed backupset database include current controlfile plus archivelog delete input; delete noprompt obsolete; exit; 3. 计划任务设置: 控制面板/计划任务 ORACLE增量备份(会自动删除截止到备份时所有的archivelog) 备份脚本: backup incremental level 0 database including current controlfile plu...

ORACLE CLASSICAL BACKUP POLICY

1. Every half year make full backup 2. Every month level 0 backup 3. Every week level 1 backup --> cumulative ( backup incremental level 1 cumulative  ) 4. Every day level 2 backup --> incremental ( backup incremental level 1 )   Full backup Script:   run{     allocate channel c1 type disk;     allocate channel c2 type disk;     allocate channel c3 type disk;     backup full tag  ' dbfull '  format  ' /u01/oradata/backup/full%u_%s_%p '  database     include current controlfile;     sql  ' alter system archive log current ' ;     backup filesperset 3 format  ' /u01/oradata/backup/arch%u_%s_%p '     archivelog all delete input; # 备份归档可选,可以单独定期备份     release channel c1;     release channel c2;     release channel c3;     } ...

ORACLE import/export

Attention: there is no ";" at the end of exdp/impdp command 如果是大规模的导入建议关闭归档,或者提前确认空间。 sql>shutdown immediate; sql>startup nomout; sql>alter database noarchivelog; sql>alter database open;   备份类型:逻辑备份 /  物理备份(冷、热) 逻辑备份 ORACLE 9i 脚本在哪里运行,文件就产生在哪里。exp对应imp,确保服务器与客户端字符集一致 exp  scott/tiger@demo  Grants=Y Compress=Y Consistent =Y Indexes = Y Constraints =Y Rows = Y Triggers =Y file= d:\file.dmp tables=(dept,emp) imp  scott/tiger@demo  Analyze=Y Commit=Y Constraints=Y Grants=Y Ignore=Y Indexes=Y Rows=Y file= d:\file.dmp tables=(dept,emp) ORACLE 10g 脚本只产生在服务器上。expdp对应impdp 1. 创建ORACLE Directory OS:mkdir /tmp/movedata sys用户: SQL>grant create any directory to hr; hr用户: SQL>create or replace directory  datamove as '/tmp/movedata'; 查看:select * from dba_directories 删除:drop directory datamove 授权其他用户使用directory:grant read,write on directory <directory_name> to <username> 2. 导出: 全库:expdp syst...

ORACLE Recover Procedure

1. Connect database as sysdba 2. Write down the sys time 3. Drop one procedure: drop prcedure P_TEST 4. run following script: select text from dba_source as of timestamp to_timestamp('2014-11-25 17:20:00', 'YYYY-MM-DD HH24:MI:SS') where owner='DB_T' and name= 'P_LOAD_001' order by line; TEXT ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ PROCEDURE P_LOAD_001(V_EPARCHY_CODE IN VARCHAR2,                         V_SETT_MONTH   IN VARCHAR2,                         V_BACK_ID      OUT NUMBER,                         V_BACK_MSG   ...

ORACLE RMAN backup/restore

  RMAN可以进行增量备份:数据库,表空间,数据文件 只有使用过的block可以被备份成backup set 表空间与数据文件对应关系:dba_data_files / v$datafile_header 在noarchivelog模式下,可以使用RMAN备份read-only和offline的表空间 ORACLE RMAN停机备份: 备份 RMAN连接上ORACLE,WINDOWS下在命令模式下 RMAN TARGET / 连接本地数据库用的是本地认证模式。RMAN连接数据库必须在dedicate模式下。因此在share模式下的数据库应配置一个dedicate的连接用于RMAN连接。 如果要把控制文件、参数文件也一起备份 configure controfile autobackup on;//打开autobackup  configure controfile autobackup off;//关闭autobackup 关闭数据库 RMAN>shutdown immediate mount 数据库RMAN的备份必须在MOUNT模式下,这也就是控制文件备份的重要。 RMAN>startup mount 最简单的备份 RMAN>backup database 就这一句就OK了 这样的备份,备份集在数据库默认位置。%oracle_home%/ora92/database 当然你也可以用run来灵活的定义你的备份。 RMAN>run{ >allocate chennel d1 type disk; //分配通道 >backup full database           //全备份数据库 >include current controlfile    //包括当前的controlfile >format 'e:\oracle\orders\db_%d_%s_%p_%t_%T'; //备份文件位置和文件名格式 >release channel d1;//释放通道 >} 恢复 1、数据文件损坏,而控制文件是好...