周末听了个bbed的讲座,感觉十分强大,为我们深入研究oracle提供了一大利器。
以下两个小例子,与大家共同学习。
1. 用bbed修改empno 7369-->7366
10:18:44 sys@lolo> r
1* select a.*,dbms_rowid.rowid_relative_fno(rowid)||'_'||dbms_rowid.rowid_block_number(rowid) location from scott.emp a
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO LOCAT
---------- ---------- --------- ---------- --------- ---------- ---------- ---------- -----
7369 SMITH CLERK 7902 17-DEC-80 800 20 4_32
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 4_32
7566 JONES MANAGER 7839 02-APR-81 2975 20 4_32
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 4_32
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 4_32
7782 CLARK MANAGER 7839 09-JUN-81 2450 10 4_32
7788 SCOTT ANALYST 7566 19-APR-87 3000 20 4_32
7839 KING PRESIDENT 17-NOV-81 5000 10 4_32
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 4_32
7876 ADAMS CLERK 7788 23-MAY-87 1100 20 4_32
7900 JAMES CLERK 7698 03-DEC-81 950 30 4_32
7902 FORD ANALYST 7566 03-DEC-81 3000 20 4_32
7934 MILLER CLERK 7782 23-JAN-82 1300 10 4_32
13 rows selected.
10:18:44 sys@lolo> delete scott.emp where empno=7902;
1 row deleted.
10:25:28 sys@lolo> commit;
Commit complete.
10:25:34 sys@lolo> select a.*,dbms_rowid.rowid_relative_fno(rowid)||'_'||dbms_rowid.rowid_block_number(rowid) location from scott.emp a;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO LOCAT
---------- ---------- --------- ---------- --------- ---------- ---------- ---------- -----
7369 SMITH CLERK 7902 17-DEC-80 800 20 4_32 ---7369
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 4_32
7566 JONES MANAGER 7839 02-APR-81 2975 20 4_32
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 4_32
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 4_32
7782 CLARK MANAGER 7839 09-JUN-81 2450 10 4_32
7788 SCOTT ANALYST 7566 19-APR-87 3000 20 4_32
7839 KING PRESIDENT 17-NOV-81 5000 10 4_32
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 4_32
7876 ADAMS CLERK 7788 23-MAY-87 1100 20 4_32
7900 JAMES CLERK 7698 03-DEC-81 950 30 4_32
7934 MILLER CLERK 7782 23-JAN-82 1300 10 4_32
12 rows selected.
10:26:17 sys@lolo> select dump(7369,16) from dual;
DUMP(7369,16)
---------------------
Typ=2 Len=3: c2,4a,46
10:26:46 sys@lolo> c/69/66
1* select dump(7366,16) from dual
10:26:58 sys@lolo> r
1* select dump(7366,16) from dual
DUMP(7366,16)
---------------------
Typ=2 Len=3: c2,4a,43 --只需将46改为43
10:26:59 sys@lolo>
10:27:04 sys@lolo> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
[apps1.world]:[/home/ora10g]$ bbed parfile=par.bbd
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Tue Feb 2 14:44:54 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> set file 4
FILE# 4
BBED> set block 32
BLOCK# 32
BBED> p kdbr
sb2 kdbr[0] @118 8050
sb2 kdbr[1] @120 8007
sb2 kdbr[2] @122 -1
sb2 kdbr[3] @124 7923
sb2 kdbr[4] @126 7878
sb2 kdbr[5] @128 7837
sb2 kdbr[6] @130 7796
sb2 kdbr[7] @132 7756
sb2 kdbr[8] @134 7718
sb2 kdbr[9] @136 7675
sb2 kdbr[10] @138 7637
sb2 kdbr[11] @140 7599
sb2 kdbr[12] @142 7560
sb2 kdbr[13] @144 7521
BBED> p kdbr[0]
sb2 kdbr[0] @118 8050
BBED> p * kdbr[0]
rowdata[529]
------------
ub1 rowdata[529] @8150 0x2c
BBED> x /rncc
rowdata[529] @8150
------------
flag@8150: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8151: 0x00
cols@8152: 8
col 0[3] @8153: 7369
col 1[5] @8157: SMITH
col 2[5] @8163: CLERK
col 3[3] @8169:
以下两个小例子,与大家共同学习。
1. 用bbed修改empno 7369-->7366
10:18:44 sys@lolo> r
1* select a.*,dbms_rowid.rowid_relative_fno(rowid)||'_'||dbms_rowid.rowid_block_number(rowid) location from scott.emp a
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO LOCAT
---------- ---------- --------- ---------- --------- ---------- ---------- ---------- -----
7369 SMITH CLERK 7902 17-DEC-80 800 20 4_32
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 4_32
7566 JONES MANAGER 7839 02-APR-81 2975 20 4_32
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 4_32
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 4_32
7782 CLARK MANAGER 7839 09-JUN-81 2450 10 4_32
7788 SCOTT ANALYST 7566 19-APR-87 3000 20 4_32
7839 KING PRESIDENT 17-NOV-81 5000 10 4_32
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 4_32
7876 ADAMS CLERK 7788 23-MAY-87 1100 20 4_32
7900 JAMES CLERK 7698 03-DEC-81 950 30 4_32
7902 FORD ANALYST 7566 03-DEC-81 3000 20 4_32
7934 MILLER CLERK 7782 23-JAN-82 1300 10 4_32
13 rows selected.
10:18:44 sys@lolo> delete scott.emp where empno=7902;
1 row deleted.
10:25:28 sys@lolo> commit;
Commit complete.
10:25:34 sys@lolo> select a.*,dbms_rowid.rowid_relative_fno(rowid)||'_'||dbms_rowid.rowid_block_number(rowid) location from scott.emp a;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO LOCAT
---------- ---------- --------- ---------- --------- ---------- ---------- ---------- -----
7369 SMITH CLERK 7902 17-DEC-80 800 20 4_32 ---7369
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 4_32
7566 JONES MANAGER 7839 02-APR-81 2975 20 4_32
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 4_32
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 4_32
7782 CLARK MANAGER 7839 09-JUN-81 2450 10 4_32
7788 SCOTT ANALYST 7566 19-APR-87 3000 20 4_32
7839 KING PRESIDENT 17-NOV-81 5000 10 4_32
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 4_32
7876 ADAMS CLERK 7788 23-MAY-87 1100 20 4_32
7900 JAMES CLERK 7698 03-DEC-81 950 30 4_32
7934 MILLER CLERK 7782 23-JAN-82 1300 10 4_32
12 rows selected.
10:26:17 sys@lolo> select dump(7369,16) from dual;
DUMP(7369,16)
---------------------
Typ=2 Len=3: c2,4a,46
10:26:46 sys@lolo> c/69/66
1* select dump(7366,16) from dual
10:26:58 sys@lolo> r
1* select dump(7366,16) from dual
DUMP(7366,16)
---------------------
Typ=2 Len=3: c2,4a,43 --只需将46改为43
10:26:59 sys@lolo>
10:27:04 sys@lolo> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
[apps1.world]:[/home/ora10g]$ bbed parfile=par.bbd
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Tue Feb 2 14:44:54 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> set file 4
FILE# 4
BBED> set block 32
BLOCK# 32
BBED> p kdbr
sb2 kdbr[0] @118 8050
sb2 kdbr[1] @120 8007
sb2 kdbr[2] @122 -1
sb2 kdbr[3] @124 7923
sb2 kdbr[4] @126 7878
sb2 kdbr[5] @128 7837
sb2 kdbr[6] @130 7796
sb2 kdbr[7] @132 7756
sb2 kdbr[8] @134 7718
sb2 kdbr[9] @136 7675
sb2 kdbr[10] @138 7637
sb2 kdbr[11] @140 7599
sb2 kdbr[12] @142 7560
sb2 kdbr[13] @144 7521
BBED> p kdbr[0]
sb2 kdbr[0] @118 8050
BBED> p * kdbr[0]
rowdata[529]
------------
ub1 rowdata[529] @8150 0x2c
BBED> x /rncc
rowdata[529] @8150
------------
flag@8150: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8151: 0x00
cols@8152: 8
col 0[3] @8153: 7369
col 1[5] @8157: SMITH
col 2[5] @8163: CLERK
col 3[3] @8169:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9933980/viewspace-630054/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9933980/viewspace-630054/