oracle归档模式

二。什么是Oracle归档模式?
  Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。
  如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。
  数据库使用归档方式运行时才可以进行灾难性恢复。
1.归档日志模式和非归档日志模式的区别
非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复.
归档模式可以做热备份,并且可以做增量备份,可以做部分恢复.
用ARCHIVE LOG LIST 可以查看期模式状态时归档模式还是非归档模式

----非归档模式转归档模式
shutdown immediate;  #关闭数据库
startup mount;  #连接控制文件
alter database archivelog; #设置为归档模式
alter database open; #打开数据库

alter system set log_archive_dest_1="location=路径" scope=both;#设置本地归档日志的路径
alter system set log_archive_dest-1="server=路径" scope=both;#设置为远程归档日志的路径
archive log list;#使归档路径生效

如果归档日志空间满了,如何满足日常需要;
首先我们会考虑将部分归档日志移走或者删除,之后有可能会发现空间未释放。linux中当一个文件被进程使用或者占用的时候,移走或者删除文件,空间将不会释放,解决办法:关闭进程即可。
ps -fe|grep filename;
kill 最前面数字1 最前面数字2;
oracle归档日志的默认路径是$oracle_base/fast_recovery_area;默认大小为4g;
archive log list;#查看归档日志相关信息
方法1:增加归档空间
默认情况下,归档日志保存空间是在闪回区,
show parameter db_recovery;#查看闪回区空间大小和占用大小
alter system set db_recovery_file_dest_size=数值;#增大默认闪回区空间大小

方法2:修改归档日志路径为不受限制的路径
alter system set "location=路径";#必须确保路径存在
shutdown immediate;

alter database open;#重启数据库
archive log list;#检查归档日志路径是否设置成功

oracle控制文件

控制文件的概念控制文件是一个很小的二进制文件,用于记录数据库的物理结构。一个控制文件只属于一个数据库。创建数据库时,创建控制文件。当数据库的物理结构改变的时候,Oracle会更新控制文件。用户不能编辑控制文件,控制文件的修改由Oracle完成。
数据库的启动和正常运行都离不开控制文件。启动数据库时,Oracle从初始化参数文件中获得控制文件的名字及位置,打开控制文件,然后从控制文件中读取数据文件和联机日志文件的信息,最后打开数据库。数据库运行时,Oracle会修改控制文件,所以,一旦控制文件损坏,数据库将不能正常运行。
oracle数据文件
1.查看数据文件位置
Select * FROM DBA_DATA_FILES;

2.添加表空间

ALTER TABLESPACE "USERS" ADD DATAFILE '/u02/app/ora11g/users03.dbf' SIZE 8G;

原文地址:https://www.cnblogs.com/baojunblog/p/11289520.html