Bo's Oracle Station

查看: 1680|回复: 0

课程第41次(2017-10-10星期二)

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-10-10 19:58:56 | 显示全部楼层 |阅读模式
1Z0-053第8章
1Z0-05219章(上完13章),1Z0-05321章(上完14章)和1Z0-063多租户部分共9章(上完0章)
总共上完全部49章中的27

  1. select  * from repair_table;

  2. select * from orphan_key_table;

  3. BEGIN
  4.    DBMS_REPAIR.ADMIN_TABLES (
  5.    table_name => 'REPAIR_TABLE',
  6.    table_type => DBMS_REPAIR.REPAIR_TABLE,
  7.    action => DBMS_REPAIR.CREATE_ACTION,
  8.    tablespace => 'USERS');
  9. END;

  10. BEGIN
  11.    DBMS_REPAIR.ADMIN_TABLES (
  12.    table_name => 'ORPHAN_KEY_TABLE',
  13.    table_type => DBMS_REPAIR.ORPHAN_TABLE,
  14.    action => DBMS_REPAIR.CREATE_ACTION,
  15.    tablespace => 'USERS');
  16. END;

  17. ----

  18. DECLARE
  19. num_corrupt INT;
  20. BEGIN
  21. num_corrupt := 0;
  22. DBMS_REPAIR.CHECK_OBJECT (
  23.      schema_name => 'HR',
  24.        object_name => 'TLOGICAL',
  25.      repair_table_name => 'REPAIR_TABLE',
  26.     corrupt_count => num_corrupt);
  27.    dbms_output.put_line( 'Find  '|| num_corrupt||' Bolcks.'  );
  28. END;
  29. -------
  30. /*
  31. DECLARE
  32. num_fix INT;
  33. BEGIN
  34. num_fix := 0;
  35. DBMS_REPAIR.FIX_CORRUPT_BLOCKS (
  36.        schema_name => 'HR',
  37.        object_name => 'TLOGICAL',
  38.        object_type => DBMS_REPAIR.TABLE_OBJECT,
  39.        repair_table_name => 'REPAIR_TABLE',
  40.     fix_count => num_fix);
  41.     dbms_output.put_line( 'Find  '|| num_fix ||' Bolcks.'  );
  42. END;

  43. */

  44. select  * from repair_table;

  45. select * from orphan_key_table;

  46. -----
  47. DECLARE
  48. num_orphans INT;
  49. BEGIN
  50. num_orphans := 0;
  51. DBMS_REPAIR.DUMP_ORPHAN_KEYS (
  52.   schema_name => 'HR',
  53.   object_name => 'ILOGICAL_A',
  54.   object_type => DBMS_REPAIR.INDEX_OBJECT,
  55.   repair_table_name => 'REPAIR_TABLE',
  56.   orphan_table_name => 'ORPHAN_KEY_TABLE',
  57.   key_count => num_orphans);
  58. DBMS_OUTPUT.PUT_LINE('orphan key count: ' || TO_CHAR(num_orphans));
  59. END;
  60. ----
  61. select * from orphan_key_table;

  62. ----
  63. DECLARE
  64. num_orphans INT;
  65. BEGIN
  66. num_orphans := 0;
  67. DBMS_REPAIR.DUMP_ORPHAN_KEYS (
  68.   schema_name => 'HR',
  69.   object_name => 'ILOGICAL_B',
  70.   object_type => DBMS_REPAIR.INDEX_OBJECT,
  71.   repair_table_name => 'REPAIR_TABLE',
  72.   orphan_table_name => 'ORPHAN_KEY_TABLE',
  73.   key_count => num_orphans);
  74. DBMS_OUTPUT.PUT_LINE('orphan key count: ' || TO_CHAR(num_orphans));
  75. END;
  76. ----

  77. select * from orphan_key_table;



  78. select dump(key) from orphan_key_table
  79. where  keyrowid||' '='AAATrIAIgAAAIABAAA'||' '
  80.   and index_name='ILOGICAL_B';
  81. --196 41 2 86 11
  82.    --40018510
  83.   
  84. select dump(key) from orphan_key_table
  85. where  keyrowid||' '='AAATrIAIgAAAIABAAA'||' '
  86.   and index_name='ILOGICAL_A';
  87.   
  88. --- 108 99 119 99 108 122 99 122 108
  89. --- l      c    w    c   l      z     c   z     l


  90. begin
  91.     dbms_repair.skip_corrupt_blocks(schema_name => 'HR',
  92.     object_name => 'TLOGICAL');
  93.   end;
  94.   
  95.   begin
  96.      dbms_stats.gather_table_stats('HR','TLOGICAL');
  97.    end;
  98.   
  99.   
  100.   
  101.   select   i.index_name, i.status
  102.     from dba_indexes i
  103.      where i.table_owner='HR' and i.table_name='TLOGICAL';
  104.      
  105.     -- alter index ilogical rebuild online;
  106.      
  107.     drop index hr.ilogical_a;
  108.    
  109.     drop index hr.ilogical_b;
  110.    
  111.     create index hr.ilogical_a on hr.tlogical(a) ;
  112.    
  113.      create index hr.ilogical_b on hr.tlogical(b) ;




复制代码
  1. SQL> select  rowid  from tlogical;
  2. ERROR:
  3. ORA-01578: ORACLE data block corrupted (file # 6, block # 136)
  4. ORA-01110: data file 6: '+DATA/orcl/datafile/tbslogical.267.955745025'
  5. ORA-26040: Data block was loaded using the NOLOGGING option



  6. no rows selected

  7. SQL> dsc tlogical
  8. SP2-0734: unknown command beginning "dsc tlogic..." - rest of line ignored.
  9. SQL> desc tlogical
  10. Name                                           Null?    Type
  11. ----------------------------------------- -------- ----------------------------
  12. A                                                    VARCHAR2(20)
  13. B                                                    NUMBER

  14. SQL> select dump(1) from dual;

  15. DUMP(1)
  16. ------------------
  17. Typ=2 Len=2: 193,2

  18. SQL> select dump(10) from dual;

  19. DUMP(10)
  20. -------------------
  21. Typ=2 Len=2: 193,11

  22. SQL> select dump(100) from dual;

  23. DUMP(100)
  24. ------------------
  25. Typ=2 Len=2: 194,2

  26. SQL> select dump(1000) from dual;

  27. DUMP(1000)
  28. -------------------
  29. Typ=2 Len=2: 194,11

  30. SQL> select dump(110) from dual;

  31. DUMP(110)
  32. ---------------------
  33. Typ=2 Len=3: 194,2,11

  34. SQL> select dump(0) from dual;

  35. DUMP(0)
  36. ----------------
  37. Typ=2 Len=1: 128

  38. SQL> select dump(-1) from dual;

  39. DUMP(-1)
  40. -----------------------
  41. Typ=2 Len=3: 62,100,102

  42. SQL> select dump(-10) from dual;

  43. DUMP(-10)
  44. ----------------------
  45. Typ=2 Len=3: 62,91,102

  46. SQL> select dump(-100) from dual;

  47. DUMP(-100)
  48. -----------------------
  49. Typ=2 Len=3: 61,100,102

  50. SQL> select dump(-1000) from dual;

  51. DUMP(-1000)
  52. ----------------------
  53. Typ=2 Len=3: 61,91,102

  54. SQL> select dump(-110) from dual;

  55. DUMP(-110)
  56. --------------------------
  57. Typ=2 Len=4: 61,100,91,102

  58. SQL> select dump(123456.789) from dual;

  59. DUMP(123456.789)
  60. -------------------------------
  61. Typ=2 Len=6: 195,13,35,57,79,91

  62. SQL> select dump(-123456.789) from dual;

  63. DUMP(-123456.789)
  64. ----------------------------------
  65. Typ=2 Len=7: 60,89,67,45,23,11,102

  66. SQL> select dump(-123456.78901) from dual;

  67. DUMP(-123456.78901)
  68. -------------------------------------
  69. Typ=2 Len=8: 60,89,67,45,23,11,91,102

  70. SQL>
复制代码
Screenshot.png

--------------------------------------------------------------------------
  1. SELECT SID, SPID, CLIENT_INFO
  2. FROM V$PROCESS p, V$SESSION s
  3. WHERE p.ADDR = s.PADDR
  4. AND CLIENT_INFO LIKE '%id=zhang3%';


  5. SELECT SID, SPID, CLIENT_INFO
  6. FROM V$PROCESS p, V$SESSION s
  7. WHERE p.ADDR = s.PADDR
  8. AND s.program LIKE '%rman%';


  9. select  * from v_$session_longops s
  10.   where s.SID in ( 139 , 14 , 200 );
  11.   
  12.   
  13.   select  * from v$backup_sync_io;
  14.   
  15.   select  * from v$backup_async_io;
复制代码





关于备份优化:
Each file need at least 4 buffers!

DISK Read(Backup/Restore)

Max4files_16Mchannel
    1. buffer=1Mbuffer
    2. 1file=16*1Mbuffer
       2files=8*1Mbuffer+8*1Mbuffer
       3files=8*1Mbuffer+4*1Mbuffer+4*1Mbuffer
       4files=4*1Mbuffer+4*1Mbuffer+4*1Mbuffer+4*1Mbuffer



5-Max8files_less16Mchannel
    1. buffer=512Kbuffer
    2. 5files=5*4*512Kbuffer=10Mchannel
    3. 6files=6*4*512Kbuffer=12Mchannel
    4. 7files=7*4*512Kbuffer=14Mchannel
    5. 8files=8*4*512Kbuffer=16Mchannel



8+files
    1. buffer=128Kbuffer
    2. 9files=9*4*128Kbuffer=4.5Mchannel
    3. 16files=16*4*128Kbuffer=8Mchannel



  1. select  b.DISCRETE_BYTES_PER_SECOND    from v_$backup_sync_io  b;
  2.   
  3.   select  a.SHORT_WAIT_TIME_TOTAL, a.LONG_WAIT_TIME_TOTAL
  4.     from v_$backup_async_io a ;
复制代码
  1. RMAN> run {
  2. 2> allocate channel c1 device type sbt  maxopenfiles 4;
  3. 3> allocate channel c2 device type sbt  maxopenfiles 4;
  4. 4> backup (datafile 1 channel c1) ( datafile 2,3,4,5,6 channel c2 )  ;
  5. 5> }

  6. released channel: ORA_SBT_TAPE_1
  7. released channel: ORA_SBT_TAPE_2
  8. allocated channel: c1
  9. channel c1: SID=15 device type=SBT_TAPE
  10. channel c1: Oracle Secure Backup

  11. allocated channel: c2
  12. channel c2: SID=202 device type=SBT_TAPE
  13. channel c2: Oracle Secure Backup

  14. Starting backup at 10-OCT-17
  15. channel c1: starting full datafile backup set
  16. channel c1: specifying datafile(s) in backup set
  17. input datafile file number=00001 name=+DATA/orcl/datafile/system.256.816169553
  18. channel c1: starting piece 1 at 10-OCT-17
  19. channel c2: starting full datafile backup set
  20. channel c2: specifying datafile(s) in backup set
  21. input datafile file number=00003 name=+DATA/orcl/datafile/undotbs1.258.816169553
  22. input datafile file number=00002 name=+DATA/orcl/datafile/sysaux.257.816169553
  23. input datafile file number=00005 name=+DATA/orcl/datafile/example.265.955748593
  24. input datafile file number=00004 name=+DATA/orcl/datafile/users.259.816169553
  25. input datafile file number=00006 name=+DATA/orcl/datafile/tbslogical.267.955745025
  26. channel c2: starting piece 1 at 10-OCT-17
  27. channel c2: finished piece 1 at 10-OCT-17
  28. piece handle=4csgml96_1_1 tag=TAG20171010T213325 comment=API Version 2.0,MMS Version 10.4.0.4
  29. channel c2: backup set complete, elapsed time: 00:00:20
  30. channel c1: finished piece 1 at 10-OCT-17
  31. piece handle=4bsgml96_1_1 tag=TAG20171010T213325 comment=API Version 2.0,MMS Version 10.4.0.4
  32. channel c1: backup set complete, elapsed time: 00:00:30
  33. Finished backup at 10-OCT-17

  34. Starting Control File and SPFILE Autobackup at 10-OCT-17
  35. piece handle=c-1343950367-20171010-07 comment=API Version 2.0,MMS Version 10.4.0.4
  36. Finished Control File and SPFILE Autobackup at 10-OCT-17
  37. released channel: c1
  38. released channel: c2

  39. RMAN>
复制代码
  1.     RMAN> backup  tag 'MYBACKUP3'   duration 00:03  minimize load  tablespace users ;

  2.     Starting backup at 2017-10-10:21:39:39
  3.     using channel ORA_SBT_TAPE_1
  4.     using channel ORA_SBT_TAPE_2
  5.     channel ORA_SBT_TAPE_1: starting full datafile backup set
  6.     channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set
  7.     input datafile file number=00004 name=+DATA/orcl/datafile/users.259.816169553
  8.     channel ORA_SBT_TAPE_1: starting piece 1 at 2017-10-10:21:39:39
  9.     channel ORA_SBT_TAPE_1: finished piece 1 at 2017-10-10:21:42:42
  10.     piece handle=4gsgmlkr_1_1 tag=MYBACKUP3 comment=API Version 2.0,MMS Version 10.4.0.4
  11.     channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:03:03
  12.     channel ORA_SBT_TAPE_1: throttle time: 0:02:42
  13.     Finished backup at 2017-10-10:21:42:42

  14.     Starting Control File and SPFILE Autobackup at 2017-10-10:21:42:42
  15.     piece handle=c-1343950367-20171010-09 comment=API Version 2.0,MMS Version 10.4.0.4
  16.     Finished Control File and SPFILE Autobackup at 2017-10-10:21:43:07



复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-4-19 22:10 , Processed in 0.039672 second(s), 27 queries .

快速回复 返回顶部 返回列表