narrowing of the shared pool

Hi friends, when you browse the documentation I read that "internal adjustment algorithm isn't shrink shared pool when you use EAMA. I want to know if that's all the time or for specific cases. If for all the time, then it can lead to performance and more problem sql, pl/sql etc info will reside.

Please explain to me. Thanks in advance

Hello
Yes in the case of the distributed databases, using pfile we can statup dbs with client side pfile as well. See here,
The location of the file in distributed environments initialization parameter
The client that allows you to access the database must be able to read the settings of the base initialization file to start instance database. Therefore, always store a file parameter on the computer running the client.

In undistributed treatment facilities, the computer is running Oracle and the customer. This computer already has the settings file stored on one of its hard drives. In distributed processing facilities, however, local client workstations may administer a database stored on a remote computer. In this configuration, the local client computers must each store a copy of the settings for the corresponding databases file.
http://download-West.Oracle.com/docs/CD/A87860_01/doc/server.817/a76956/start.htm#6439
HTH
Aman...

Tags: Database

Similar Questions

  • Why my static PL/SQL within SQL local variable is not transformed in space in the shared pool?

    Hello everyone,

    Oracle version: 12.1.0.1.0 - 64 bit

    OS: Linux Fedora Core 17 X86_64

    Description of the problem:

    I'm reading an interesting book of online oracle named: SQL in PL/SQL

    On page 11, it reads the following:

    In the absence of a compilation error, the PL/SQL compiler generates an equivalent statement of SQL regular text and stores this with the generated machine code. This instruction uses placeholders where the embedded SQL statement uses identifiers that have been resolved in the PL/SQL unit.

    What I understand of this (please, correct me if I'm wrong) is that whenever I write some static/embedded statement SQL within a PL/SQL block in which there are a few local variables in PL/SQL, and then final generated SQL statement (after resolution of identifier) will include placeholders (bind variables) instead of these identifiers the PL/SQL.

    I just wanted to see this in practice, so I made the following test:

    Test case:

    SQL> connect / as sysdba
    SQL> alter system flush shared_pool
    
    system altered
    

    So, normally, after execution of the foregoing the shared_pool on my development environment is now empty.

    And then I run the following PL/SQL block

    <<b>>
    declare
        depid hr.employees.department_id%type := 100;
        cnt   pls_integer := 0;
    begin
        select
            count(*)
        into
            b.cnt
        from
            hr.employees t1
        where
            t1.department_id = b.depid;
    end;
    /
    --
    --
    column sql_id new_value sqlid_saved;
    --
    select
        v1.sql_id
    from
        v$sql v1
    where
        v1.sql_text like '%t1.department_id = b.depid%';
    --     
    -- 
    select
        v1.sql_text
    from
        v$sql v1
    where
        v1.sql_id = '&sqlid_saved';
    

    And the result was:

    SQL_ID
    -------------
    687dxvsmrwm9z
    g17tjb3f8t94y

    6 old: v1.sql_id = "& sqlid_saved"
    6 new: v1.sql_id = "g17tjb3f8t94y".

    SQL_TEXT
    --------------------------------------------------------------------------------
    < < b > > declare depid hr.employees.department_id%type: = 100;     CNT pls_in
    SEB: = 0; Start select count (*) in b.cnt of
    T1 hr. Employees where t1.department_id = b.depid; end;


    SQL >

    What I don't understand is the main part of the SQL_TEXT I put in red.

    Instead of

    T1.department_id = b.depid

    I expected to see something like

    T1.department_id = : B

    In other words, some bind variable, because depid is a local variable inside my PL/SQL block used in integrated/static SQL statement, so it must be converted to a reserved space in the shared pool instead of the original identifier.

    You kindly could you tell me what I misunderstood?

    Thanks in advance

    > But once again no variable binding in the stored/parsed SQL statement. That's what I don't understand.

    Submitted by PL/SQL SQL is "normalized", which includes (among other things) convert uppercase. Your query on v$ sql is looking for '% hr.employees% '.

  • question related to the shared pool

    Hi Experts,

    Version of DB - Oracle Database 11g Enterprise Edition Release 11.2.0.1.0

    OS - Windows 7

    (installed on my laptop)

    Just started reading concepts DBA. I had a few questions. Please explain indetail/short ;-).

    (1) can we see the size of the Cache of the library and Cache data dictionary which are internal units of the Shared pool.
    (2) one of the advantages of the package is - when we invoke a single method, oracle loads the whole package into the buffer and for subsequent calls, it will not go to the db files. Here the buffer means library Cache. My understanding is correct.
    (3) I am able to see the two parameters shared_pool_size(value =0), shared_pool_reserved_size (value 15099494) to parameter v$. What is the difference between these two parameters.


    Thank you very much in advance for your help.

    See you soon,.
    Suri ;-)

    Your questions:

    1 Yes, v$ sgastat

    2 Yes, if your terminology is a little loose.

    3. the parameters described here, content

  • hold table in the shared pool

    Hi all)

    can I use INVALIDHTOMEH packaze hold table in the shared pool?

    http://www.orafaq.com/wiki/Pin_Objects_in_the_Shared_Pool

    or how keep in the table of a very intensive use of memory?

    Hello

    If you want a chart updated in cache, you just (re) set with the keyword CACHE. INVALIDHTOMEH package is to pin (unpinning) code, not data.

    Best regards
    Nikolai

  • Purpose of the Shared Pool

    Hello

    The library cache stores the info on them recently use SQL & PL/SQL statements.

    The data dictionary cache stores data in database files, tables, etc.

    Is there any specific use other than being the container to these 2 Cache the shared pool?

    user12022313 wrote:
    Hello

    The library cache stores the information on the SQL & PL/SQL used statements recently.

    The data dictionary cache stores data in database files, tables, etc.

    Is there any specific use other than being the container to these 2 Cache the shared pool?

    The answer is "it depends." The above are only 2 structures of many other many other structures available in the shared pool. Starting from 10 g, even the undo and redo are kept within the shared pool itself. But most of the structures in the town of pool other than Library Cache and data dictionary Cache requires no intervention on our part is why they are more often discussed in almost every document/place.

    HTH
    Aman...

  • How to increase the size of the shared pool?

    Hello

    How can we increase the size of the shared pool?

    can I update "shared_pool_size" parameter in the init.ora file?

    Or any other way to change?


    Concerning
    Rajesh

    no need to modify the pfile file, if you use 9i or above versions.

    If your database uses pfile then issue
    SQL > alter system set shared_pool_size = scope = mΘmoire;

    If your database uses spfile then issue
    SQL > alter system set shared_pool_size = scope = both; (to reflect changes made to the next start-up also. otherwise scope = memory will be enough)

    If your 10g database, you can have SGA_TARGET enabled (by default) in this case it is not necessary to change anything.

    If you modify the init.ora file, which will result in the next startup of the database. (means shutdown is required). This isn't average recommeded.

  • How to query the current free memory in the shared pool

    Hello

    Someone please tell me how to check the current uses of shared pool.

    Any query/Tip/document would be appreciated?

    If you have found errors ORA-04030 then it is more likely at the PGA instead of the SGA. If you had problems with the shared pool you would probably see shared pool latch wait events and others.

    For the ORA-04030 errors, depending on your operating system, can be solved by adding more memory to the operating system or to reduce the amount of work that is performed.

    HTH!

  • kept in the shared pool.

    How I see the objects kept in the shared pool.

    by query v$ dbobject_cache; _

    OWNER VARCHAR2 (64)
    NAME VARCHAR2 (1000)
    DB_LINK VARCHAR2 (64)
    NAMESPACE VARCHAR2 (28)
    TYPE VARCHAR2 (28)
    NUMBER OF SHARABLE_MEM
    NUMBER OF LOADS
    NUMBER OF EXECUTIONS
    NUMBER OF LOCKS
    NUMBER OF PINS
    KEPT VARCHAR2 (3)
    NUMBER OF CHILD_LATCH
    NUMBER OF RADIATION

  • Advice on the size of the shared pool

    Dear all DBA
    I use oracle 10g 10.1.0 on windows 2003 with 2 GB of Ram.

    I'm getting ORA-04031 unable to allocate the memory error, and this error disappears automatically after a few seconds. Please advice me what I should change as the sizes of pool shared etc.

    When I'm looking for init.ora I have only one file in my server with the name of init.ora.7192009121911 instead c:\oracle\product\10.1.0\admin\dborcl\pfile
    with the information below

    ###########################################
    # Pools
    ###########################################
    JAVA_POOL_SIZE = 50331648
    LARGE_POOL_SIZE = 8388608
    shared_pool_size = 83886080


    Now the advice me what should I do because I'm not at all a DBA.

    If you use spfile...

    ALTER SYSTEM set SGA_MAX_SIZE = 1000M scope = both;

    ALTER system set SHARED_POOL_SIZE is 150000000 scope = both;.

    Try the operation again.

  • size of the shared pool

    Hello Guru:


    I want to install Oracle 10 g with the patch already.

    I have only 2 site http://localhost:5560 / isqlplus
    http://localhost:5560/isqlplus/dba

    But during the installation it mentions no username or password.

    Now I would like to check and change shared_pool_size.

    pls advise how to do.

    You must grant privileges to your user, at least CREATE SESSION.

    See GRANT command "".

  • Shared pool larger than the buffer cache

    Hi all

    My database is 10.2.0.4 running linux platform

    No .of 2 cpu, RAM-2 GB

    SGA_TARGET wa set to 1 GB.

    Initially the memory have been configured as a shared pool around 300 MB and the buffer cache about 600 MB.

    When I questioned the v$ sga_resize_ops views I found some interesting results.

    Many operations and growth reduction were happened and the current size of the shared pool is about 600 MB and buffer cache is 300 MB. (this happened during last 1)

    I guess that the buffer cache must always be larger than the size compared to a shared pool. My assumption is right?

    Is it because of sql code using the do not bind variables resulting in growth shared pool? No relaods and radiation are almost ignored I think it should not be the case.

    Also no lock events listd in the top5

    I've also seen the 15% of the shared pool is marked as being of kGH:NO ACCESS, which means that the part is used for the cache buffers.

    Should I set the lower limit for the shared pool and the buffer cache or can I just ignore it.

    Thank you
    rajdhanvi

    You change your question now... your question was that he has sharedpool large size > buffer cache is acceptable... . Check your own second post... for your new question now is why pool continues to increase and partly used as buffer cache... the proof is given by tanel poder y what happens when EAMA is used... For the Kingston general hospital: NO ACCESS means that no one else could touch...

    Concerning
    Karan

  • Frequently shared pool is empty. The impact?

    Hi all

    I have a 9.2.0.8 version.
    We do not use a lot of the resulting variable bind hard statement cache library and analysis.
    I realized when I flush out the shared pool, the response time improves.
    My question is if I start to flush out the shared pool daily is there any impact that I forget?

    Thank you for the quick response

    This causes a lot of hard, the analysis that you are not related not to the use of bind variables.

    Concerning

  • Are constants of body of the PL/SQL Package in the shared or private area

    Based on that it is not clear to me if body Package PL/SQL constants are stored in the shared or private area.

    http://docs.Oracle.com/CD/B28359_01/server.111/b28318/memory.htm

    "PL/SQL program units and the Shared Pool

    Oracle database treats PL/SQL program units (anonymous blocks, procedures, functions, packages and triggers in database) much the same way he treats the individual SQL statements. Oracle database allocates a shared area to hold the shape analyzed, compiled a program unit. Oracle database allocates a private space to hold values specific to the session who runs the program unit, including local, global and package variables (also known as the package is instantiated) and stamps of SQL execution. If more than one user is running the same program unit, a place unique and shared is used by all users, while each user runs a separate copy of his own private SQL area containing session-specific values.

    The individual SQL statements contained in a PL/SQL program unit are processed as described in the previous sections. Despite their origins within a PL/SQL program unit, these SQL statements use a shared area to hold their analysed representations and a private space for each session, who executes the statement. »


    I am also curious to know what are the differences in fine grain in a perspective of memory and performance (multisession) for the two examples below. One is more effective?


    Example 1.

    create or replace
    package body
    application_util
    as

    c_create_metadata constant varchar2 (6000): =...

    procedure process_xxx
    (
    )
    as
    Start
    ...
    end process_xxx;

    end application_util;

    vs.

    Example 2.

    create or replace
    package body
    application_util
    as

    procedure process_xxx
    (
    )
    as

    c_create_metadata constant varchar2 (6000): =...

    Start
    ...
    end process_xxx;

    end application_util;

    881398 wrote:

    But I still have to ask because it seems still more particularly in example 1 that the constant can be attributed to the use that the actual value could be a pointer to a constant string value in a table of symbols or something related to the compilation unit. I'm always curious in a perspective of management of memory if there is a difference between the example 1 and example 2, and if one is better and why.

    The storage is real, references to this storage internal to the PL/SQL engine. And irrelevant to the PL/SQL programmer.

    This question is really a disagreement over the shape is better: example 1 or example 2. I prefer the 1 example, for readability, testability, etc., and so the question is where is the performance of the memory/differences and or is it just preference of developer.

    I agree with rp0428 - he raised a very important point that it is a problem of scope and nothing else.

    Basically is there any trade-off between using one shape on the other insofar as the performance and memory management?

    Not really. Most runtime engines release not just actual system memory when a variable is out of range. the malloc() calls are expensive. Free() calls are expensive (and are not always the result in usable free memory which can be malloc'ed again).

    Several execution engines use what is called a managed heap. A malloc is made of a new process when it is initialized. The heap memory / managed malloc'ed is adjacent. Pointer allocation of memory for this process is initially pointing to the base of the managed heap. As the process allocates / uses memory, the pointer is moved just advance in the managed heap, which indicates the HWM as such - the beginning of the 'free' memory in the heap. Allocation is sequential.

    Reset of your variable execution, or releasing your runtime object, does not reset the HWM as other objects/variables can still be used and located after this place in the bunch. In this case set him free memory by releasing / resetting the language variables does not restore the kernel memory.

    Memory management is a sophisticated process entirely processed by the engine running - and best left to the runtime engine. As you as a programmer do not explicitly control the memory management, it is not a good idea to try to write code that artificially attempt to use 'better' for the runtime engine memory management. The next version of the runtime of that aura of new features, optimizations and so on — and your interference in your code to get the "valorisation" of memory can happen just bite you not bad after an upgrade to execution.

    Regarding the performance aspect - variable initialization is dependent on scope. In order to have a global scope means a one-time initialization, whereas a private scope (created each call) is a multiple unit. If the first is a little faster than the latter.

    However, the performance differences are tiny - IMO too small to justify this as a valid consideration to spend in addition to the decision of functional design on what possibilities a variable or a constant need to have.

    SQL> create or replace package FooLib1 as
      2          procedure Exec;
      3  end;
      4  /
    
    Package created.
    
    SQL>
    SQL> create or replace package body FooLib1 as
      2          const1  constant varchar2(32767) := rpad('-',10000,'-');
      3
      4          procedure Exec is
      5                  var1    varchar2(32767);
      6          begin
      7                  var1 := const1;
      8          end;
      9  end;
     10  /
    
    Package body created.
    
    SQL>
    SQL>
    SQL> create or replace package FooLib2 as
      2          procedure Exec;
      3  end;
      4  /
    
    Package created.
    
    SQL>
    SQL> create or replace package body FooLib2 as
      2          procedure Exec is
      3                  const1  constant varchar2(32767) := rpad('-',10000,'-');
      4                  var1    varchar2(32767);
      5          begin
      6                  var1 := const1;
      7          end;
      8  end;
      9  /
    
    Package body created.
    
    SQL>
    SQL> set timing on
    SQL> exec for i in 1..100000 loop FooLib1.Exec; end loop;
    
    PL/SQL procedure successfully completed.
    
    Elapsed: 00:00:00.28
    SQL> exec for i in 1..100000 loop FooLib2.Exec; end loop;
    
    PL/SQL procedure successfully completed.
    
    Elapsed: 00:00:00.74
    SQL> 
    

    A second difference 0.0000046 in a single execution for FooLib.Exec between the use of package for the constant scope, against increased private. Which means that the issue of the scope is not a decision of the performance. Not when improving performance overhead is 0,0046 millisecs.

  • Shared pool for 12 c officer and WHO

    Hello world.
    According to the documentation, the heap size can be changed by adding the Xms and Xmx entries in the arguments the administration WLS console startup server section. My question is when I do a ps - ef | java grep I see under entry
    Middleware/jdk16/jdk/bin/java - Server-Xms256m-Xmx1740m - XX: MaxPermSize = 768M. then look at the shared pool max 1.7 GB. But im not able to find this configuration can someone tell me where this may have been configured?

    1. If you must change the value for WHO the script startEMServer.sh itself should be updated as this script replaces all the configuration in other locations.
    Steps to achieve this are in the above mentioned Doc ID 794165.1.

    2. There is no recommendation for the agent heap size based on the number of targets. If the size of the heap is less, you would ideally see agent crashes because insufficient memory ' errors in the emagent.nohup file.

  • shared pool of pinned objects

    How do I know what objects are already pinned in the shared pool? TX

    Indra Budiantho wrote:
    How do I know what objects are already pinned in the shared pool? TX

    http://www.lmgtfy.com/?q=Oracle+how+to+know+which+objects+are+already+pinned+in+the+shared+pool

Maybe you are looking for

  • connection problem Bluetooth iPhone 6s with 2013 Toyota RAV4

    I think that since the last 2 iOS updates has created a problem connecting my IPhone 6s to my car radio system. I reset the phone to the vehicle matching and which improves the connection a bit now the connection comes and goes. I reset the network c

  • Equium M70 laptop computer only lights battery

    Hello This is probably a simple problem and I'm being stupid, but would like some advice. My Equium M70 notebook is about 2 years old and suddenly decided not power without being connected to the electric network. Finally got round to buy a new batte

  • Satellite 2800 - need a driver for network card

    Hello IM with a big problem...I formatted my satellite 2800-28005 with the recovery cd... Ok! the problem: the windows does not recognize ME the driver... network and im going crazy... I searched all toshiba website... nothing... can someone help me?

  • problems with wifi after update? anyone?

    I use A953, just updated to build mils2_u6_4.1 - 22, the system version is: 64.1.22.S953. Retail.en.DE So far, I like the update, looks cool, like the animation of the screen-go-to-sleep But, my WiFi is not working properly, there are just a couple o

  • How to access the BIOS laptop lenovo z400

    Hello! I formatted my laptop and installed windows 7 and I want to reformat, but can not access the SETUP of BIOS, different keys already tried without success, can someone help me?