当前位置:Gxlcms > mysql > 从ORA-00374错误看运维工作的规范性

从ORA-00374错误看运维工作的规范性

时间:2021-07-01 10:21:17 帮助过:25人阅读

某天,一个朋友说他们的一个新装的数据库出了问题,无法启动到open状态,报错信息SQLstartupORA-00374:parameterdb_block_size=10000invalid;must&nb..

某天,一个朋友说他们的一个新装的数据库出了问题,香港服务器,无法启动到open状态,报错信息

  • 他很有底气的告诉我说:没错啊,错误提示db_block_size大小范围在2048-16384,现在是10000是对的啊!

    我们安装oracle数据库的时候,默认大小为8192,但是为什么他的是10000呢?一问才知道原来他自己修改的,认为改大点增加块的大小,没错,是可以这么修改,而且也在2048到16384的范围,但是为什么还是错了呢?

    1.db_block_size参数的大小理论值为2048-32768,但是根据当前的系统环境值的范围可能会小些,也就是2048-16384

    2.db_block_size参数是以byte为单位

    3.db_block_size参数的默认值一般为4096或者8192

    4.db_block_size参数的值必须是设备级别的物理块大小的整数倍

    那么设备级别的物理块大小是多少呢?在设备级别的上层是操作系统,在操作系统上查看

  • # tune2fs -l /dev/sda1 | grep "Block size"
  • Block size: 512
  • 操作系统上的block size大小为512

    db_block_size/system_block_size 不等于整数倍,所以即使在范围内也是会报错的!

    修改参数文件中db_block_size为

  • 重新生成参数文件

    最后重新启动数据库!

    发现一切正常了!

    这是因为db_block_size/system_block_size:8192/1024=8

    数据库的块大小是系统块大小的8倍,整数倍。而且在规定值的范围内!所以才是正确的!

    总结:有此事可知,我们日常DBA运维或者系统运维工作都必须要有严格的操作规范,最后形成统一的文档,不可随意和想当然,切记生产环境不可马虎大意!

    本文出自 “老徐的私房菜” 博客,谢绝转载!

    ,香港服务器,香港空间

    人气教程排行