RMAN深入解析之--BlockRecover恢复坏块 案例环境: 操作系统:RedHat EL5 Oracle: Oracle 11gR2 案例描述: 通过块介质恢复(Block Media Recover:BMR)执行块级别的恢复操作来修复Oracle数据库上的逻辑或物理上损坏的数据块。 1、模拟数据块被破坏 10:26:48
RMAN深入解析之--BlockRecover恢复坏块
案例环境:
操作系统:RedHat EL5
Oracle: Oracle 11gR2
案例描述:
通过块介质恢复(Block Media Recover:BMR)执行块级别的恢复操作来修复Oracle数据库上的逻辑或物理上损坏的数据块。
1、模拟数据块被破坏
10:26:48 SYS@ prod>conn scott/tiger Connected. 10:26:51 SCOTT@ prod>select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BONUS TABLE DEPT TABLE EMP TABLE EMP1 TABLE SALGRADE TABLE Elapsed: 00:00:00.10 10:26:55 SCOTT@ prod> 10:27:37 SYS@ prod>desc dba_segments Name Null? Type ----------------------------------------------------------------- -------- ------------- OWNER VARCHAR2(30) SEGMENT_NAME VARCHAR2(81) PARTITION_NAME VARCHAR2(30) SEGMENT_TYPE VARCHAR2(18) SEGMENT_SUBTYPE VARCHAR2(10) TABLESPACE_NAME VARCHAR2(30) HEADER_FILE NUMBER HEADER_BLOCK NUMBER BYTES NUMBER BLOCKS NUMBER EXTENTS NUMBER INITIAL_EXTENT NUMBER NEXT_EXTENT NUMBER MIN_EXTENTS NUMBER MAX_EXTENTS NUMBER MAX_SIZE NUMBER RETENTION VARCHAR2(7) MINRETENTION NUMBER PCT_INCREASE NUMBER FREELISTS NUMBER FREELIST_GROUPS NUMBER RELATIVE_FNO NUMBER BUFFER_POOL VARCHAR2(7) FLASH_CACHE VARCHAR2(7) CELL_FLASH_CACHE VARCHAR2(7) 10:27:41 SYS@ prod>col segment_name for a20 10:27:59 SYS@ prod>select owner,segment_name,SEGMENT_TYPE,HEADER_BLOCK from dba_segments 10:29:06 2 where owner='SCOTT' and segment_name='EMP1'; OWNER SEGMENT_NAME SEGMENT_TYPE HEADER_BLOCK ------------------------------ -------------------- ------------------ ------------ SCOTT EMP1 TABLE 170
通过以上查询,可以知道EMP1 table的segment header block为170;利用Uedit32,打开数据文件(users01.dbf)进行编辑破坏!
以下是计算block 170和block 171在Uedit32编辑中的offset:
10:29:24 SYS@ prod>select to_char(170*8*1024, 'xxxxxxxxxxxxxxxxxxxxx') from dual;
TO_CHAR(170*8*1024,'XX
----------------------
154000
10:30:27 SYS@ prod>select to_char(171*8*1024, 'xxxxxxxxxxxxxxxxxxxxx') from dual;
TO_CHAR(171*8*1024,'XX
----------------------
156000
以下是Uedit32编辑users01.dbf图片:
通过转储数据块验证:
10:30:37 SYS@ prod>alter system dump datafile 4 block 170;
System altered.
[oracle@rh6 ~]$ ls -lt /u01/app/oracle/diag/rdbms/prod/prod/trace/|more
total 14300
-rw-r----- 1 oracle oinstall 4492 Jul 15 11:34 prod_ora_2883.trc -rw-r----- 1 oracle oinstall 69 Jul 15 11:34 prod_ora_2883.trm -rw-r----- 1 oracle oinstall 557756 Jul 15 10:17 alert_prod.log -rw-r----- 1 oracle oinstall 947 Jul 15 10:17 prod_ckpt_2541.trc -rw-r----- 1 oracle oinstall 59 Jul 15 10:17 prod_ckpt_2541.trm -rw-r----- 1 oracle oinstall 1783 Jul 15 10:12 prod_j000_2588.trc -rw-r----- 1 oracle oinstall 80 Jul 15 10:12 prod_j000_2588.trm
查看转储文件:
[oracle@rh6 ~]$ cat /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_ora_2883.trc|more
Trace file /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_ora_2883.trc Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1 System name: Linux Node name: rh6 Release: 2.6.32-358.el6.x86_64 Version: #1 SMP Tue Jan 29 11:47:41 EST 2013 Machine: x86_64 Instance name: prod Redo thread mounted by this instance: 1 Oracle process number: 26 Unix process pid: 2883, image: oracle@rh6 (TNS V1-V3) *** 2014-07-15 11:34:50.092 *** SESSION ID:(37.32) 2014-07-15 11:34:50.092 *** CLIENT ID:() 2014-07-15 11:34:50.092 *** SERVICE NAME:(SYS$USERS) 2014-07-15 11:34:50.092 *** MODULE NAME:(sqlplus@rh6 (TNS V1-V3)) 2014-07-15 11:34:50.092 *** ACTION NAME:() 2014-07-15 11:34:50.092 Start dump data blocks tsn: 4 file#:4 minblk 170 maxblk 170 Block dump from cache: Dump of buffer cache at level 4 for tsn=4, rdba=16777386 Block dump from disk: buffer tsn: 4 rdba: 0x010000aa (4/170) scn: 0x0000.001f891c seq: 0x02 flg: 0x04 tail: 0x891c2302 frmt: 0x02 chkval: 0x8eee type: 0x23=PAGETABLE SEGMENT HEADER Hex dump of block: st=0, typ_found=1 Dump of memory from 0x00007F7DFC5C7A00 to 0x00007F7DFC5C9A00
7F7DFC5C7A00 0000A223 010000AA 001F891C 04020000 [#...............]
---此行内容与Uedit32打开内容一致
7F7DFC5C7A10 00008EEE 00000000 00000000 00000000 [................] 7F7DFC5C7A20 00000000 00000001 00000008 00000A9C [................] 7F7DFC5C7A30 00000000 00000008 00000008 010000B0 [................] 7F7DFC5C7A40 00000000 00000000 00000000 00000008 [................] 7F7DFC5C7A50 00000000 00000000 00000000 00000000 [................] 7F7DFC5C7A60 00000008 00000008 010000B0 00000000 [................] 7F7DFC5C7A70 00000000 00000000 00000008 010000A8 [................] 7F7DFC5C7A80 010000A8 00000000 00000000 00000000 [................] 7F7DFC5C7A90 00000000 00000000 00000000 00000000 [................] Repeat 3 times 7F7DFC5C7AD0 00000001 00002000 00000000 00001434 [..... ......4...] 7F7DFC5C7AE0 00000000 010000A9 00000001 010000A8 [................] 7F7DFC5C7AF0 010000A9 00000000 00000000 00000000 [................] 7F7DFC5C7B00 00000000 00000000 00000001 00000000 [................] 7F7DFC5C7B10 0001257B 10000000 010000A8 00000008 [{%..............] 7F7DFC5C7B20 00000000 00000000 00000000 00000000 [................] Repeat 152 times 7F7DFC5C84B0 010000A8 010000AB 00000000 00000000 [................] 7F7DFC5C84C0 00000000 00000000 00000000 00000000 [................] Repeat 151 times 7F7DFC5C8E40 00000000 00000000 010000A9 00000000 [................] 7F7DFC5C8E50 00000000 00000000 00000000 00000000 [................] Repeat 185 times 7F7DFC5C99F0 00000000 00000000 00000000 891C2302 [.............#..] Extent Control Header ----------------------------------------------------------------- Extent Header:: spare1: 0 spare2: 0 #extents: 1 #blocks: 8 last map 0x00000000 #maps: 0 offset: 2716 Highwater:: 0x010000b0 ext#: 0 blk#: 8 ext size: 8 #blocks in seg. hdr's freelists: 0 #blocks below: 8 mapblk 0x00000000 offset: 0 Unlocked -------------------------------------------------------- Low HighWater Mark : Highwater:: 0x010000b0 ext#: 0 blk#: 8 ext size: 8 #blocks in seg. hdr's freelists: 0 #blocks below: 8 mapblk 0x00000000 offset: 0 Level 1 BMB for High HWM block: 0x010000a8 Level 1 BMB for Low HWM block: 0x010000a8 -------------------------------------------------------- Segment Type: 1 nl2: 1 blksz: 8192 fbsz: 0 L2 Array start offset: 0x00001434 First Level 3 BMB: 0x00000000 L2 Hint for inserts: 0x010000a9 Last Level 1 BMB: 0x010000a8 Last Level II BMB: 0x010000a9 Last Level III BMB: 0x00000000 Map Header:: next 0x00000000 #extents: 1 obj#: 75131 flag: 0x10000000 Inc # 0 Extent Map ----------------------------------------------------------------- 0x010000a8 length: 8 Auxillary Map -------------------------------------------------------- Extent 0 : L1 dba: 0x010000a8 Data dba: 0x010000ab -------------------------------------------------------- Second Level Bitmap block DBAs -------------------------------------------------------- DBA 1: 0x010000a9 End dump data blocks tsn: 4 file#: 4 minblk 170 maxblk 170
2、将Uedit32(通过16进制编辑功能)编辑过的数据文件上传到数据库
13:59:58 SYS@ prod>alter system flush buffer_cache;
System altered.
读取数据出错:
14:00:05 SYS@ prod>select * from scott.emp1; select * from scott.emp1 * ERROR at line 1: ORA-01578: ORACLE data block corrupted (file # 4, block # 170) ORA-01110: data file 4: '/u01/app/oracle/oradata/prod/users01.dbf'
验证数据文件:
[oracle@rh6 ~]$ dbv file=/u01/app/oracle/oradata/prod/users01.dbf blocksize=8192
DBVERIFY: Release 11.2.0.1.0 - Production on Tue Jul 15 13:59:41 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/prod/users01.dbf Page 170 is marked corrupt Corrupt block relative dba: 0x010000aa (file 4, block 170) Bad check value found during dbv: Data in bad block: type: 35 format: 2 rdba: 0x010000aa last change scn: 0x0000.001f891c seq: 0x2 flg: 0x04 spare1: 0x0 spare2: 0x0 spare3: 0x0 consistency value in tail: 0x891c2302 check value in block header: 0x8eee computed block checksum: 0x2020 Page 171 is marked corrupt Corrupt block relative dba: 0x010000ab (file 4, block 171) Bad header found during dbv: Data in bad block: type: 6 format: 2 rdba: 0x012020ab last change scn: 0x2020.201f890b seq: 0x2 flg: 0x04 spare1: 0x20 spare2: 0x20 spare3: 0x2020 consistency value in tail: 0x890b0602 check value in block header: 0xcf8b computed block checksum: 0x2e00 Page 172 is marked corrupt Corrupt block relative dba: 0x010000ac (file 4, block 172) Bad header found during dbv: Data in bad block: type: 6 format: 2 rdba: 0x012020ac last change scn: 0x2020.201f891c seq: 0x3 flg: 0x06 spare1: 0x20 spare2: 0x20 spare3: 0x2020 consistency value in tail: 0x891c0603 check value in block header: 0xa5b1 computed block checksum: 0x0 Page 173 is marked corrupt Corrupt block relative dba: 0x010000ad (file 4, block 173) Bad header found during dbv: Data in bad block: type: 6 format: 2 rdba: 0x012020ad last change scn: 0x2020.201f891c seq: 0x1 flg: 0x04 spare1: 0x20 spare2: 0x20 spare3: 0x2020 consistency value in tail: 0x891c0601 check value in block header: 0xf6ab computed block checksum: 0x2020 Page 174 is marked corrupt Corrupt block relative dba: 0x010000ae (file 4, block 174) Bad header found during dbv: Data in bad block: type: 6 format: 2 rdba: 0x012020ae last change scn: 0x2020.201f891c seq: 0x1 flg: 0x04 spare1: 0x20 spare2: 0x20 spare3: 0x2020 consistency value in tail: 0x891c0601 check value in block header: 0xcef0 computed block checksum: 0x20 Page 175 is marked corrupt Corrupt block relative dba: 0x010000af (file 4, block 175) Bad header found during dbv: Data in bad block: type: 6 format: 2 rdba: 0x012020af last change scn: 0x2020.201f891c seq: 0x1 flg: 0x04 spare1: 0x20 spare2: 0x20 spare3: 0x2020 consistency value in tail: 0x891c0601 check value in block header: 0x146a computed block checksum: 0x0 Page 176 is marked corrupt Corrupt block relative dba: 0x010000b0 (file 4, block 176) Bad header found during dbv: Data in bad block: type: 6 format: 2 rdba: 0x012020b0 last change scn: 0x2020.201e6219 seq: 0x1 flg: 0x04 spare1: 0x20 spare2: 0x20 spare3: 0x2020 consistency value in tail: 0x62190601 check value in block header: 0x2185 computed block checksum: 0x2020
DBVERIFY - Verification complete
Total Pages Examined : 12800
Total Pages Processed (Data) : 757
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 2
Total Pages Failing (Index): 0
Total Pages Processed (Other): 12024
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 10
Total Pages Marked Corrupt : 7
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 2066716 (0.2066716)
从以上验证结果看:总共有7个数据块(170-176)被破坏!
3、利用RMAN进行修复
[oracle@rh6 ~]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Tue Jul 15 14:02:16 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: PROD (DBID=239333010)
RMAN> list backup of database;
using target database control file instead of recovery catalog List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 17 Full 1.13G DISK 00:01:21 03-JUL-14 BP Key: 17 Status: AVAILABLE Compressed: NO Tag: TAG20140703T171545 Piece Name: /u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1 List of Datafiles in backup set 17 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/system01.dbf 2 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/sysaux01.dbf 3 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/undotbs1.dbf 4 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/users01.dbf 5 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/example01.dbf 6 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/tbs1.dbf 7 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/undotbs2.dbf 8 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/perftbs01.dbf
RMAN> blockrecover datafile 4 block 170,171,172,173,174,175,176;
Starting recover at 15-JUL-14 using channel ORA_DISK_1 channel ORA_DISK_1: restoring block(s) channel ORA_DISK_1: specifying block(s) to restore from backup set restoring blocks of datafile 00004 channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1 channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1 tag=TAG20140703T171545 channel ORA_DISK_1: restored block(s) from backup piece 1 channel ORA_DISK_1: block restore complete, elapsed time: 00:00:01 starting media recovery media recovery complete, elapsed time: 00:00:07 Finished recover at 15-JUL-14
恢复完成,验证:
RMAN> backup validate database;
Starting backup at 15-JUL-14 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=/u01/app/oracle/oradata/prod/system01.dbf input datafile file number=00002 name=/u01/app/oracle/oradata/prod/sysaux01.dbf input datafile file number=00008 name=/u01/app/oracle/oradata/prod/perftbs01.dbf input datafile file number=00004 name=/u01/app/oracle/oradata/prod/users01.dbf input datafile file number=00005 name=/u01/app/oracle/oradata/prod/example01.dbf input datafile file number=00007 name=/u01/app/oracle/oradata/prod/undotbs2.dbf input datafile file number=00006 name=/u01/app/oracle/oradata/prod/tbs1.dbf input datafile file number=00003 name=/u01/app/oracle/oradata/prod/undotbs1.dbf channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 List of Datafiles ================= File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 1 OK 0 13407 99852 2117516 File Name: /u01/app/oracle/oradata/prod/system01.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 67302 Index 0 15344 Other 0 3787 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 2 OK 0 17342 66627 2117514 File Name: /u01/app/oracle/oradata/prod/sysaux01.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 11719 Index 0 7882 Other 0 29617 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 3 OK 0 1 128 2056342 File Name: /u01/app/oracle/oradata/prod/undotbs1.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 0 Index 0 0 Other 0 127 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 4 OK 0 11873 12800 2066716 File Name: /u01/app/oracle/oradata/prod/users01.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 763 Index 0 2 Other 0 162 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 5 OK 0 1680 12804 1715036 File Name: /u01/app/oracle/oradata/prod/example01.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 3987 Index 0 1132 Other 0 6001 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 6 OK 0 2 1281 2051631 File Name: /u01/app/oracle/oradata/prod/tbs1.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 1 Index 0 0 Other 0 1277 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 7 OK 0 8833 12800 2117516 File Name: /u01/app/oracle/oradata/prod/undotbs2.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 0 Index 0 0 Other 0 3967 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 8 OK 0 23967 25600 2006072 File Name: /u01/app/oracle/oradata/prod/perftbs01.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 867 Index 0 261 Other 0 505 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 List of Control File and SPFILE =============================== File Type Status Blocks Failing Blocks Examined ------------ ------ -------------- --------------- SPFILE OK 0 2 Control File OK 0 594 Finished backup at 15-JUL-14
[oracle@rh6 ~]$ sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.1.0 Production on Tue Jul 15 14:16:27 2014 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options 14:16:27 SYS@ prod>select count(*) from scott.emp1; COUNT(*) ---------- 28 Elapsed: 00:00:00.02 14:16:35 SYS@ prod>select * from scott.emp1; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7900 JAMES CLERK 7698 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7900 JAMES CLERK 7698 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 28 rows selected. Elapsed: 00:00:00.07
读取数据成功!
[oracle@rh6 ~]$ dbv file=/u01/app/oracle/oradata/prod/users01.dbf blocksize=8192
DBVERIFY: Release 11.2.0.1.0 - Production on Tue Jul 15 14:17:22 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/prod/users01.dbf DBVERIFY - Verification complete Total Pages Examined : 12800 Total Pages Processed (Data) : 763 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 2 Total Pages Failing (Index): 0 Total Pages Processed (Other): 12025 Total Pages Processed (Seg) : 0 Total Pages Failing (Seg) : 0 Total Pages Empty : 10 Total Pages Marked Corrupt : 0 Total Pages Influx : 0 Total Pages Encrypted : 0 Highest block SCN : 2066716 (0.2066716) [oracle@rh6 ~]$
4、查看告警日志信息
告警日志:
dbv校验生成的日志:
Reading datafile '/u01/app/oracle/oradata/prod/users01.dbf' for corruption at rdba: 0x010000aa (file 4, block 170) Reread (file 4, block 170) found same corrupt data Corrupt Block Found TSN = 4, TSNAME = USERS RFN = 4, BLK = 170, RDBA = 16777386 OBJN = -1, OBJD = 75131, OBJECT = USERS, SUBOBJECT = SEGMENT OWNER = , SEGMENT TYPE = Temporary Segment Tue Jul 15 14:00:25 2014 Trace dumping is performing id=[cdmp_20140715140025] Tue Jul 15 14:00:25 2014 Errors in file /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_m000_8954.trc (incident=121488): ORA-01578: ORACLE data block corrupted (file # 4, block # 170) ORA-01110: data file 4: '/u01/app/oracle/oradata/prod/users01.dbf' Hex dump of (file 4, block 176) in trace file /u01/app/oracle/diag/rdbms/prod/prod/incident/incdir_121443/prod_m000_8954_i121443_a.trc Corrupt block relative dba: 0x010000b0 (file 4, block 176) Bad header found during validation Data in bad block: type: 6 format: 2 rdba: 0x012020b0 last change scn: 0x2020.201e6219 seq: 0x1 flg: 0x04 spare1: 0x20 spare2: 0x20 spare3: 0x2020 consistency value in tail: 0x62190601 check value in block header: 0x2185 computed block checksum: 0x2020 Reread of blocknum=176, file=/u01/app/

Bagaimana untuk memantau prestasi MySQL dengan berkesan? Gunakan alat seperti mysqladmin, showglobalstatus, perconamonitoring dan pengurusan (PMM), dan mysql enterprisemonitor. 1. Gunakan mysqladmin untuk melihat bilangan sambungan. 2. Gunakan showglobalstatus untuk melihat nombor pertanyaan. 3.Pmm menyediakan data prestasi terperinci dan antara muka grafik. 4.MySqLenterPrisemonitor menyediakan fungsi pemantauan yang kaya dan mekanisme penggera.

Perbezaan antara MySQL dan SQLServer adalah: 1) MySQL adalah sumber terbuka dan sesuai untuk sistem web dan tertanam, 2) SQLServer adalah produk komersil Microsoft dan sesuai untuk aplikasi peringkat perusahaan. Terdapat perbezaan yang signifikan antara kedua -dua enjin penyimpanan, pengoptimuman prestasi dan senario aplikasi. Apabila memilih, anda perlu mempertimbangkan saiz projek dan skalabiliti masa depan.

Dalam senario aplikasi peringkat perusahaan yang memerlukan ketersediaan yang tinggi, keselamatan maju dan integrasi yang baik, SQLServer harus dipilih bukannya MySQL. 1) SQLServer menyediakan ciri peringkat perusahaan seperti ketersediaan tinggi dan keselamatan maju. 2) Ia bersepadu dengan ekosistem Microsoft seperti VisualStudio dan PowerBI. 3) SQLServer melakukan pengoptimuman prestasi yang sangat baik dan menyokong jadual yang dioptimumkan memori dan indeks penyimpanan lajur.

Mysqlmanagescharactersetsandcollationsbyusingutf-8asthedefault, membolehkanConfigurationatdatabase, table, andcolumnlevels, andrequiringcarefulalignmenttoavoidmismatches.1) setdefaultcharactandcollationforadatabase.2) configurecharact

Pencetus MySQL adalah prosedur yang disimpan secara automatik yang dikaitkan dengan jadual yang digunakan untuk melakukan satu siri operasi apabila operasi data tertentu dilakukan. 1) Definisi dan fungsi pencetus: Digunakan untuk pengesahan data, pembalakan, dan lain-lain. 2) Prinsip kerja: Ia dibahagikan kepada sebelum dan selepas, dan menyokong pencetus peringkat baris. 3) Contoh Penggunaan: Boleh digunakan untuk merakam perubahan gaji atau mengemas kini inventori. 4) Kemahiran Debugging: Gunakan perintah showtriggers dan showcreateTrigger. 5) Pengoptimuman Prestasi: Elakkan operasi kompleks, menggunakan indeks, dan menguruskan urus niaga.

Langkah -langkah untuk membuat dan mengurus akaun pengguna di MySQL adalah seperti berikut: 1. Buat pengguna: Gunakan createuser'newuser '@' localhost'identifiedby'password '; 2. Menetapkan Kebenaran: Gunakan Grantselect, Insert, UpdateOnmydatabase.to'newuser'@'localhost '; 3. Betulkan Ralat Kebenaran: Gunakan RevokeAllPrivileSeonMydatabase.from'newuser'@'localhost '; kemudian menetapkan semula kebenaran; 4. Kebenaran Pengoptimuman: Gunakan Showgra

MySQL sesuai untuk pembangunan pesat dan aplikasi kecil dan sederhana, sementara Oracle sesuai untuk perusahaan besar dan keperluan ketersediaan yang tinggi. 1) MySQL adalah sumber terbuka dan mudah digunakan, sesuai untuk aplikasi web dan perusahaan kecil dan sederhana. 2) Oracle berkuasa dan sesuai untuk perusahaan besar dan agensi kerajaan. 3) MySQL menyokong pelbagai enjin penyimpanan, dan Oracle menyediakan fungsi peringkat perusahaan yang kaya.

Kelemahan MySQL berbanding dengan pangkalan data relasi lain termasuk: 1. Isu Prestasi: Anda mungkin menghadapi kesesakan apabila memproses data berskala besar, dan PostgreSQL melakukan lebih baik dalam pertanyaan kompleks dan pemprosesan data besar. 2. Skalabiliti: Keupayaan skala mendatar tidak sebaik Google Spanner dan Amazon Aurora. 3. Batasan Fungsian: Tidak sebaik PostgreSQL dan Oracle dalam Fungsi Lanjutan, beberapa fungsi memerlukan lebih banyak kod dan penyelenggaraan tersuai.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Dreamweaver Mac版
Alat pembangunan web visual

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini