博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从ORA-00374错误看运维工作的规范性
阅读量:7028 次
发布时间:2019-06-28

本文共 1359 字,大约阅读时间需要 4 分钟。

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

 
  1. SQL> startup  
  2. ORA-00374: parameter db_block_size = 10000 invalid ; must be a multiple of 512 in the range [2048..16384] 

他很有底气的告诉我说:没错啊,错误提示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参数的值必须是设备级别的物理块大小的整数倍

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

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

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

修改参数文件中db_block_size为

 
  1. *.db_block_size=8192 

重新生成参数文件

 
  1. $ sqlplus / as sysdba  
  2.  
  3. SQL*Plus: Release 10.2.0.1.0 - Production on Thu Nov 1 05:28:38 2012  
  4.  
  5. Copyright (c) 1982, 2005, Oracle.  All rights reserved.  
  6.  
  7. Connected to an idle instance.  
  8.  
  9. SQL> create spfile from pfile;  
  10.  
  11. File created.  

最后重新启动数据库!

 
  1. SQL> startup  
  2. ORACLE instance started.  
  3.  
  4. Total System Global Area  285212672 bytes  
  5. Fixed Size                  1218992 bytes  
  6. Variable Size              71304784 bytes  
  7. Database Buffers          209715200 bytes  
  8. Redo Buffers                2973696 bytes  
  9. Database mounted.  
  10. Database opened. 

发现一切正常了!

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

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

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

转载地址:http://czrxl.baihongyu.com/

你可能感兴趣的文章
Acm Dima and Lisa的题解
查看>>
深入浅出Tomcat系列
查看>>
从网页提取的关键字
查看>>
位运算符
查看>>
PHP str_replace() 和str_ireplace()函数
查看>>
什么是全栈工程师
查看>>
Html5新特性
查看>>
linux下简易端口扫描器
查看>>
HDU 1205
查看>>
Openstack-L 路由注入方式
查看>>
利用ROS工具从bag文件中提取图片
查看>>
Java常用类库
查看>>
Android开发之Activity转场动画
查看>>
List集合三种遍历方法
查看>>
【译】OpenDaylight控制器:YANG Schema和Model
查看>>
C#访问修饰符(public,private,protected,internal,sealed,abstract)
查看>>
android消息线程和消息队列
查看>>
EXCEL中计算不重复单元格的个数
查看>>
二层设备与三层设备的区别--总结
查看>>
安装pytorch成功但cuda不可用
查看>>