Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3686361
  • 博文数量: 715
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7745
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(715)

文章存档

2023年(75)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

分类: Oracle

2022-04-08 16:56:03

清理无用的redo,用于恢复了adg环境后

  1. set lin 200
  2. col name for a60
  3. col member for a50
  4. set pages 200
  5. select name from v$controlfile union all
  6. select name from v$dbfile union all
  7. select member from v$logfile;


  8. set serverout on
  9. declare
  10.   -- 1 声明游标
  11.   cursor cur_redo1 is
  12.     select distinct a.group# from v$logFILE a where a.type='STANDBY';
  13.   v_log_info cur_redo1%rowtype;
  14.   v1 varchar2(100);
  15. begin
  16.   -- 2 开启游标
  17.   open cur_redo1;
  18.   
  19.   --dbms_output.put_line('--------------');
  20.   loop
  21.   -- 3 获取数据(一次获取一行)
  22.   fetch cur_redo1
  23.     into v_log_info;
  24.   exit when cur_redo1%notfound;
  25.   
  26.   for x in ( select member from v$logfile where group#=v_log_info.group#) loop
  27.    dbms_output.put_line('rm -f '||x.member);
  28.   end loop;
  29.   
  30.   
  31.   execute immediate 'alter database drop standby logfile group '||v_log_info.group#;
  32.   end loop;
  33.   
  34.   -- 4 关闭游标
  35.   close cur_redo1;
  36. end;
  37. /


  38. set serverout on

  39. declare

  40.   -- 1 声明游标
  41.   
  42.   cursor cur_redo is
  43. -- set lin 200
  44. -- col member for a50
  45.     select a.group#,a.status, a.thread# from v$log a where a.status not in ('ACTIVE','CURRENT') order by group# desc;
  46.     
  47.   v_log_info cur_redo%rowtype;
  48. begin
  49.   -- 2 开启游标
  50.   open cur_redo;
  51.   
  52.   dbms_output.put_line('--');
  53.   loop
  54.   -- 3 获取数据(一次获取一行)
  55.   fetch cur_redo
  56.     into v_log_info;
  57.   exit when cur_redo%notfound;
  58.   
  59.   for x in ( select member from v$logfile where group#=v_log_info.group#) loop
  60.    dbms_output.put_line('rm -f '||x.member);
  61.   end loop;
  62.   
  63.   --dbms_output.put_line(v_log_info.group# || ' : rm -f ' || v_log_info.member);
  64.   execute immediate 'alter database drop logfile group '||v_log_info.group#;
  65.   end loop;
  66.   
  67.   -- 4 关闭游标
  68.   close cur_redo;
  69. end;
  70. /



  71. select 'alter tablespace '||t.name||' drop tempfile '''||c.name||''';'
  72. from v$tempfile c, v$tablespace t where c.ts#=t.ts# and c.name not like '%t11_%';


  73. select 'rm -f '||substr(name,1,instr(name,'/',-1) )||'Archi*/*.dbf' c from v$dbfile where rownum<2;
  74. select 'create pfile='''||substr(name,1,instr(name,'/',-1) )||'init'||(select instance_name from v$instance)||'.ora'' from spfile;' c from v$dbfile where rownum<2;

舒爽了。
阅读(966) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~