通过手工管理数据库备份的方式通常是在对数据库进行文件方面的操作,这个过程需要管理员全面参与并且手工完成。与使用RMAN不同的是手工管理不再完全依赖系统定义的参数进行配置。
手工冷备步骤
在完全关闭数据库的情况下,我们可以通过拷贝数据库的数据文件,控制文件和重做日志文件来完整的备份数据库。
首先查看文件位置:
sql>selectfile_namefromdba_data_files; sql>selectnamefromv$controlfile; sql>selectgroup#,member,statusfromv$logfile;
sql>shutdownimmediate;
然后依次创建datafile,controlfile,redofile三个备份目录,将对应文件一次拷贝到这三个目录即可。
对数据库恢复也只需要将备份的数据拷贝到原来的位置,然后启动数据库即可。
手工热备步骤
在使用联机热备功能的时候需要将数据置于归档模式.
sql>archiveloglist; Databaselogmode ArchiveMode Automaticarchival Enabled Archivedestination USE_DB_RECOVERY_FILE_DEST Oldestonlinelogsequence27 Nextlogsequencetoarchive29 Currentlogsequence 29 sql>
显示处于开启状态。查看进程状态正常:
[root@temp-test~]#ps-ef|greparc oracle872410Nov06?00:00:02ora_arc0_orcl oracle872610Nov06?00:00:04ora_arc1_orcl oracle872810Nov06?00:00:02ora_arc2_orcl oracle873010Nov06?00:00:02ora_arc3_orcl
设置归档日志文件的冗余,保证数据安全:
查看归档日志相关参数:
sql>showparameterlog_archive_dest;
新建三个目录,分别存放三分相同的归档日志作为冗余备份:
[oracle@temp-test~]$mkdir-p/data/app/backup/arc{1..3} [oracle@temp-test~]$ll/data/app/backup/ total0 drwxr-xr-x2oracleoinstall6Nov713:44arc1 drwxr-xr-x2oracleoinstall6Nov713:44arc2 drwxr-xr-x2oracleoinstall6Nov713:44arc3
设置3个归档目录:
sql>altersystemsetlog_archive_dest_1='location=/data/app/backup/arc1mandatory'; Systemaltered. sql>altersystemsetlog_archive_dest_2='location=/data/app/backup/arc2optional'; Systemaltered. sql>altersystemsetlog_archive_dest_3='location=/data/app/backup/arc3'; Systemaltered.
查看设置信息:
sql>showparameterlog_archive;
mandatory表示强制日志归档的目录,要求日志数据必须归档成功后才可以切换,optional是可选的归档不成功也可以切换日志,如果optional目录损坏,不影响日志归档。
执行日志切换,归档文件会保存到指定的目录中:
sql>altersystemswitchlogfile; Systemaltered.
[oracle@temp-testbackup]$tree/data/app/backup/ /data/app/backup/ ├──arc1 │└──1_29_959021937.dbf ├──arc2 │└──1_29_959021937.dbf └──arc3 └──1_29_959021937.dbf
设置最少必须归档成功的日志数量,必须成功两份:
sql>altersystemsetlog_archive_min_succeed_dest=2; Systemaltered.
sql>showparameterlog_archive_min_succeed_Dest; NAMETYPEVALUE ----------------------------------------------------------------------------- log_archive_min_succeed_destinteger2
备份数据,查看表空间对应的数据文件:
sql>colfile_namefora47 sql>coltablespace_namefora10 sql>selectfile_id,file_name,tablespace_namefromdba_data_files; FILE_IDFILE_NAMetaBLESPACE ------------------------------------------------------------------- 4/data/app/oracle/oradata/orcl/users01.dbfUSERS 3/data/app/oracle/oradata/orcl/undotbs01.dbfUNDOTBS1 2/data/app/oracle/oradata/orcl/sysaux01.dbfSYSAUX 1/data/app/oracle/oradata/orcl/system01.dbfSYSTEM 5/data/app/oracle/oradata/orcl/example01.dbfEXAMPLE
这里我们备份USER表,ID为4,将表置于备份模式:
sql>altertablespaceusersbeginbackup; Tablespacealtered.
查看备份状态,ID为4的user表显示为active:
sql>select*fromv$backup; FILE#STATUSCHANGE#TIME ----------------------------------------------- 1NOTACTIVE0 2NOTACTIVE0 3NOTACTIVE0 4ACTIVE152962407-NOV-17 5NOTACTIVE0
然后直接使用系统的cp命令,拷贝对应目录下的数据文件,到备份目录即可。然后结束备份模式:
sql>altertablespaceusersendbackup; Tablespacealtered. sql>select*fromv$backup; FILE#STATUSCHANGE#TIME ----------------------------------------------- 1NOTACTIVE0 2NOTACTIVE0 3NOTACTIVE0 4NOTACTIVE152962407-NOV-17 5NOTACTIVE0
将当前重做日志信息写入归档日志文件:
sql>altersystemarchivelogcurrent; Systemaltered. #一段时间后,检查点恢复一致 sql>selectcheckpoint_change#,file#fromv$datafile; CHECKPOINT_CHANGE#FILE# ---------------------------- 15306031 15306032 15306033 15306034 15306035原文链接:https://www.f2er.com/oracle/207031.html