`
老竹枝
  • 浏览: 81195 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle9i修改sga_max_size引起问题解决

阅读更多
为了改善oracle性能,尝试修改某些参数,结果修改sga_max_size=2G后数据库启动失败(后来才知道最大值不能超过1.7G),再启动的时候报:

ORA-27123: unable to attach to shared memory segment
Linux Error: 22: Invalid argument


这时候用sysdba登录,已经不能修改参数了。经过疯狂Google后,用以下方法解决:

1、用另外的pflie启动数据库

startup pfile='${ORACLE_BASE}/admin/***(sid)/pfile/init***(sid).ora'

pfile文件去上面那个目录找找,一般会有,没有的话去别的机器上面拷一个回来,没有,我就不知道该怎么搞了,你也别看下去了。

2、生成spfile。这个时候数据库是正常跑起来了,但是还改不了参数的,会报一下错误:
ORA-32001: write to SPFILE requested but no SPFILE specified at startup

正常用startup启动也还是不行的,所以要先生成spfile。用这个命令:
create spfile from pfile='${ORACLE_BASE}/admin/***(sid)/pfile/init***(sid).ora'


3、关掉它,再起来。这步不知道是不是一定要的,习惯性喜欢重启(最有效的排障手段呀)。
shutdown immediate;
startup;

4、现在正常了,改改参数吧,这次可别改错了。
alter system set sga_max_size=1500M scope=spfile;


没问题,数据库可以继续跑。有问题只能说各有各的不幸,慢慢Google吧。

据说pfile是不能直接编辑的,我编辑过没跑起来,当然我不确定是因为我编辑过所以不行了,但是推荐还是别改它了。

搞数据库的新手,郁闷得很,但是这次还是学到一点点东西:
1、数据库可以在startup的时候指定一个pfile(其实我不是很明白pfile是什么来的,不过我知道它很重要,下次一定备份一个能用的).
2、pfile可以通过spfile建一个。用下面的命令(路径自己指定):
create pfile='/opt/oracle/init.ora' from spfile;

3、通过指定pfile启动数据库后,要切到spfile(不然你每次指定pfile启动吧,不过其实spfile是什么?)。用下面的命令:
create spfile from pfile='${ORACLE_BASE}/admin/***(sid)/pfile/init***(sid).ora'

分享到:
评论

相关推荐

    Oracle 9i 初始化参数中文说明.rar

    - `SGA_MAX_SIZE`:设置SGA的最大大小,包括共享池、数据缓冲区高速缓存、重做日志缓冲区和Java池。 - `SHARED_POOL_SIZE`:分配给共享池的内存,存储PL/SQL代码、SQL语句解析信息等。 - `DB_CACHE_SIZE`:数据...

    Oracle SGA

    这一特性允许数据库根据实际的处理需求动态地调整内存区域的大小,如sort_area_size、pga_aggregate_target、large_pool_size、sga_max_size和db_cache_size。这些内存区域分别服务于排序操作、PL/SQL程序执行、大...

    谈oracle9i内存分配.pdf

    例如,当系统内存为1GB时,SGA_MAX_SIZE建议设置为400-500MB,随着系统内存的增加,SGA_MAX_SIZE的推荐值也相应增大。 SGA的实际大小可以通过一个公式来估算,该公式涵盖了诸如数据库缓冲区(Database Buffers)、...

    如何动态扩大oracle.docx

    3. 如果需要更改SGA_MAX_SIZE,这需要重启实例才能生效: ```sql SQL> ALTER SYSTEM SET SGA_MAX_SIZE=1000M SCOPE=SPFILE; ``` 4. 增大Shared Pool大小时,如果SGA中没有足够的空闲内存,需要先减小其他组件的...

    ORACLE-SGA.docx

    从Oracle 9i开始,可以在运行时动态修改SGA参数,而在Oracle 10g及更高版本中,可以直接修改SGA的当前内存值。 了解和正确管理SGA对于优化Oracle数据库的性能至关重要。通过监控SGA的使用情况,适时调整相关参数,...

    Oracle9i 动态SGA,PGA特性探索

    Oracle9i数据库系统引入了动态SGA(System Global Area)和PGA(Program Global Area)的特性,这使得数据库实例能够更有效地管理和优化内存资源。在Oracle9i之前,SGA和PGA的配置往往需要手动调整,以适应不同工作...

    oracle 内存优化

    但需要注意,如果未设置SGA_MAX_SIZE或设置值小于SGA_TARGET,SGA_MAX_SIZE将默认等于SGA_TARGET。同时,SGA_TARGET的值不能超过SGA_MAX_SIZE,以防止内存过度分配。 PGA是每个服务进程的私有内存区域,包含了服务...

    ORACLE 9i 慢查询分析

    为了调整Buffer Cache的大小,可以先设置SGA的最大大小`sga_max_size`,然后再设置目标大小`sga_target`。例如,可以执行如下SQL命令: ```sql alter system set sga_max_size = 24G scope = both; alter system set...

    oracle9i初始化参数中文说明

    - `SGA_MAX_SIZE`: 设置系统全局区域的最大大小,用于存储数据缓冲区、重做日志缓冲区、共享SQL区等。 - `DB_CACHE_SIZE`: 数据缓冲区缓存的大小,用于缓存经常访问的数据块。 - `SHARED_POOL_SIZE`: 共享池的...

    Oracle 9i Instance 的几个常用步骤

    例如,`SGA_MAX_SIZE` 参数定义了 SGA 占用的最大内存空间。为了确保数据库的高效运行,应尽可能将此参数设置得足够大,但需注意不要超过实际物理内存的大小,以免导致性能下降。 ### 结论 理解和掌握 Oracle 9i ...

    oracle学习(内存参数设置)

    SGA_MAX_SIZE和SGA_TARGET是两个重要的参数,SGA_MAX_SIZE指定了SGA可以使用的最大内存大小,而SGA_TARGET指定了SGA可以使用的最大内存大小,并可以自动调节各个区域的大小,使之达到系统性能最佳状态的最合理大小。...

    windows+oracle9i数据库安装配置指导手册.rar

    SGA_MAX_SIZE=0 DB_BLOCK_SIZE=8192 DATABASE_NAME=orcl DB_DOMAIN=mycompany.com SYSTEM_PASSWORD=<your_password> SYSMAN_PASSWORD=<your_password> ORACLE_PWD=<your_password> ``` 四、安装步骤 1. 使用响应...

    Oracle 9i 日常操作及维护手册

    - 可以通过修改初始化参数如`SGA_MAX_SIZE`、`PGA_AGGREGATE_TARGET`等动态调整SGA大小,但需要数据库实例重启后才生效。 4. **本地管理表空间(LMT)**: - LMT是Oracle 9i中提升表空间管理效率的一个特性,它自动...

    ORACLE9i_优化设计与系统调整

    - **2.1.1 经常查看警告日志文件内容**: 警告日志文件记录了系统级别的警告信息,定期审查这些日志可以帮助发现并解决问题。 - **2.1.2 熟悉警告日志的事件或消息**: 不同类型的警告信息对应不同的问题,理解这些...

    原创文档详细说明ORACLE10G参数文件PFILE与SPFILE

    `sga_target`用于自动管理SGA各个组件的大小,而`sga_max_size`限制了SGA的总大小。如果`sga_target`设置为0,意味着自动管理功能未启用,SGA大小由手动配置的各组件大小决定,如`db_cache_size`、`java_pool_size`...

    Oracle9i rac手工建库步骤

    *.sga_max_size=200000000 *.shared_pool_size=31457280 *.timed_statistics=TRUE *.undo_management='AUTO' *.undo_retention=10800 *.session_cached_cursors=200 *.cluster_database=TRUE *.cluster_...

    windows_server_2012下安装oracle11G_2_0_1且升级到11G_2_0_4实施文档.docx

    spfile是Oracle 9i引入的新特性,它解决了pfile在多节点环境中管理混乱的问题,所有参数变更都会记录在spfile中,而且某些参数可以在不重启数据库的情况下在线修改。如果参数设置错误导致数据库无法启动,可以在...

Global site tag (gtag.js) - Google Analytics