大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
修改成归档模式步骤:
创新互联是一家专注于网站设计、网站制作与策划设计,栾川网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:栾川等地区。栾川做网站价格咨询:18982081108
关闭数据库
SQL shutdown immediate
启动数据库到mount
SQLstartup mount;
修改成归档模式
SQL alter database archivelog;
打开数据库
SQL alter database open;
修改成非归档模式:
步骤基本如上,只是将第三步中的命令改成如下:
SQL alter database noarchivelog;
注意事项:oracle数据库归档模式的的修改需要关闭数据库,所以在生产系统中修改时,需要考虑数据库启停时间。
一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。
二、把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,接下去我们要做的就是这个工作。
我们利用RMAN进行删除操作,操作步骤如下:(window客户端系统为例)
1.指定数据库实例
C:/Documents and Settings/AdministratorSET ORACLE_SID =orcl
2.连接数据库
C:/Documents and Settings/AdministratorRMAN TARGET SYS/sysadmin@orcl
3.查看归档日志的状态
RMAN list archivelog all;
4.手工删除归档日志文件
RMAN DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
说明:
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库
DELETE ARCHIVELOG from TIME 'SYSDATE-7'; 删除从7天前到现在的全部日志,慎用
UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
这样做仍然会在RMAN里留下未管理的归档文件
仍需要在RMAN里执行下面2条命令
crosscheck archivelog all;
delete expired archivelog all;
所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能
5.退出rman
RMAN exit
可以尝试这种方法:
1. 进入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
这时候我们再去OEM中看就一定看不到,如果你的从来没有做过这个动作的话,我们可以比较从这个动作前的controlfile后动作后的controlfile的大小!
ORACLE正确删除归档并回收空间的方法
ORACLE正确删除归档并回收空间的方法
一个ORACLE归档日志经常满,表现为/oraarchive
这个文件空间占用100%大家一定抱怨ORACLE为何没有归档维护工具,很多人直接删除了事,错了,ORACLE有,而且很智能,可以正确的删除归档和
FLASHBACK,不过切记,ORACLE归档日志对于ORACLE的数据恢复和备份非常重要,不到万不得已不要删除归档日志。
删除归档日志的过程
以ORACLE用户身份登录到数据库服务器主机或通过网络连接
进入ORACLE数据备份工具
rman target/
或rman target/@orcl
在命令窗口里面执行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
说明
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7'; 删除从7天前到现在的全部日志,慎用
UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
这样做仍然会在RMAN里留下未管理的归档文件
仍需要在RMAN里执行下面2条命令
crosscheck archivelog all;
delete expired archivelog all;
所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能
查看oracle数据库是否为归档模式
SQL select name,log_mode from V$database;
NAME LOG_MODE
------------------ ------------------------
TEST NOARCHIVELOG
SQL archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 80157
Current log sequence 80163
编辑本段配置数据库的.归档模式
1.改变非归档模式到归档模式:
1)SQL conn / as sysdba (以DBA身份连接数据库)
2)SQL shutdown immediate;(立即关闭数据库)
3)SQL startup mount (启动实例并加载数据库,但不打开)
4)SQL alter database archivelog; (更改数据库为归档模式)
5)SQL alter database open; (打开数据库)
6)SQL alter system archive log start; (启用自动归档)
7)SQL exit (退出)
做一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式已经不可用了.这一步非非常重要!
2.改变归档模式到非归档模式:
1)SQLSHUTDOWN NORMAL/IMMEDIATE;
2)SQLSTARTUP MOUNT;
3)SQLALTER DATABASE NOARCHIVELOG;
4)SQLALTER DATABASE OPEN;
3.归档相关命令
archive log stop;
archive log start;
archive log list;
show parameters;
show parameters log_archive_start;
show parameters log_archive_max_process; #归档进程数
alter system set log_archive_max_process=5; #将归档进程数改为5
select * from v$bgprocess; #检察后台进程
如果上次数据库异常关闭,得首先打开数据库回复归档后才能修改。
操作如下:
sqlplus nolog
conn / as sysdba --sys登录数据库
startup 启动数据库
archive log list 查看数据库归档模式
select supplemental log data min from v$database 查看是否开启最小附加日志
shutdown immediate 关闭数据库
startup mount 挂载数据库
alter database archivelog 更改数据库为归档模式
alter database add supplemental log data 打开最小附加日志
alter database open 打开数据库
alter system switch logfile 切换日志,时附加日志生效
--如果是改变日志前创建的表,应修改表为logging模式
alter table 表名 logging
如果开启归档,请保证log_archive_start=true开启自动归档,否则只能手工归档,如果是关闭了归档,则设置该参数为false 注意:如果是OPS/RAC环境,需要先把parallel_server = true注释掉,然后执行如下步骤,最后用这个参数重新启动 1、开启归档 a. 关闭数据库shutdown immediate b. startup mount c. alter database archivelog d. alter database opne 2、禁止归档 a. 关闭数据库shutdown immediate b. startup mount c. alter database noarchivelog d. alter database open 归档信息可以通过如下语句查看 SQL archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination E:\oracle\ora92\database\archive Oldest online log sequence 131 Next log sequence to archive 133 Current log sequence 133