OracleSGA异常处理方案

简介: 前两天修改了一次Oracle10.2的参数,有一下无意间把SGA打成了/然后就传上去了,结果昨天重新启动服务器,结果Oracle就是出错,说什么无法找到SID等等吧,最后翻阅了好多文章,才找到方法,特把方法共享一下,希望你们遇到类似问题不会耽误时间太长。哎~~~~数据库备份太重要了 ------------------ 如果你是通过spfile启动的数据库.不知你是不是在sqlplus 中

前两天修改了一次Oracle10.2的参数,有一下无意间把SGA打成了/然后就传上去了,结果昨天重新启动服务器,结果Oracle就是出错,说什么无法找到SID等等吧,最后翻阅了好多文章,才找到方法,特把方法共享一下,希望你们遇到类似问题不会耽误时间太长。哎~~~~数据库备份太重要了

------------------

如果你是通过spfile启动的数据库.
不知你是不是在sqlplus 中改了一些全局参数造成的
如果是,那么
sqlplus / as sysdba
startup pfile=.......
可启动数据库.
重建spfile

 


解决 ORA-00824: cannot set sga_target due to existin
 
那天在 RHEL 4 上面装上 Oracle 10g 以后用企业管理器看了下她的 SGA,结果发现只有 100M,因为是 1G 的机器,所以想给她设置多一些,结果设置完以后发现无法重新启动数据库,因为接触 Oracle 管理方面的内容是很久以前,而且当时接触的就只有很简单的介绍,主要是学习 PL/SQL,最近一年多都在 Java 方面开发,Oracle 部分仅有的知识已经有些忘记了,所以弄了半天也没有弄好,怎么都无法启动。

错误信息是 ORA-00824: cannot set sga_target due to existing internal settings, see alert log for more information ,去网上找 ORA-00824 错误,整个 google 里面只有 41 项结果,前面的几个结果都是介绍这个错误,也有的就是询问这个错误的,但没有人解答。不过还好在最后一条结果里面让我找到了解决办法,原文连接: http://www.cublog.cn/u/2996/showart.php?id=76935

为了方便以后我再出现问题或者其他人出现问题查找答案,特别将此文里面的语句提出来记录一下。

------------------------------
使用 SQL*Plus 连接到数据库
connect [ {user [/password] [@database] | / } [AS SYSOPER | SYSDBA] ];

如果不给出密码,系统会提示输入密码,密码不会被显示。
database 是数据库地址,可以是你本地的也可以是远程的。

------------------------------
SQL> show sga
查看 SGA 的大小。

------------------------------
SQL> alter system set sga_max_size=512M scope=spfile;
修改 sga_max_size 大小,在 spfile 文件里面修改。

SQL> alter system set sga_target  =512M scope=spfile;
修改 sga_target 大小,在 spfile 文件里面修改。

------------------------------
SQL> exit
退出 SQL*Plus

------------------------------
pfile 所在位置 $ORACLE_HOME 下面的 admin/$ORACLE_SID/pfile 目录下。
比如我的:

/u01/app/oracle/product/10.2.0/db_1/admin/demo1/pfile/init.ora.1272006111935

------------------------------
SQL> startup pfile='pfile 路径'
通过指定的 pfile 启动数据库实例

------------------------------
SQL> create spfile from pfile='pfile 路径'
通过指定的 pfile 生成 spfile,我的理解 spfile 的意思是 static pfile,我看过 spfile 文件,是一个纯二进制的配置文件,当初竟然企图修改他来实现让数据库启动起来,后来我想 spfile 就是 pfile 的编译版本。

------------------------------
[oracle@server ~]# dbshut
[oracle@server ~]# dbstart
关闭数据库服务进程
启动数据库服务进程

------------------

相关文章
|
存储 Oracle 关系型数据库
Oracle 代码异常查询(五)
Oracle 代码异常查询
322 0
|
Web App开发 Oracle Java
Java项目启动时,隐藏的 oracle 驱动异常问题
报错信息:项目启动的时候,一直会报“registered driver with driverclassname=oracle.jdbc.driver.oracledriver was not found, trying direct instantiation.”。
3978 0
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
5月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之同步oracle表时,数据量约800万,检查点异常,该如何排查
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标自定义异常:数据探险家的“专属警示灯”
【4月更文挑战第19天】Oracle PL/SQL中的游标自定义异常是处理数据异常的有效工具,犹如数据探险家的警示灯。通过声明异常名(如`LOW_SALARY_EXCEPTION`)并在满足特定条件(如薪资低于阈值)时使用`RAISE`抛出异常,能灵活应对复杂业务规则。示例代码展示了如何在游标操作中定义和捕获自定义异常,提升代码可读性和维护性,确保在面对数据挑战时能及时响应。掌握自定义异常,让数据管理更从容。
|
SQL Oracle 关系型数据库
Oracle 代码异常查询(九)
Oracle 代码异常查询
401 0
|
SQL 存储 Oracle
Oracle 代码异常查询(三)
Oracle 代码异常查询
506 0
|
SQL Oracle 关系型数据库
Oracle 代码异常查询(八)
Oracle 代码异常查询
317 0
|
SQL 存储 Oracle
Oracle 代码异常查询(七)
Oracle 代码异常查询
690 0
|
存储 Oracle 关系型数据库
Oracle 代码异常查询(六)
Oracle 代码异常查询
246 0