资讯专栏INFORMATION COLUMN

Oracle扩容表空间时的一次问题记录

sarva / 1156人阅读

摘要:解决方法重新给文件夹赋权清内存正常启动数据库之后再查看调整的参数值,已经到了,这次再执行扩容表空间操作,就没问题了,呵呵。

这个Case当时发生的时候,我人在外地,项目经理操作解决的,整理一下分享给大家。

问题现象
我们需要给一个Oracle DB下的一个表空间进行扩容,但是执行扩容命令的时候,Oracle报出了如下错误:
ORA-00059 : maximum number of DB_FILES exceeded

报错解释:
DB_FILES 定义了oracle数据中数据文件的个数,当数据文件个数超过这个参数设定的值就会报ORA-00059这个错误。

问题处理
既然知道了报错的原因,那就开始从这里入手,先查一下现有的DB_FILES是多大:
用sys用户登陆到数据库服务器,执行show parameter db_files;
结果为300,跟实际的一对比,文件正好到300个,没法再往上扩了。
继续执行alter system set db_files=1000 scope=spfile;
此处修改参数为1000.
说明:这个参数设置的值的大小不会影响效率,只是单纯的控制数据文件的个数

新问题产生

$ sqlplus / as sysdba                                                                           
SQL> shutdown immediate;
ORA-24324: service handle not initialized
ORA-24323: value not allowed
ORA-01089: immediate shutdown in progress - no operations are permitted
SQL> shutdown abort;
ORA-01031: insufficient privileges
SQL> startup;
ORA-10997: another startup/shutdown operation of this instance inprogress
ORA-09968: unable to lock file
HPUX-ia64 Error: 13: Permission denied
Additional information: 23564

我们在重启库这步操作的时候,发现停不掉了,从报错上来看,貌似权限还被咱们给弄没了。

解决方法
1、重新给文件夹赋权
rx8640a#[/]chown -R oracle:oinstall /u01/app/oracle
2、清内存
$ ipcs -pmb

T         ID     KEY        MODE        OWNER     GROUP      SEGSZ  CPID  LPID
Shared Memory:
m          0 0x411c09d7 --rw-rw-rw-      root      root        348   943   943
m          1 0x4e240002 --rw-rw-rw-      root      root      61760   943  8401
m          2 0x412080da --rw-rw-rw-      root      root       8192   943   945
m          3 0x00a5c581 --rw-------     sfmdb     users   10469376  2407  2410
m          4 0x411c05e8 --rw-------      root      root       4096  2680  3291
m          5 0x06347849 --rw-rw-rw-      root      root      65544  2856  2883
m   21790726 0x00000000 --rw-r-----    oracle  oinstall 5926617088 10146   263
m          7 0x0c6629c9 --rw-r-----      root      root   17880696  2894 11235
m      32776 0x01200452 --rw-rw-r--      root      root       4192  3238  3238
m          9 0x01200454 --rw-rw-r--      root      root       4192  2924  2924
m         10 0x01200450 --rw-rw-r--      root      root       4192  2938  2938
m         11 0x4918031b --rw-r--r--      root      root      22912  2976  2972
m         12 0x01200448 --rw-rw-r--      root      root       4192  2993  2993
m         13 0xa9240162 -----------      root      root          1  3230  3232
m      98318 0x00000000 D-rw-r-----    oracle  oinstall 5939134464 10146   263
m      98319 0x00000000 D-rw-r-----    oracle  oinstall 8726282240 10146   263
m      98320 0x00000000 D-rw-r-----    oracle  oinstall      45056 10146   263

$ ipcrm -m 98318
$ ipcrm -m 98319
$ ipcrm -m 98320

3.正常启动数据库:
SQL> startup;

ORACLE instance started.

Total System Global Area 2.0552E+10 bytes
Fixed Size                  2128632 bytes
Variable Size            9439184136 bytes
Database Buffers         1.1107E+10 bytes
Redo Buffers                4259840 bytes
Database mounted.
Database opened.

之后再查看调整的参数值,已经到了1000,这次再执行扩容表空间操作,就没问题了,呵呵。

这里放一篇文章:http://www.linuxidc.com/Linux...

这个Case的关键环节就在于,执行ipcs查看当前系统资源占用的情况,上文中有3个oracle的进程,所以需要在系统层面清除掉才能正常启动数据库。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10217.html

相关文章

  • Oracle扩容空间时的一次问题记录

    摘要:解决方法重新给文件夹赋权清内存正常启动数据库之后再查看调整的参数值,已经到了,这次再执行扩容表空间操作,就没问题了,呵呵。 这个Case当时发生的时候,我人在外地,项目经理操作解决的,整理一下分享给大家。 问题现象我们需要给一个Oracle DB下的一个表空间进行扩容,但是执行扩容命令的时候,Oracle报出了如下错误:ORA-00059 : maximum number of DB...

    techstay 评论0 收藏0
  • DBASK问答集萃第四期

    摘要:问题九库控制文件扩展报错库的扩展报错,用的是裸设备,和还是原来大小,主库的没有报错,并且大小没有变,求解释。专家解答从报错可以看出,控制文件从个块扩展到个块时报错,而裸设备最大只支持个块,无法扩展,可以尝试将参数改小,避免控制文件报错。 链接描述引言 近期我们在DBASK小程序新关联了运维之美、高端存储知识、一森咖记、运维咖啡吧等数据领域的公众号,欢迎大家阅读分享。 问答集萃 接下来,...

    SKYZACK 评论0 收藏0
  • 记录一次Linux下安装Oracle数据库的过程

    摘要:建立一张表,名叫,表里有一个列,往里面一条中文数据。正确的验证结果是,我们通过服务端和客户端去查询这张表,这条中文数据都能够正常显示,这就证明我们的数据库安装成功了。 近期有一个新项目,需要在Linux下部署Oracle数据库,目前公司内很多数据库都已经成型了,新同事们可能涉及不到重新安装数据库的部分,想想还是有必要整理一下全过程,供大家参考学习。 一、环境准备:操作系统:RedHat...

    cfanr 评论0 收藏0
  • 记录一次Linux下安装Oracle数据库的过程

    摘要:建立一张表,名叫,表里有一个列,往里面一条中文数据。正确的验证结果是,我们通过服务端和客户端去查询这张表,这条中文数据都能够正常显示,这就证明我们的数据库安装成功了。 近期有一个新项目,需要在Linux下部署Oracle数据库,目前公司内很多数据库都已经成型了,新同事们可能涉及不到重新安装数据库的部分,想想还是有必要整理一下全过程,供大家参考学习。 一、环境准备:操作系统:RedHat...

    zhkai 评论0 收藏0
  • 数据结构与算法的Python实现(二)——线性之顺序

    摘要:文章首发于公众号一件风衣在编程中,我们常使用一组有顺序的数据来表示某个有意义的数据,这种一组元素的序列的抽象,就是线性表,简称表,是很多复杂数据结构的实现基础,在中,和就可以看作是线性表的实现。 文章首发于公众号一件风衣(ID:yijianfengyi) 在编程中,我们常使用一组有顺序的数据来表示某个有意义的数据,这种一组元素的序列的抽象,就是线性表,简称表,是很多复杂数据结构的实现基...

    TerryCai 评论0 收藏0

发表评论

0条评论

sarva

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<