ORA-00824:cannot set SGA_TARGET or MEMORY_TARGET due to existing internal settings

本文记录了一次解决Oracle数据库启动时报错的过程,错误源于spfile中的db_block_buffers参数与SGA_TARGET或MEMORY_TARGET冲突。文章详细介绍了通过指定pfile启动数据库,并最终更新spfile来解决问题的方法。

练习时执行一条修改数据库连接数的语句: alter system set processes=1 scope=spfile;

然后关闭数据库: shutdown

再启动数据库时,出现异常,报错信息如下:

报错的意思是说:参数文件(spfile)中的db_block_buffers参数设置的与SGA_TARGET或MEMORY_TARGET有冲突

 

错误分析:参数文件中的参数值设置的有问题

尝试解决:

(1)通过启动数据库并且指定pfile方式启动,即:startup pfile='E:\app\zhaoqx\product\11.2.0\dbhome_1\dbs\init.ora'

        思路是正确的,但是指定的init.ora文件是错误的,应该指定路径为:E:\app\zhaoqx\admin\dbora\pfile\init.ora.521201614839的参数文件

        正确的执行语句: startup pfile='E:\app\zhaoqx\admin\dbora\pfile\init.ora.521201614839'

                              

(2)虽然根据上面的指定pfile启动方式可以将数据库正确启动,但是下一次不指定pfile的话,还是会报错(因为按照读取参数文件顺序:spfile --> pfile --> init.ora)

        所以考虑到以后数据库启动时不用再指定pfile文件,即执行以下语句,将通过init.ora文件创建spfile.ora文件

                      create spfile='d:\spfiledbora.ora' from pfile='E:\app\zhaoqx\admin\dbora\pfile\init.ora.521201614839' ;

                       

(3)最后将新生成的spfile.ora文件,复制到数据库寻找的默认路径下,即:E:\app\zhaoqx\product\11.2.0\dbhome_1\database路径下

                      

      

       

 

转载于:https://www.cnblogs.com/login2012/p/5695240.html

### 解决 ORA-01078 错误的方法 ORA-01078 错误表示在处理系统参数时出现故障,通常是由于参数文件损坏、缺失或者参数设置错误导致。以下是一些可能的解决办法: #### 检查参数文件是否存在和可读 确认参数文件(pfile 或 spfile)存在且数据库用户有读取权限。例如,如果使用 pfile,可以使用以下命令检查文件是否存在: ```bash ls -l /path/to/your/pfile.ora ``` #### 检查参数文件内容 检查参数文件中是否有语法错误或不支持的参数设置。可以使用文本编辑器打开参数文件进行检查。例如: ```bash vi /path/to/your/pfile.ora ``` #### 重新创建参数文件 如果参数文件损坏,可以尝试重新创建。可以使用默认的参数文件模板作为基础,然后根据需要进行修改。例如,使用 SQL*Plus 重新创建 spfile: ```sql CREATE SPFILE FROM PFILE='/path/to/your/pfile.ora'; ``` ### 解决 ORA-00824 错误的方法 ORA-00824 错误表示由于现有的内部设置,无法设置 SGA_TARGETMEMORY_TARGET。这通常是因为手动设置了一些与自动内存管理相关的参数,导致与 SGA_TARGETMEMORY_TARGET 冲突。以下是一些解决办法: #### 检查并调整参数设置 检查参数文件中是否手动设置了 SGA 组件(如 SHARED_POOL_SIZE、DB_CACHE_SIZE 等)和 SGA_TARGETMEMORY_TARGET。如果同时设置了这些参数,可能会导致冲突。可以尝试只使用 SGA_TARGETMEMORY_TARGET 进行自动内存管理,或者手动设置所有 SGA 组件而不使用 SGA_TARGETMEMORY_TARGET。 例如,在参数文件中只保留 SGA_TARGET: ```plaintext sga_target = 2G shared_pool_size = 0 db_cache_size = 0 ``` #### 重新创建参数文件 如果问题仍然存在,可以尝试重新创建参数文件,确保没有冲突的参数设置。 ```sql CREATE SPFILE FROM PFILE='/path/to/your/pfile.ora'; ``` #### 查看告警日志 查看告警日志以获取更多详细信息,日志中可能会指出具体的冲突参数。告警日志通常位于 $ORACLE_BASE/diag/rdbms/<db_unique_name>/<instance_name>/trace/alert_<instance_name>.log。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值