惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
C
CERT Recently Published Vulnerability Notes
P
Proofpoint News Feed
Vercel News
Vercel News
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
Help Net Security
Help Net Security
月光博客
月光博客
N
News and Events Feed by Topic
Cloudbric
Cloudbric
博客园 - 司徒正美
L
LangChain Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tenable Blog
The Register - Security
The Register - Security
The Hacker News
The Hacker News
I
InfoQ
The Last Watchdog
The Last Watchdog
MyScale Blog
MyScale Blog
Schneier on Security
Schneier on Security
WordPress大学
WordPress大学
小众软件
小众软件
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
K
Kaspersky official blog
L
LINUX DO - 热门话题
N
News | PayPal Newsroom
F
Fortinet All Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security @ Cisco Blogs
Recorded Future
Recorded Future
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
Google Online Security Blog
Google Online Security Blog
S
Schneier on Security
C
Cisco Blogs
N
News and Events Feed by Topic
V2EX - 技术
V2EX - 技术
Latest news
Latest news
PCI Perspectives
PCI Perspectives
T
The Blog of Author Tim Ferriss
P
Palo Alto Networks Blog
T
Tor Project blog
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Webroot Blog
Webroot Blog
Attack and Defense Labs
Attack and Defense Labs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org

博客园 - TwinStudio

Stable Diffusion AI 绘画使用 chartGPT 是什么?如何使用chartGPT? ChatGPT指令大全(建议收藏) Vue3开发教程(一、学习Vue前需要了解的内容) mysql用mysqldump命令进行数据库备份与迁移 领导更喜欢的日报,长这样 Vue3快速上手,Vue3全解 MySQL优化常用的19种有效方法(推荐!) idea常用快捷键大全 MySQL的优化多种方法(至少15条) Cisco Systems VPN Client 显示不出 主界面 怎么点都打不开。我重装过了。又重新安装了。也没用 360也把他添加白名单 也显示不出= = - TwinStudio PL/SQL 工具中 TIMESTAMP 显示转换问题 oracle存储过程和存储函数sql 基于Azkaban的任务定时调度实践 帆软报表开发步骤 Oracle归档日志分析 帆软设置浏览内容宽度为屏幕宽度 JS修改下拉框控件的默认文字“不选” 帆软设置下拉框参数为空选择全部
Oracle查询归档日志
TwinStudio · 2022-04-16 · via 博客园 - TwinStudio

查看归档日志大小及使用情况
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; #将归档进程数改为5
select * from v$bgprocess;    #检察后台进程
 =================
 SQL> show parameter archive log; 显示所有的归档日志
SQL> show parameter recover;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u03/fast_recovery_area
db_recovery_file_dest_size           big integer 8G  归档日志大小
db_unrecoverable_scn_tracking        boolean     TRUE
recovery_parallelism                 integer     0