--备份基础相关-042
1. datafile
2. controlfile
3. redo
select * from v$log --默认50m大小,3组循环使用,非归档模式下循环覆盖,归档模式在切换重做日志时,会生成归档日志,覆盖前保留日志备份就是归档日志
select * from v$logfile
---====
select * from v$transaction
--XIDUSN XIDSLOT XIDSQN 组合就是事务的SID,也就是XID字段(16进制数表示)
--UBAFIL UBABLK UBASQN UBAREC 数据块dump下来有uda地址
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME --SEQUENCE#是归档模式下保持下来的记录的顺序的重要依据
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
1 1 91 52428800 1 YES INACTIVE 1525948 03-10月-13
2 1 92 52428800 1 NO CURRENT 1525956 03-10月-13
3 1 90 52428800 1 YES INACTIVE 1525933 03-10月-13
---=====
1.noarchivelog --刚创建数据库模式是费归档模式
2.archivelog
--如何查看当前是归档还是非归档模式
SQL> archive log list; --该命令执行必须要用SYS用户
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST --使用db_recovery_file_dest参数指定的位置
最早的联机日志序列 90
下一个存档日志序列 92
当前日志序列 92
SQL> select log_mode from v$database; --没用sys用户权限时用这个命令
LOG_MODE
------------
ARCHIVELOG
--===
非归档模式下 只有一种备份方式, 完全脱机备份(冷备份)
--非归档模式切换到归档模式
S1. shutdown immediate
S2. startup mount
S3. alter database archivelog
S4. alter database open
归档日志位置C:\oracle\product\10.2.0\flash_recovery_area\TEST\ARCHIVELOG\2013_10_03
1. flash recover area 闪回恢复区 目录
-- 是否使用闪回恢复区
SQL> show parameter db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string C:\oracle\product\10.2.0\flash --闪回恢复区目录
_recovery_area --限制使用空间大小
db_recovery_file_dest_size big integer 3G
--当db_recovery_file_dest的值为空时,10g就用不了闪回恢复区了,变得和9i一样了
alter system archive log current; --手动归档,1 日志切换,2归档,生成归档日志,只能用在归档模式下
select * from v$log;
O1_MF_1_93_94XJSMRF_.ARC --归档日志文件名 93序列号 94XJSMRF随即的防止重名
SQL> show parameter o7
NAME TYPE VALUE
------------------------------------ ----------- -------
O7_DICTIONARY_ACCESSIBILITY boolean FALSE
select * from v$process --可以查看归档进程
alter system switch logfile; --手动切换归档日志,归档非归档都能用
show parameter arch
log_archive_start boolean FALSE --?10g以前要使用自动归档需要修改该参数为true,10g以后这个参数被废除了
--9i,没有闪回恢复区 归档保存位置由以下两个参数指定
log_archive_dest
log_archive_duplex_dest --双路,归档日志镜像或者是备份就是两份
SQL> show parameter db_re;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string C:\oracle\product\10.2.0\flash
_recovery_area
db_recovery_file_dest_size big integer 3G
db_recycle_cache_size big integer 0
select * from v$archived_log --来源于控制文件,查看归档日志位置
show parameter log_arch
alter system set log_archive_dest_9='location=D:\oracle_bak\archlog'; --
ARC00095_0821450997.001 --归档文件名称,格式受以下参数限制
log_archive_format string ARC%S_%R.%T --S 序列号 R resetlogs_id唯一标识属于哪个生命周期的数据库日志,数据库的生命周期与resetlogs有关
incarnation 对应物
resetlogs --会重建重做日志,数据库变成新版本的数据库
select * from v$archived_log --resetlogs_id 相当于数据库版本号,唯一标示特定生命周期的数据库
--修改归档日志格式
alter system set log_archive_format='arch_%s_%r_%t.log' scope =spfile; --需要重新启动
ARCH_96_821450997_1.LOG
--修改归档日志使用闪回恢复区
alter system set db_recovery_file_dest='C:\oracle\product\10.2.0\flash_recovery_area\';
show parameter db_re;
alter system set log_archive_dest_10='location=use_db_recovery_file_dest';