Oracle查询归档日志 |
您所在的位置:网站首页 › 犒怎么读怎么组词 › Oracle查询归档日志 |
查看归档日志大小及使用情况select * from v$recovery_file_dest SQL> select * from v$recovery_file_dest; NAME--------------------------------------------------------------------------------SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES----------- ---------- ----------------- ---------------/u03/fast_recovery_area 8589934592 6551817216 SQL> select * from v$flash_recovery_area_usage; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE-------------------- ------------------ -------------------------NUMBER_OF_FILES---------------CONTROL FILE 0 0 0 REDO LOG 1.83 0 3 ARCHIVED LOG 74.44 0 159如果 ARCHIVED LOG 超过90% oracle随时有宕机的危险 增大归档日志空间SQL> alter system set db_recovery_file_dest_size=20G; System altered. 删除归档日志 1.看看现在用了多少归档日志了(按百分比): select * from v$flash_recovery_area_usage;如果超过90%随时有宕机的危险2.当删除归档文件后需要用RMAN工具释放归档所占用的空间,首先连接RMAN工具 rman target sys/pass 3.查查归档日志吧 crosscheck archivelog all; 4.觉着没用就干掉它吧,如果想保留今天的用下面那个语句 delete expired archivelog all;(全部删除) delete archivelog until time 'sysdate - 1';(保留当天删除,删除之前所有) 也可以:$ORACLE_BASE/flash_recovery_area/你的实例名/archivelog/这个路径下,找到归档日志文件,把没用的删了 关闭归档
1.,用SYS用户进行登录,首先设置归档进程关闭。 alter system set log_archive_start = false scope = spfile; 2.然后关闭数据库 shutdown immediate; 3.启动DB到mount模式 startup mount; 4.关闭闪回数据库模式,如果不关的话总报错ORA-38774 alter database flashback off; 5.接着将数据库改为非归档模式吧 alter database noarchivelog; 6.打开数据库 alter database open; 7.查看一下空间大小吧 select * from v$recovery_file_dest; 8.看一下日志状态 select * from v$log; 9.使用情况查看方法还是如出一辙 select * from v$flash_recovery_area_usage;
归档设置
一 设置为归档方式 1 sql> archive log list; #查看是不是归档方式2 sql> alter system set log_archive_start=true scope=spfile; #启用主动归档 sql> alter system set log_archive_dest=''location=/oracle/ora9/oradata/arch'' scope=spfile; #设置归档路径 sql> alter system set log_archive_dest_1=''location=/oracle/ora9/oradata/arch1'' scope=spfile; sql> alter system set log_archive_dest_2=''location=/oracle/ora9/oradata/arch2'' scope=spfile; #如果归档到两个位置,则可以通过上边方法实现 sql> alter system set log_archive_format=''arch_%d_%t_%r_%s.log'' #设置归档日记款式 或者:1.SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=20G SCOPE=BOTH; 2.SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/DBA/FB' SCOPE=BOTH;
3 sql> shutdown immediate;4 sql> startup mount; #打开控制文件,不打开数据文件5 sql> alter database archivelog; #将数据库切换为归档模式6 sql> alter database open; #将数据文件打开7 sql> archive log list; #查看此时是否处于归档模式8 查询以确定数据库位于archivelog模式中且归档过程正在运行sql> select log_mode from v$database;sql> select archiver from v$instance;9 日志切换sql> alter system switch logfile;10 这次日志切换将归档写到两个目标地, 1,即第二步的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1,要是要对目录确认 在oracle情况中运行如下查询:sql> select name from v$archived_log;而后在操作系统中确认查询所列出的文件二 设置非归档方式1 sql> archive log list; #查看是否是归档方式2 sql> alter system set log_archive_start=false scope=spfile; #禁用自动归档3 sql> shutdown immediate;4 sql> startup mount; #打开控制文件,不打开数据文件5 sql> alter database noarchivelog; #将数据库切换为非归档模式6 sql> alter database open; #将数据文件打开7 sql> archive log list; #查看此时便处于非归档模式 三 归档相关命令 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; #将归档进程数改为5select * from v$bgprocess; #检察后台进程 ================= SQL> show parameter archive log; 显示所有的归档日志SQL> show parameter recover;NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string /u03/fast_recovery_areadb_recovery_file_dest_size big integer 8G 归档日志大小db_unrecoverable_scn_tracking boolean TRUErecovery_parallelism integer 0
转载自:https://blog.csdn.net/zhaoxiaofei0929/article/details/38826921 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |