OCM_Session6_3_Manage Instance Memory Structures

本博客详细介绍了如何通过创建视图和调整参数来管理内存结构,并优化Oracle实例配置,包括设置最大SGA、Java池大小和PGA限制。

 

  • 3. Manage Instance Memory Structures

  •  3.1 Create a view owned by user SYS that lists the packages,procedures,triggers and functions that are in memory and occupy more than 50KB. The view should be named LARGE_PROC and visible to all users through a public synonym named LARGE_PROC. 


 3.1 Create a view owned by user SYS that lists the packages,procedures,triggers and functions that are in memory and occupy more than 50KB. The view should be named LARGE_PROC and visible to all users through a public synonym named LARGE_PROC. 
SYS用户创建列出占用了内存超过50KB的包,存储过程,触发器和函数的视图,这个视图的名称是 LARGE_PROC,并且创建一个公共同义词名为 LARGE_PROC,所有用

V$DB_OBJECT_CACHE:底层视图为想x$kglob

This view displays database objects that are cached in the library cache. Objects include tables, indexes, clusters, synonym definitions, PL/SQL procedures and packages, and triggers.

TYPE VARCHAR2(28) Type of the object: INDEX, TABLE, CLUSTER, VIEW, SET, SYNONYM, SEQUENCE, PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY, TRIGGER, CLASS, OBJECT, USER, DBLINK
SHARABLE_MEM NUMBER Amount of sharable memory in the shared pool consumed by the object

SQL>   select * from v$DB_OBJECT_CACHE where
  2  type in ('PROCEDURE','FUNCTION','PACKAGE','PACKAGE BODY','TRIGGER')
  3  and SHARABLE_MEM>=51200;

这条语句能列出在内存中占用超过50KB的 包,存储过程,触发器和函数。

SQL> show user
USER is "SYS"
SQL>   create or replace view large_proc as
  2  select * from v$DB_OBJECT_CACHE where
  3  type in ('PROCEDURE','FUNCTION','PACKAGE','PACKAGE BODY','TRIGGER')
  4  and SHARABLE_MEM>=51200;

View created.

创建公共同义词
官方文档参考:CREATE SYNONYM

SQL>   grant select on sys.large_proc to public;

Grant succeeded.

SQL>   create public synonym large_proc for sys.large_proc;   

Synonym created.



  • 3.2 Set your maximum SGA to 512MB. Turn on Automatic Shared Memory Management. Restart the instance after specifying.

SQL> show parameter sga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 500M
sga_target                           big integer 500M
SQL>   alter system set sga_target=512m scope=spfile;

System altered.


SQL> startup force
ORACLE instance started.

Total System Global Area  536870912 bytes
Fixed Size                  1220432 bytes
Variable Size             150995120 bytes
Database Buffers          381681664 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
SQL> show parameter sga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 512M -- sga_max_size  自动升高
sga_target                           big integer 512M
SQL> 

  •  3.3 Your developers notify you that they will need the Java Pool set to a minimum of 200MB.

SQL> show parameter java

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size           integer     0
java_pool_size                       big integer 0
java_soft_sessionspace_limit         integer     0
SQL>   alter system set java_pool_size=200m;

System altered.

SQL> show parameter java

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size           integer     0
java_pool_size                       big integer 200M
java_soft_sessionspace_limit         integer     0


  •  3.4 Limit the total amount of PGA that can be used on an instance-wide basis to 150MB. 

SQL> show parameter pga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                 big integer 107374182
SQL>   alter system set pga_aggregate_target=150m;

System altered.

SQL> show parameter pga 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                 big integer 150M


 

### ORACLE_OCM_CONFIG_DIR 的含义与配置方法 #### 含义 ORACLE_OCM_CONFIG_DIR 是 Oracle Configuration Manager (OCM) 用于存储配置文件和数据的目录路径环境变量。该变量用于指定 OCM 收集和存储配置信息的目标位置,这些信息通常用于 Oracle 的支持服务,如 My Oracle Support (MOS) 中的配置分析和问题诊断。如果该目录未正确设置或缺失,可能会导致 OCM 相关操作失败,例如配置作业无法写入数据或部署脚本无法完成执行[^1]。 在某些情况下,OCM 配置任务可能试图访问一个未被自动创建的目录路径,如 ORACLE_OCM_CONFIG_DIR2,这可能导致“ORA-29280: invalid directory path”错误。此类问题通常发生在 Oracle 数据库的内置脚本未创建该目录的情况下,而 OCM 的作业尝试访问它时会触发路径无效的错误[^3]。 #### 设置方法 ORACLE_OCM_CONFIG_DIR 通常由 Oracle Configuration Manager 在配置过程中自动设置。如果需要手动配置或验证该目录,可以按照以下步骤进行: 1. **创建目录**:确保操作系统中存在指定的目录结构,例如 `/u01/app/oracle/ocm/config`。 ```bash mkdir -p /u01/app/oracle/ocm/config ``` 2. **设置权限**:确保 Oracle 软件所有者(如 `oracle` 用户)对该目录具有读写权限。 ```bash chown -R oracle:oinstall /u01/app/oracle/ocm/config chmod -R 750 /u01/app/oracle/ocm/config ``` 3. **配置环境变量**:在 Oracle 的环境配置文件(如 `.bash_profile` 或 `.bashrc`)中设置 ORACLE_OCM_CONFIG_DIR。 ```bash export ORACLE_OCM_CONFIG_DIR=/u01/app/oracle/ocm/config ``` 4. **重新加载环境变量**:执行以下命令以应用更改。 ```bash source ~/.bash_profile ``` 5. **验证配置**:运行 OCM 配置工具以确认目录路径是否正确。 ```bash $ORACLE_HOME/ccr/bin/configCCR ``` 如果 OCM 报告目录结构不完整或未配置,例如提示“OCM is not configured for this host or ORACLE_CONFIG_HOME”,则需要重新运行配置工具以确保所有必要的目录和配置文件被正确生成[^2]。 #### 注意事项 - **一致性**:在多节点环境中,确保所有节点的 ORACLE_OCM_CONFIG_DIR 设置一致,以便于集中管理和支持。 - **备份与监控**:定期备份 OCM 配置目录,并监控其磁盘使用情况,以防止因空间不足导致的配置失败。 - **日志检查**:如果遇到配置错误,可以检查 OCM 的日志文件,通常位于 `$ORACLE_HOME/ccr/log` 目录下,以获取详细的错误信息和诊断线索。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值