处理测试环境的一个坏块问题,具体如下:

使用DBMS_REPAIR.SKIP_CORRUPT_BLOCKS处理后,dbv检测仍然报告有坏块;

即使把表drop表,还是报告有坏块,请教各位,要怎么做,dbv才能检测没有坏块呢?

一、坏块信息

测试环境alert日志提示有坏块:

Mon Feb 25 13:08:18 2013

Hex dump of (file 20, block 108406) in trace file /usr/oracle/admin/edu/udump/edu_ora_14291.trc

Corrupt block relative dba: 0x0501a776 (file 20, block 108406)

Bad header found during buffer read

Data in bad block:

type: 100 format: 2 rdba: 0x0501a776

last change scn: 0x0106.4d8954cc seq: 0x2 flg: 0x06

spare1: 0x0 spare2: 0x0 spare3: 0x0

consistency value in tail: 0x54cc0602

check value in block header: 0x964e

computed block checksum: 0x62

Reread of rdba: 0x0501a776 (file 20, block 108406) found same corrupted data

Mon Feb 25 13:08:25 2013

Corrupt Block Found

TSN = 6, TSNAME = EDUCATION

RFN = 20, BLK = 108406, RDBA = 83994486

OBJN = 58838, OBJD = 58838, OBJECT = TEST, SUBOBJECT =

SEGMENT OWNER = EDU, SEGMENT TYPE = Table Segment

从文件号和块号查询对象:

SQL> SELECT tablespace_name, segment_type, owner, segment_name

2  FROM dba_extents

3  WHERE file_id = 20

4  and 108406 between block_id AND block_id + blocks - 1;

TABLESPACE_NAME                SEGMENT_TYPE       OWNER                          SEGMENT_NAME

------------------------------ ------------------ ------------------------------ --------------------

EDUCATION                      TABLE              EDU                            TEST

使用rdba查询文件号和块号:

SQL> select to_number('0501a776','xxxxxxxx') from dual;

TO_NUMBER('0501A776','XXXXXXXX')

--------------------------------

83994486

SQL> select dbms_utility.data_block_address_file(83994486) filenum from dual;

FILENUM

----------

20

SQL> select dbms_utility.data_block_address_block(83994486) blocknum from dual;

BLOCKNUM

----------

108406

二、坏块的检测方法:

1、查询有坏块的表:

SQL> select count(1) from edu.test;

select count(1) from edu.test

*

ERROR at line 1:

ORA-01578: ORACLE data block corrupted (file # 20, block # 108406)

ORA-01110: data file 20: '/usr/oracle/oradata/edu/edu07.dbf'

2、使用analyze命令检测:

SQL> analyze table edu.test validate structure cascade;

analyze table edu.test validate structure cascade

*

ERROR at line 1:

ORA-01578: ORACLE data block corrupted (file # 20, block # 108406)

ORA-01110: data file 20: '/usr/oracle/oradata/edu/edu07.dbf'

3、使用exp检测:

[oracle@testdb ~]$ exp file=test.dmp tables=test

Export: Release 10.2.0.4.0 - Production on 星期一 2月 25 15:40:20 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Username: edu

Password:

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set

About to export specified tables via Conventional Path ...

. . exporting table                           TEST

EXP-00056: ORACLE error 1578 encountered

ORA-01578: ORACLE data block corrupted (file # 20, block # 108406)

ORA-01110: data file 20: '/usr/oracle/oradata/edu/edu07.dbf'

Export terminated successfully with warnings.

注意expdp导出不会报错,不能用于检测。(ps:这里因为该表中有效数据是0行,所以导出0行,并不是无法导出数据)

[oracle@testdb ~]$ expdp directory=DUMPDIR dumpfile=test.dmp tables=test

Export: Release 10.2.0.4.0 - 64bit Production on 星期一, 25 2月, 2013 15:41:34

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

Username: edu

Password:

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Starting "EDU"."SYS_EXPORT_TABLE_01":  edu/******** directory=DUMPDIR dumpfile=test.dmp tables=test

Estimate in progress using BLOCKS method...

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 64 KB

Processing object type TABLE_EXPORT/TABLE/TABLE

Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

. . exported "EDU"."TEST"                                5.195 KB       0 rows

Master table "EDU"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded

******************************************************************************

Dump file set for EDU.SYS_EXPORT_TABLE_01 is:

/usr/oracle/test.dmp

Job "EDU"."SYS_EXPORT_TABLE_01" successfully completed at 15:41:57

4、使用dbv检测坏块:

[oracle@testdb ~]$ dbv file=/usr/oracle/oradata/edu/edu07.dbf blocksize=8192

DBVERIFY: Release 10.2.0.4.0 - Production on 星期一 2月 25 13:02:43 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = /usr/oracle/oradata/edu/edu07.dbf

Page 108406 is marked corrupt

Corrupt block relative dba: 0x0501a776 (file 20, block 108406)

Bad header found during dbv:

Data in bad block:

type: 100 format: 2 rdba: 0x0501a776

last change scn: 0x0106.4d8954cc seq: 0x2 flg: 0x06

spare1: 0x0 spare2: 0x0 spare3: 0x0

consistency value in tail: 0x54cc0602

check value in block header: 0x964e

computed block checksum: 0x62

DBVERIFY - Verification complete

Total Pages Examined         : 1310720

Total Pages Processed (Data) : 1198465

Total Pages Failing   (Data) : 0

Total Pages Processed (Index): 97720

Total Pages Failing   (Index): 0

Total Pages Processed (Other): 10019

Total Pages Processed (Seg)  : 0

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 4515

Total Pages Marked Corrupt   : 1

Total Pages Influx           : 0

Highest block SCN            : 1839489834 (271.1839489834)

5、使用rman检测整个数据库:

RMAN> backup validate database;

Starting backup at 25-2月 -13

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=256 devtype=DISK

channel ORA_DISK_1: starting compressed full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 02/25/2013 14:27:55

ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode

continuing other job steps, job failed will not be re-run

channel ORA_DISK_1: starting compressed full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

including current control file in backupset

including current SPFILE in backupset

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 02/25/2013 14:27:55

ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode

RMAN> shutdown immediate

RMAN> startup mount

RMAN> backup validate database;

Starting backup at 25-2月 -13

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=323 devtype=DISK

channel ORA_DISK_1: starting compressed full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

......

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03

Finished backup at 25-2月 -13

SQL> select * from v$database_block_corruption;

FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO

---------- ---------- ---------- ------------------ ---------

20     108406          1                  0 CORRUPT

6、使用dbms_repair检测:

使用dbms_repair.admin_tables创建需要的表

SQL> BEGIN

2  DBMS_REPAIR.ADMIN_TABLES (

3  table_name => 'REPAIR_TABLE',

4  table_type => DBMS_REPAIR.REPAIR_TABLE,

5  action => DBMS_REPAIR.CREATE_ACTION,

6  tablespace => 'EDUCATION');

7  END;

8  /

PL/SQL procedure successfully completed.

SQL> desc repair_table;

Name                                      Null?    Type

----------------------------------------- -------- ----------------------------

OBJECT_ID                                 NOT NULL NUMBER

TABLESPACE_ID                             NOT NULL NUMBER

RELATIVE_FILE_ID                          NOT NULL NUMBER

BLOCK_ID                                  NOT NULL NUMBER

CORRUPT_TYPE                              NOT NULL NUMBER

SCHEMA_NAME                               NOT NULL VARCHAR2(30)

OBJECT_NAME                               NOT NULL VARCHAR2(30)

BASEOBJECT_NAME                                    VARCHAR2(30)

PARTITION_NAME                                     VARCHAR2(30)

CORRUPT_DESCRIPTION                                VARCHAR2(2000)

REPAIR_DESCRIPTION                                 VARCHAR2(200)

MARKED_CORRUPT                            NOT NULL VARCHAR2(10)

CHECK_TIMESTAMP                           NOT NULL DATE

FIX_TIMESTAMP                                      DATE

REFORMAT_TIMESTAMP                                 DATE

使用dbms_repair.check_object检测坏块:

SQL> SET SERVEROUTPUT ON

SQL> DECLARE num_corrupt INT;

2  BEGIN

3  num_corrupt := 0;

4  DBMS_REPAIR.CHECK_OBJECT (

5  schema_name => 'EDU',

6  object_name => 'TEST',

7  repair_table_name => 'REPAIR_TABLE',

8  corrupt_count => num_corrupt);

9  dbms_output.put_line(num_corrupt);

10  END;

11  /

1

PL/SQL procedure successfully completed.

查询repair_table表:

SQL> exec edu.print_table('select * from repair_table');

OBJECT_ID                     : 58838

TABLESPACE_ID                 : 6

RELATIVE_FILE_ID              : 20

BLOCK_ID                      : 108406

CORRUPT_TYPE                  : 6148

SCHEMA_NAME                   : EDU

OBJECT_NAME                   : TEST

BASEOBJECT_NAME               :

PARTITION_NAME                :

CORRUPT_DESCRIPTION           :

REPAIR_DESCRIPTION            : mark block software corrupt

MARKED_CORRUPT                : TRUE

CHECK_TIMESTAMP               : 25-2月 -2013 16:26:33

FIX_TIMESTAMP                 :

REFORMAT_TIMESTAMP            :

-----------------

PL/SQL procedure successfully completed.

三、解决方法:

1、删除包含坏块的对象:

如果块块对象是索引,可以删除索引,然后重建。

2、使用rman备份恢复块,即Block media recovery:

RMAN> blockrecover datafile 20 block 108406;

3、使用其他物理备份恢复包含坏块的数据文件(影响较大):

SQL> recover datafile 20;

4、使用dbms_repair.skip_corrupt_blocks跳过坏块:

SQL> BEGIN

2  DBMS_REPAIR.SKIP_CORRUPT_BLOCKS (

3  schema_name => 'EDU',

4  object_name => 'TEST',

5  object_type => DBMS_REPAIR.TABLE_OBJECT,

6  flags => DBMS_REPAIR.SKIP_FLAG);

7  END;

8  /

PL/SQL procedure successfully completed.

此时访问表,不再报错:

SQL> select count(1) from edu.test;

COUNT(1)

----------

0

后来测试使用dbv进行检测,仍然报告有坏块。

[oracle@testdb ~]$ dbv file=/usr/oracle/oradata/edu/edu07.dbf blocksize=8192

DBVERIFY: Release 10.2.0.4.0 - Production on 星期一 2月 25 17:35:23 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = /usr/oracle/oradata/edu/edu07.dbf

Page 108406 is marked corrupt

Corrupt block relative dba: 0x0501a776 (file 20, block 108406)

Bad header found during dbv:

Data in bad block:

type: 100 format: 2 rdba: 0x0501a776

last change scn: 0x0106.4d8954cc seq: 0x2 flg: 0x06

spare1: 0x0 spare2: 0x0 spare3: 0x0

consistency value in tail: 0x54cc0602

check value in block header: 0x964e

computed block checksum: 0x62

DBVERIFY - Verification complete

Total Pages Examined         : 1310720

Total Pages Processed (Data) : 1198446

Total Pages Failing   (Data) : 0

Total Pages Processed (Index): 97727

Total Pages Failing   (Index): 0

Total Pages Processed (Other): 10031

Total Pages Processed (Seg)  : 0

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 4515

Total Pages Marked Corrupt   : 1

Total Pages Influx           : 0

Highest block SCN            : 1839591990 (271.1839591990)

当然也可以设置回来:

SQL> BEGIN

2  DBMS_REPAIR.SKIP_CORRUPT_BLOCKS (

3  schema_name => 'EDU',

4  object_name => 'TEST',

5  object_type => DBMS_REPAIR.TABLE_OBJECT,

6  flags => DBMS_REPAIR.NOSKIP_FLAG);

7  END;

8  /

PL/SQL procedure successfully completed.

SQL> select count(1) from edu.test;

select count(1) from edu.test

*

ERROR at line 1:

ORA-01578: ORACLE data block corrupted (file # 20, block # 108406)

ORA-01110: data file 20: '/usr/oracle/oradata/edu/edu07.dbf'

使用expdp/impdp导出导入:

SQL> insert into edu.test values (1111,'abc');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from edu.test where id=1111;

ERROR:

ORA-01578: ORACLE data block corrupted (file # 20, block # 108406)

ORA-01110: data file 20: '/usr/oracle/oradata/edu/edu07.dbf'

no rows selected

expdp能够导出正常的数据:

[oracle@testdb ~]$ expdp directory=DUMPDIR dumpfile=test.dmp tables=test

Export: Release 10.2.0.4.0 - 64bit Production on 星期一, 25 2月, 2013 17:03:13

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

Username: edu

Password:

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Starting "EDU"."SYS_EXPORT_TABLE_01":  edu/******** directory=DUMPDIR dumpfile=test.dmp tables=test

Estimate in progress using BLOCKS method...

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 64 KB

Processing object type TABLE_EXPORT/TABLE/TABLE

Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

. . exported "EDU"."TEST"                                5.218 KB       1 rows

Master table "EDU"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded

******************************************************************************

Dump file set for EDU.SYS_EXPORT_TABLE_01 is:

/usr/oracle/test.dmp

Job "EDU"."SYS_EXPORT_TABLE_01" successfully completed at 17:03:28

使用impdp以truncate方式导入:

[oracle@testdb ~]$ impdp directory=DUMPDIR dumpfile=test.dmp tables=test table_exist_action=truncate

LRM-00101: unknown parameter name 'table_exist_action'

[oracle@testdb oracle]$ impdp directory=DUMPDIR dumpfile=test.dmp tables=test table_exists_action=truncate

Import: Release 10.2.0.4.0 - 64bit Production on 星期一, 25 2月, 2013 17:06:18

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

Username: edu

Password:

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Master table "EDU"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded

Starting "EDU"."SYS_IMPORT_TABLE_01":  edu/******** directory=DUMPDIR dumpfile=test.dmp tables=test table_exists_action=truncate

Processing object type TABLE_EXPORT/TABLE/TABLE

ORA-39153: Table "EDU"."TEST" exists and has been truncated. Data will be loaded but all dependent metadata will be skipped due to table_exists_action of truncate

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

. . imported "EDU"."TEST"                                5.218 KB       1 rows

Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

Job "EDU"."SYS_IMPORT_TABLE_01" completed with 1 error(s) at 17:06:30

SQL> select count(1) from edu.test;

COUNT(1)

----------

1

使用dbv再次检测,仍然报告有坏块:

[oracle@testdb ~]$ dbv file=/usr/oracle/oradata/edu/edu07.dbf blocksize=8192

DBVERIFY: Release 10.2.0.4.0 - Production on 星期一 2月 25 17:09:09 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = /usr/oracle/oradata/edu/edu07.dbf

Page 108406 is marked corrupt

Corrupt block relative dba: 0x0501a776 (file 20, block 108406)

Bad header found during dbv:

Data in bad block:

type: 100 format: 2 rdba: 0x0501a776

last change scn: 0x0106.4d8954cc seq: 0x2 flg: 0x06

spare1: 0x0 spare2: 0x0 spare3: 0x0

consistency value in tail: 0x54cc0602

check value in block header: 0x964e

computed block checksum: 0x62

DBVERIFY - Verification complete

Total Pages Examined         : 1310720

Total Pages Processed (Data) : 1198449

Total Pages Failing   (Data) : 0

Total Pages Processed (Index): 97728

Total Pages Failing   (Index): 0

Total Pages Processed (Other): 10027

Total Pages Processed (Seg)  : 0

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 4515

Total Pages Marked Corrupt   : 1

Total Pages Influx           : 0

Highest block SCN            : 1839590591 (271.1839590591)

但是访问表不报错:

SQL> select * from edu.test;

ID NAME

---------- ----------

1111 abc

drop表后,进行dbv检测,还是报告有坏块。

SQL> drop table edu.test;

Table dropped.

[oracle@testdb ~]$ dbv file=/usr/oracle/oradata/edu/edu07.dbf blocksize=8192

DBVERIFY: Release 10.2.0.4.0 - Production on 星期一 2月 25 17:14:40 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = /usr/oracle/oradata/edu/edu07.dbf

Page 108406 is marked corrupt

Corrupt block relative dba: 0x0501a776 (file 20, block 108406)

Bad header found during dbv:

Data in bad block:

type: 100 format: 2 rdba: 0x0501a776

last change scn: 0x0106.4d8954cc seq: 0x2 flg: 0x06

spare1: 0x0 spare2: 0x0 spare3: 0x0

consistency value in tail: 0x54cc0602

check value in block header: 0x964e

computed block checksum: 0x62

DBVERIFY - Verification complete

Total Pages Examined         : 1310720

Total Pages Processed (Data) : 1198449

Total Pages Failing   (Data) : 0

Total Pages Processed (Index): 97728

Total Pages Failing   (Index): 0

Total Pages Processed (Other): 10027

Total Pages Processed (Seg)  : 0

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 4515

Total Pages Marked Corrupt   : 1

Total Pages Influx           : 0

Highest block SCN            : 1839590643 (271.1839590643)

oracle dbv验证,关于dbv检测的结果,有些不懂,请各位指点相关推荐

  1. oracle升级后出现 ora-02055,分布式更新失败 0ra-02055错误 请各位指点(在线等待)...

    测试过程: 1)在solaris上的数据库用户esm_symbian1上创建一个数据库连接 2)在esm_symbian1用户创建database link 命名为symbian 3)在远程的数据库用 ...

  2. 查看本地oracle密码是多少钱,Oracle 本地验证和密码文件

    fileINTERNAL 6A75B1BBE50E66AB 4DE42795E66117AE 在数据库没有启动之前,数据库的内建用户是无法通过数据库本身来验证身份的,通过密码文件, oracle就可以 ...

  3. 一个或多个实体的验证失败。 有关更多详细信息,请参见“ EntityValidationErrors”属性

    使用代码优先方法为数据库播种时出现此错误. 一个或多个实体的验证失败. 有关更多详细信息,请参见'EntityValidationErrors'属性. 老实说,我不知道如何检查验证错误的内容. Vis ...

  4. 已解决:检测到 #include 错误。请更新 includePath。已为此翻译单元(D:\Study\hello.cpp)禁用波形曲线。C/C++(1696)

    在VScode中配置c++环境中遇到的问题,此问题并不影响运行出"hello world"等程序,但是始终标识错误,文件名也是红色的,非常不舒服. 已经完成的工作: 已经安装好Mi ...

  5. “检测到#include错误。请更新includePath。已为此翻译单元” 导致头文件及其类不能点击跳转的问题

    Ubuntu在重新安装vscode后,在引用文件时出现红色波浪并提示"检测到#include错误.请更新includePath.已为此翻译单元(/....)禁用波形曲线",且大部分 ...

  6. 检测到 #include 错误。请更新 includePath。已为此翻译单元(E:\abc.ino)禁用波形曲线。C/C++(1696) 无法打开 源 文件 “stadio.h“

    我们在配置vscode时,测试代码时,可能会出现这种情况. 检测到 #include 错误.请更新 includePath.已为此翻译单元(E:\abc.ino)禁用波形曲线.C/C++(1696) ...

  7. 检测到 #include 错误。请更新 includePath。已为此翻译单元(E:\abc.ino)禁用波形曲线。C/C++(1696) 无法打开 源 文件 “stadio.h“

    在配置好环境变量后, 将插件装好后, 运行程序的结果,显示 无法打开源文件检测到 #include 错误.请更新 includePath. 解决方法: 打开扩展设置 更改Compiler Pathd ...

  8. Hbuilder未检测到手机或模拟器请重试、苹果手机无法和hbuderx 联机调试

    今天开始学习uniapp 发现自己苹果6无法和hbuderx 联机调试,提示说未检测到手机或模拟器请重试.手机用数据线连着win10电脑了,也用手机点击信任了.这么回事?? 幸好以前,给苹果手机刷过系 ...

  9. python_django_禁止访问 _CSRF验证失败. 请求被中断_更多信息请设置选项DEBUG=True。

    问题描述: 访问一个url时,回有一个注册页面的响应,输入对应的信息后,单击注册按钮进行提交进行页面跳转,显示禁止访问 _CSRF验证失败. 请求被中断_更多信息请设置选项DEBUG=True. 解决 ...

  10. VScode 检测到#include错误,请更新includePath。

    有些时候重新安装vscode或者一些其他原因,会导致出现vscode报错:检测到#include错误,请更新includePath.解决办法如下. 1.在VScode中打开一个文件夹,并按ctrl+s ...

最新文章

  1. python元组转字典_python中怎么将元组、字典转化为列表
  2. 5分钟安全顾问 - 针对家庭办公室用户的简单防火墙安装
  3. 0408互联网新闻 | 区块链医疗解决方案落地应用,阿里云、支付宝共同研发;安卓全球开发者峰会将于10月23-24日在加州召开...
  4. 快节奏多人游戏同步:技术与算法的实现
  5. 【数据结构与算法】之深入解析“打家劫舍III”的求解思路与算法示例
  6. Wait-for-it之参考
  7. JavaScript学习(八十)—请写一段JS程序提取URL中的各个get参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中
  8. spring教程(一):简单实现(转)
  9. 你知道如何提升JSON.stringify()的性能吗?
  10. 华为数通ensp命令(一)
  11. MATPOWER下载安装教程
  12. Windows电脑上最好的3个txt阅读器
  13. Power Query 系列 (05) - M 语言介绍
  14. ado连接mysql_ADO连接各种数据库的基本方法
  15. postfix 安装
  16. 2022朝花夕拾-持续快速成长
  17. 基于javaweb的大学生兼职系统(java+springboot+jsp+mysql)
  18. 刚闪电入门了树莓派:斩获不止Python,Linux,goLang,还有架构,格局...
  19. Android 面经【持续更新.....】
  20. GL benchmark测试解析

热门文章

  1. hybird app混合开发介绍
  2. Unity DOTS在hybird renderer v2 中rendermesh不显示
  3. matlab自由曲面体积,一种基于自由曲面的LED准直透镜设计
  4. csgo服务器与客户端文件不匹配,csgo客户端文件与服务器不匹配怎么办
  5. 把统计代码改成“量子统计”了
  6. 四川师范大学大学计算机基础,大学计算机基础课程教学改革探索——以四川师范大学为例...
  7. 病毒提示广告调查:投放色情网站 每日千人中招
  8. 电脑爱好者 2008年第24期 12月下
  9. 鑫光芒引流客源篇微商加人的24种方法
  10. GitLab迁移升级大作战