调整oracle memory max,oracle错误实践之一:ora-00847—MEMORY_TARGET/MEMORY_MAX_TARGET and LOCK_SGA cannot be se...

在进行sga优化时,在memory_target和memory_max_marget已经被设置的情况下,个人又设置lock_sga=true,导致了错误ora-00847,下面演示如何解决这一错误:

整体思想:

Cause: MEMORY_TARGET/MEMORY_MAX_TARGET was set to a non-zero

value and LOCK_SGA was also set

Action: Do not set MEMORY_TARGET or MAX_MEMORY_TARGET if LOCK_SGA

is set to TRUE.

(1)在不知道memory_target和memory_max_marget已经被设置的情况下,我们进行sga优化设置,其中包括将lock_sga设为true

a4c26d1e5885305701be709a3d33442f.png

(2)作上述更改后,我们关闭数据库后再重启,数据库报错ora-00847

a4c26d1e5885305701be709a3d33442f.png

(3)接着我们找到可用的静态参数文件,采用指定参数文件方式打开数据库a4c26d1e5885305701be709a3d33442f.png

(4)数据库报错ora-00205-error in identifying control file, check alert

log for more info,该错误解决思想如下:

Cause: The system could not find a control file of the specified

name and size.

Action: Check that ALL control files are online and that they are

the same files that the system created at cold start time.

由于我们之前为了提高I/O性能,将控制文件分别别放在不同的位置上,导致其位置信息与该初静态始参数文件不一致的情况,我们可以通过查看数据库及该参数文件得证:

oracle数据文件的位置:

a4c26d1e5885305701be709a3d33442f.png

参数文件init.ora.46201123388中控制文件的位置信息:

a4c26d1e5885305701be709a3d33442f.png

(5)基于以上原因,我们在数据库关闭状态下,将oracle控制文件拷贝到参数文件init.ora.46201123388指定的目录下

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

(6)下面利用参数文件init.ora.46201123388启动数据库,启动成功

a4c26d1e5885305701be709a3d33442f.png

查询控制文件位置,可见控制文件已经回到初始位置

a4c26d1e5885305701be709a3d33442f.png

(7)接下来我们关闭数据库后重启,数据库仍然报错ora-00847,这是因为在这里启动命令startup默认以spfile为参数文件进行启动,所以为了能够使用startup命令,我们来重新创建一个spfile

a4c26d1e5885305701be709a3d33442f.png

(8)下面我们基于参数文件init.ora.46201123388在oracle默认目录下创建一个动态参数文件spfiletaoguang.ora

a4c26d1e5885305701be709a3d33442f.png

(9)关闭数据库后使用startup命令重启,启动成功

a4c26d1e5885305701be709a3d33442f.png

(10)可用如下命令查询启动时使用的参数文件

a4c26d1e5885305701be709a3d33442f.png

(11)至此,错误ora-00847得到解决.为了保持控制文件信息与之前实践的一致性,我们将数据文件重新移动到原来模拟高速盘的位置,操作如下(详细步骤请见实践之二-移动和配置控制文件):

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值