• 关于Linux下安装Oracle时报错:out of memory的问题分析说明


    一、说明

    在Oracle安装过程中,可能遇到out of memory这种错误,这是由于系统内存不足导致!我们可以通过加内存的方式解决!

               而如果是另一种情况呢: 例如我在主机上装了两个Oracle服务端,其中Oracle12c安装在/u01/app/oracle目录下,Oracle11g安装在/u02/app/oracle目录下!

               首先我安装Oracle12c时多给了内存,导致后面安装Oracle11g时报错:out of memory。此时我该如何调整Oracle12c的内存呢?


    二、调整内存


    方法一:通过修改配置文件中的参数进行调整

     1.使用oracle用户登录Oracle12c的安装目录中,找到inita4orcl.ora文件

      vi   /u01/app/oracle/dbs/inita4orcl.ora

                                 

    a4orcl.__data_transfer_cache_size=0
    a4orcl.__db_cache_size=7784628224
    a4orcl.__java_pool_size=100663296
    a4orcl.__large_pool_size=167772160
    a4orcl.__oracle_base='/u01/app'#ORACLE_BASE set from environment
    a4orcl.__pga_aggregate_target=3388997632
    a4orcl.__sga_target=10099884032
    a4orcl.__shared_io_pool_size=536870912
    a4orcl.__shared_pool_size=1476395008
    a4orcl.__streams_pool_size=0
    *.audit_file_dest='/u01/app/admin/a4orcl/adump'
    *.audit_trail='db'
    *.compatible='12.1.0.2.0'
    *.control_files='/u01/app/oradata/a4orcl/control01.ctl','/u01/app/fast_recovery_area/a4orcl/control02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='a4orcl'
    *.db_recovery_file_dest='/u01/app/fast_recovery_area'
    *.db_recovery_file_dest_size=4560m
    *.diagnostic_dest='/u01/app'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=a4orclXDB)'
    *.open_cursors=300
    *.pga_aggregate_target=3207m
    *.processes=300
    *.remote_login_passwordfile='EXCLUSIVE'
    *.sga_target=9623m
    *.undo_tablespace='UNDOTBS1'

    修改sga_target的值,此处修改为6144m,即6个G


    2.登录Oracle12c数据库中,执行如下命令

    create spfile from pfile;


    3.重启数据库

    shutdown immediate;

    startup;



    方法二:通过命令行进行调整


    1.登录Oracle12c数据库中,执行如下命令

    alter system set  sga_target='6144m'  scope=spfile;

    alter system set  sga_max_size='6144m'  scope=spfile;


    2.重启数据库

    shutdown immediate;

    startup;


    三、关于pfile和spfile的说明


    本例中:pfile就是inita4orcl.ora

    pfile和spfile都是数据库的重要文件,数据库优先使用spfile。

    spfile是二进制文件,无法直接进行修改;

    pfile是文本文件,可以进行修改;所以这两种文件可根据对方来进行生成;


    例如:当前spfile文件中的内存的值为9623M,系统优先使用它。但它无法直接进行修改。

               我可以通过修改pfile后,再通过pfile文件来生成spfile。这样spfile不就改过来了吗?


               #由spfile生成pfile

               create pfile  from spfile;

               #由pfile生成spfile

               create spfile from pfile;









  • 相关阅读:
    kuryr环境搭建
    使用docker搭建kafka环境
    记一次解决curl https证书问题
    一篇精彩的洗地文
    个人知识管理利器wiz
    Markdown写作
    用Bottle开发web程序(二)
    用Bottle开发web程序(一)
    Magnum Kubernetes源码分析(二)
    DVWA(九):File Upload 全等级文件上传
  • 原文地址:https://www.cnblogs.com/xialiaoliao0911/p/7523923.html
Copyright © 2020-2023  润新知