Memory used by oracle 11g processes on solaris 10

I am running oracle 11.1.0.7 on solaris 10. The database uses some 280M virtual memory size for each oracle backup or user process. See the SZ column in output of ps -efl below.
I just wonder how come oracle that much of memory for each process. Is that something we can control through some system/database parameters or is that the way oracle 11g on solaris works?
oracle@taut $ ps -efl|grep cttrain6
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
0 S oracle 2490 1 0 40 20 ? 284111 ? 12:23:37 ? 0:01 ora_q001_cttrain6
0 S oracle 9698 1 0 40 20 ? 283837 ? 13:37:51 ? 0:00 ora_w000_cttrain6
0 S oracle 2147 1 0 40 20 ? 285464 ? 12:18:11 ? 0:15 ora_lgwr_cttrain6
0 S oracle 2135 1 0 40 20 ? 283878 ? 12:18:09 ? 0:17 ora_dia0_cttrain6
0 S oracle 9979 11472 0 50 20 ? 211 ? 13:40:24 pts/2 0:00 grep cttrain6
0 S oracle 2157 1 0 40 20 ? 283942 ? 12:18:13 ? 0:47 ora_mmnl_cttrain6
0 S oracle 2129 1 0 40 20 ? 283830 ? 12:18:09 ? 0:06 ora_diag_cttrain6
0 S root 2159 1 0 40 20 ? 263214 ? 12:18:13 ? 3:52 ora_dism_cttrain6
0 S oracle 9565 1 0 40 20 ? 283861 ? 13:35:18 ? 0:00 oraclecttrain6 (LOCAL=NO)
0 S oracle 2482 1 0 40 20 ? 283837 ? 12:22:55 ? 0:01 ora_q000_cttrain6
0 S oracle 2884 1 0 40 20 ? 283830 ? 12:27:46 ? 0:01 ora_smco_cttrain6
0 S oracle 2153 1 0 40 20 ? 283846 ? 12:18:12 ? 0:01 ora_reco_cttrain6
0 S oracle 2464 1 0 40 20 ? 284150 ? 12:22:42 ? 0:01 ora_fbda_cttrain6
0 S oracle 2123 1 0 40 20 ? 284270 ? 12:18:08 ? 0:14 ora_pmon_cttrain6
0 S oracle 2454 1 0 40 20 ? 285190 ? 12:22:34 ? 0:01 ora_arc1_cttrain6
0 S oracle 2145 1 0 40 20 ? 284792 ? 12:18:11 ? 0:06 ora_dbw3_cttrain6
0 S oracle 2141 1 0 40 20 ? 284792 ? 12:18:10 ? 0:08 ora_dbw1_cttrain6
0 S oracle 2149 1 0 40 20 ? 284112 ? 12:18:11 ? 0:25 ora_ckpt_cttrain6
0 S oracle 9513 1 0 40 20 ? 283885 ? 13:34:18 ? 0:02 oraclecttrain6 (LOCAL=NO)
0 S oracle 2125 1 0 0 RT ? 283830 ? 12:18:08 ? 0:07 ora_vktm_cttrain6
0 S oracle 2143 1 0 40 20 ? 284792 ? 12:18:10 ? 0:04 ora_dbw2_cttrain6
0 S oracle 2459 1 0 40 20 ? 285198 ? 12:22:35 ? 0:01 ora_arc3_cttrain6
0 S oracle 2451 1 0 40 20 ? 285190 ? 12:22:33 ? 0:01 ora_arc0_cttrain6
0 S oracle 2131 1 0 40 20 ? 283838 ? 12:18:09 ? 0:02 ora_dbrm_cttrain6
0 S oracle 2139 1 0 40 20 ? 284872 ? 12:18:10 ? 0:03 ora_dbw0_cttrain6
0 S oracle 2466 1 0 40 20 ? 283830 ? 12:22:44 ? 0:01 ora_qmnc_cttrain6
0 S oracle 2151 1 0 40 20 ? 283974 ? 12:18:12 ? 0:05 ora_smon_cttrain6
0 S oracle 2457 1 0 40 20 ? 285198 ? 12:22:34 ? 0:01 ora_arc2_cttrain6
0 S oracle 2133 1 0 40 20 ? 283830 ? 12:18:09 ? 0:02 ora_psp0_cttrain6
0 S oracle 2155 1 0 40 20 ? 284656 ? 12:18:12 ? 0:11 ora_mmon_cttrain6
0 S oracle 2137 1 0 40 20 ? 283830 ? 12:18:09 ? 0:02 ora_mman_cttrain6

user567271 wrote:
I am running oracle 11.1.0.7 on solaris 10. The database uses some 280M virtual memory size for each oracle backup or user process. See the SZ column in output of ps -efl below.
I just wonder how come oracle that much of memory for each process. Is that something we can control through some system/database parameters or is that the way oracle 11g on solaris works?As you have already said, it is "virtual" memory. This is not real, "physical" memory. Solaris has a virtual memory sub-system layer in it, as do almost all other modern operating systems. Google "operating system virtual memory" to find out more on what virtual memory is and how it works.
In terms of your question, virtual memory means that not all of a process's memory space needs to be in physical memory for it to run and execute. The process virtual memory space is broken up into equal sized pages, and only those pages currently being referenced (used) are mapped and read into physical memory pages. Thus the virtual size of a process is irrelevant to how much physical memory is being used. Look at the RSS column (ps -ely) for the physical memory used by each process - Resident Set Size.
Furthermore, an Oracle shadow server process (oracle) uses a large segment of shared memory for the SGA. This shared memory only exists once in physical memory, and is shared amongst all the shadow server processes. But it is mapped into the address space of each process, and so appears and is counted in the virtual and physical memory of each process.
So each reported virtual size (SZ) of each oracle process is also counting the mapped shared memory pages in each process, and so counting the same pages multiple times across all the oracle processes. You need to subtract the size of the SGA shared memory from the virtual size of each oracle process to determine the private, local memory per shadow process.
If you want a further breakdown of the memory map of each process, look at the manual pages for pmap (man pmap), which will break it down by text, private data, zero initialized, shared and other types. By subtracting the shared size from the resident size you can get a true view of the private, local memory per oracle shadow server process.
John

Similar Messages

  • The danger of memory target in Oracle 11g - request for discussion.

    Hello, everyone.
    This is not a question, but kind of request for discussion.
    I believe that many of you heard something about automatic memory management in Oracle 11g.
    The concept is that Oracle manages the target size of SGA and PGA. Yes, believe it or not, all we have to do is just to tell Oracle how much memory it can use.
    But I have a big concern on this. The optimizer takes the PGA size into consideration when calculating the cost of sort-related operations.
    So what would happen when Oracle dynamically changes the target size of PGA? Following is a simple demonstration of my concern.
    UKJA@ukja116> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    -- Configuration
    *.memory_target=350m
    *.memory_max_target=350m
    create table t1(c1 int, c2 char(100));
    create table t2(c1 int, c2 char(100));
    insert into t1 select level, level from dual connect by level <= 10000;
    insert into t2 select level, level from dual connect by level <= 10000;
    -- First 10053 trace
    alter session set events '10053 trace name context forever, level 1';
    select /*+ use_hash(t1 t2) */ count(*)
    from t1, t2
    where t1.c1 = t2.c1 and t1.c2 = t2.c2
    alter session set events '10053 trace name context off';
    -- Do aggressive hard parse to make Oracle dynamically change the size of memory segments.
    declare
      pat1     varchar2(1000);
      pat2     varchar2(1000);
      va       number;
      vc       sys_refcursor;
      vs        varchar2(1000);
    begin
      select ksppstvl into pat1
        from sys.xm$ksppi i, sys.xm$ksppcv v   -- views for x$ table
        where i.indx = v.indx
        and i.ksppinm = '__pga_aggregate_target';
      for idx in 1 .. 10000000 loop
        execute immediate 'select count(*) from t1 where rownum = ' || (idx+1)
              into va;
        if mod(idx, 1000) = 0 then
          sys.dbms_system.ksdwrt(2, idx || 'th execution');
          select ksppstvl into pat2
          from sys.xm$ksppi i, sys.xm$ksppcv v   -- views for x$ table
          where i.indx = v.indx
          and i.ksppinm = '__pga_aggregate_target';
          if pat1 <> pat2 then
            sys.dbms_system.ksdwrt(2, 'yep, I got it!');
            exit;
          end if;
        end if;
      end loop;
    end;
    -- As to alert log file,
    25000th execution
    26000th execution
    27000th execution
    28000th execution
    29000th execution
    30000th execution
    yep, I got it! <-- the pga target changed with 30000th hard parse
    -- Second 10053 trace for same query
    alter session set events '10053 trace name context forever, level 1';
    select /*+ use_hash(t1 t2) */ count(*)
    from t1, t2
    where t1.c1 = t2.c1 and t1.c2 = t2.c2
    alter session set events '10053 trace name context off';With above test case, I found that
    1. Oracle invalidates the query when internal pga aggregate size changes, which is quite natural.
    2. With changed pga aggregate size, Oracle recalculates the cost. These are excerpts from the both of the 10053 trace files.
    -- First 10053 trace file
    PARAMETERS USED BY THE OPTIMIZER
      PARAMETERS WITH ALTERED VALUES
    Compilation Environment Dump
    _smm_max_size                       = 11468 KB
    _smm_px_max_size                    = 28672 KB
    optimizer_use_sql_plan_baselines    = false
    optimizer_use_invisible_indexes     = true
    -- Second 10053 trace file
    PARAMETERS USED BY THE OPTIMIZER
      PARAMETERS WITH ALTERED VALUES
    Compilation Environment Dump
    _smm_max_size                       = 13107 KB
    _smm_px_max_size                    = 32768 KB
    optimizer_use_sql_plan_baselines    = false
    optimizer_use_invisible_indexes     = true
    Bug Fix Control Environment10053 trace file clearly says that Oracle recalculates the cost of the query with the change of internal pga aggregate target size. So, there is a great danger of unexpected plan change while Oracle dynamically controls the memory segments.
    I believe that this is a desinged behavior, but the negative side effect is not negligible.
    I just like to hear your opinions on this behavior.
    Do you think that this is acceptable? Or is this another great feature that nobody wants to use like automatic tuning advisor?
    ================================
    Dion Cho - Oracle Performance Storyteller
    http://dioncho.wordpress.com (english)
    http://ukja.tistory.com (korean)
    ================================

    I made a slight modification with my test case to have mixed workloads of hard parse and logical reads.
    *.memory_target=200m
    *.memory_max_target=200m
    create table t3(c1 int, c2 char(1000));
    insert into t3 select level, level from dual connect by level <= 50000;
    declare
      pat1     varchar2(1000);
      pat2     varchar2(1000);
      va       number;
    begin
      select ksppstvl into pat1
        from sys.xm$ksppi i, sys.xm$ksppcv v
        where i.indx = v.indx
        and i.ksppinm = '__pga_aggregate_target';
      for idx in 1 .. 1000000 loop
        -- try many patterns here!
        execute immediate 'select count(*) from t3 where 10 = mod('||idx||',10)+1' into va;
        if mod(idx, 100) = 0 then
          sys.dbms_system.ksdwrt(2, idx || 'th execution');
          for p in (select ksppinm, ksppstvl
              from sys.xm$ksppi i, sys.xm$ksppcv v
              where i.indx = v.indx
              and i.ksppinm in ('__shared_pool_size', '__db_cache_size', '__pga_aggregate_target')) loop
              sys.dbms_system.ksdwrt(2, p.ksppinm || ' = ' || p.ksppstvl);
          end loop;
          select ksppstvl into pat2
          from sys.xm$ksppi i, sys.xm$ksppcv v
          where i.indx = v.indx
          and i.ksppinm = '__pga_aggregate_target';
          if pat1 <> pat2 then
            sys.dbms_system.ksdwrt(2, 'yep, I got it! pat1=' || pat1 ||', pat2='||pat2);
            exit;
          end if;
        end if;
      end loop;
    end;
    /This test case showed expected and reasonable result, like following:
    100th execution
    __shared_pool_size = 92274688
    __db_cache_size = 16777216
    __pga_aggregate_target = 83886080
    200th execution
    __shared_pool_size = 92274688
    __db_cache_size = 16777216
    __pga_aggregate_target = 83886080
    300th execution
    __shared_pool_size = 88080384
    __db_cache_size = 20971520
    __pga_aggregate_target = 83886080
    400th execution
    __shared_pool_size = 92274688
    __db_cache_size = 16777216
    __pga_aggregate_target = 83886080
    500th execution
    __shared_pool_size = 88080384
    __db_cache_size = 20971520
    __pga_aggregate_target = 83886080
    1100th execution
    __shared_pool_size = 92274688
    __db_cache_size = 20971520
    __pga_aggregate_target = 83886080
    1200th execution
    __shared_pool_size = 92274688
    __db_cache_size = 37748736
    __pga_aggregate_target = 58720256
    yep, I got it! pat1=83886080, pat2=58720256Oracle continued being bounced between shared pool and buffer cache size, and about 1200th execution Oracle suddenly stole some memory from PGA target area to increase db cache size.
    (I'm still in dark age on this automatic memory target management of 11g. More research in need!)
    I think that this is very clear and natural behavior. I just want to point out that this would result in unwanted catastrophe under special cases, especially with some logic holes and bugs.
    ================================
    Dion Cho - Oracle Performance Storyteller
    http://dioncho.wordpress.com (english)
    http://ukja.tistory.com (korean)
    ================================

  • Monitoring memory used by Oracle instance

    Hi,
    How can i check how much memory is being used and allocated by an Oracle instace? Is there any way to do?
    Ashish

    An Oracle instance is using SGA that is shared memory by all background processes and dedicated/shared server processes and PGA which is private memory used by each server process.
    For SGA you can use following queries:
    select * from v$sgastat
    In 10G, you can also use:
    select * from v$sgainfo;
    For PGA, you can use following query:
    select * from v$pgastat;

  • Install Oracle 11g RAC on Solaris 10

    Hello,
    I'm new joined DBA in my organization.
    There is a requirement from a client to install Oracle 11g RAC on Solaris 10 env.
    Can anybody please guide me with some doc or pdf for the steps.
    Till now, i've install Oracle 11g DB on Solaris, but i'm pretty new to RAC env.
    Note:
    I've to do installation via commands, No GUI.
    Thanks for your help.
    Regards,
    Gags

    Hi,
    Q) Can Oracle 11g Release 2 RAC be installed on Solaris (x86)??yes, you can Install it on Solaris X86
    Q) Can the links of Oracle RAC installation over Unix and Linux be taken as base?? As i haven't seen any doc for installing 11g RAC on Solaris, where as it was provided in Oracle 10g.yes, you need to consider Oracle RAC installation over Unix and Linux be taken as base as base document.
    http://download.oracle.com/docs/cd/E11882_01/install.112/e17214/toc.htm
    In addition Refer:
    http://www.oraclemasters.in/?p=963
    thanks,
    X A H E E R

  • Can oracle 11g installed on solaris 8 ?

    Can oracle 11g installed on solaris 8 ?
    Other what is the minimum solaris supported to install oracle 11g.
    Thank you in advance..

    [email protected] wrote:
    Can oracle 11g installed on solaris 8 ?
    Other what is the minimum solaris supported to install oracle 11g.
    Thank you in advance..In general, each product has an installation manual - found through http://docs.oracle.com and possibly http://tahiti.oracle.com and the install manual clearly identifies the (minimum) support OS and Release information.

  • Factors for increase in memory occupied by Oracle 11g database

    I wanted to know all the possible factors which can account for the increase in the memory required for an Oracle 11g database. Let’s take an example,
    1) Say if the memory allocated for an Oracle 11g instance is 8GB which is 50% of the memory of 16GB allocated to the machine on which Oracle 11g is installed.
    2) The max sessions are 300.
    With this example in mind, I had the following queries:
    1) Is the memory taken by 100 sessions or 300 sessions going to be within the limit of 8GB allocated to the Oracle?
    2) Say if the max sessions is increased to 400, would the memory taken the 100 extra sessions would be within 8GB or would that be extra?
    I hope my query is clear.
    Please revert with the reply to my query.
    Regards

    Memory is allocated for the session only when that session is created by the listener, and the memory used by that session will fluctuate depending on the workload it's doing.
    300 or 400 it won't pre-allocate all the memory for the fixed maximum number of sessions, it's dynamic. What oracle does is allocated all the memory you gave it in the PGA and the SGA and will do it's best to work with it for the current workload, it won't suddenly eat more memory without you telling it's okay to.
    The only scenario I could see this happening is if you have a lot of sessions and a small PGA. In that case, oracle does go ahead and eat more memory than you gave it because it can't make due with the current PGA. So it eats more memory so sessions can be created and maintened. See PGA over- allocation.
    To quote the good ol' docs:
    Over allocating PGA memory can happen if the value ofPGA_AGGREGATE_TARGET is too small. When this happens, the Oracle Database cannot honor the value ofPGA_AGGREGATE_TARGET and extra PGA memory needs to be allocated.

  • Index not being used in Oracle 11g

    Hi,
    I executed an SQL in Oracle 9i based on a Materialized View with an index. Execution plan shows it used Index and did Range scan. But the same query if I executed in Oracle 11g, it did full table scan and ignored the index. Finally, I used /*+Index*/ hint to tell compiler to use the index. Can anyone tell why it happended like this.
    below is the query.
    SELECT TYPE,NAME,PARENT_ID,CHILD_ID,UNIT_OF_MEASURE,QUANTITY,POSITION_NUMBER
    FROM MVIEW_BOM_CHILD_ATTRIBUTES
    WHERE BREAKDOWN_LIMIT = 'FALSE'
    CONNECT BY PRIOR CHILD_ID = PARENT_ID START WITH PARENT_ID IN ('7325','34676','10121','35154','34370','4909','5494','28714','2273','22551','36465','35416','7148','34774',' 23290','18225','24415','35774','34772','20108','19072','8134','14688','31751','12669','26450','34716','768 4','26004','8770','34001','32614','3816','19801','30329','13822','15784','9296','17147','35423','6181','3477 3','18683','20780','35191','17990','7788','1559','7691','35449','34640','35432','35829','14161','9412','2039 2','593','23744','15741','35850','4177','36420','34695','33027','34655','31315','13552','23089','14025','901 2','22930','36182','13413','13839','32502','2392','19666','35183','32174','35170','20545','14344','29190','1 8163','19124','35448','32171','23498','2694','31101','4357','30421','35826','17976','13218','34770','35778' ,'16112','36408','34797','3294','9600','23524','3663','36412','34674','26715','2886','3204','15928','4510','8 112','27232','14966','35217','6281','1610','16359','25906','10262','3291','35777','11789','34675','24208','1 0093','28479','2928','23396','19702','32716','29813','2536','2349','34639','18610','35175','9796','26915','6 041','4745','34718','17946','3285','34308','9451','29689','17903','34642','35166','4630','35760','35761','34 696','27958','5912','35549','17695','31595','8028','24020','16025','8004','6430','36391','3580','32433','354 94','27368','15801','35583','35488','18807','34180','26626','20629','34767','14771','28746','34728','4948',' 34355','14000','34734','35820','36449','4904','11136','35177','27740','8016','13883','36402','35233','2614 7','21089','33152','35162','11320','32843','7336','34654','35602','32026','35582','24500','10573','33778','1 651','22781','25784','30124','10798','15930','28652','1513','745','35415','30404','21990','20872','2272','16 273','4234','35601','35581','22088','15543','3362','7713','35431','34719','27710','33104','20482','16801','1 686','35658','16545','32681','8722','20046','8950','34799','31605','21299','19572','445','35489','35656','35 546','7414','13369','35455','35434','35438','19383','10591','24698','14607','25715','27913','1046','15511',' 36386','6801','25134','2717','2083','35288','15851','14538','35398','11575','35156','35435','4232','36380',' 18406','32862','20879','5695','4229','24132','7081','35420','34694','22474','30047','29352','34735','2305',' 36409','18040','13472','31481','29246').
    Thanks

    SBH wrote:
    My doubt is only that is it possible that a SQL query with same index proprties uses different access path to execute. Is it dependent on oracle version also.
    Yes, it is possible.
    It is even possible on the same Oracle version - look at simple examples:
    case 1
    create table test as
    select level l, 'test' test from dual
    connect by level < 1000;
    create index test_ix on test(l);
    explain plan for
    select * from test where l < 50;
    select * from table(dbms_xplan.display);
    Plan hash value: 1408842701
    | Id  | Operation                   | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |         |    49 |   931 |     3   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| TEST    |    49 |   931 |     3   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | TEST_IX |    49 |       |     2   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("L"<50)
    Note
       - dynamic sampling used for this statement (level=2)case 2
    drop table test;
    create table test as
    select * from (
      select level l, 'test' test from dual
      connect by level < 1000
    ) order by dbms_random.value(0,100);
    create index test_ix on test(l);
    explain plan for
    select * from test where l < 50;
    select * from table(dbms_xplan.display);
    Plan hash value: 1357081020
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |      |    49 |   931 |     3   (0)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| TEST |    49 |   931 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("L"<50)
    Note
       - dynamic sampling used for this statement (level=2)The same query on the same table containing the same data in it. And the same index.
    The only difference is records order in the table.
    In the first case CBO decided that index range scan would be reasonable.
    In the second case CBO preferred FTS as less costly.

  • Oracle 11g Installation on SOlaris  5.10

    Hi ,
    First i am going to install oracle 11g on solaris 5.10 . Could some one tell me what are the requirements required if not please send me the better link which i can follow for my installation ...

    Follow the Oracle Installation Documentations.
    "Oracle® Database Quick Installation Guide
    11g Release 1 (11.1) for Solaris Operating System"
    http://download.oracle.com/docs/cd/B28359_01/install.111/b32313/toc.htm
    http://download.oracle.com/docs/cd/B28359_01/install.111/b32313.pdf
    Oracle® Database Installation Guide
    11g Release 1 (11.1) for Solaris Operating System
    http://download.oracle.com/docs/cd/B28359_01/install.111/b32068/toc.htm
    http://download.oracle.com/docs/cd/B28359_01/install.111/b32068.pdf
    Regards,
    Sabdar Syed.

  • Memory target with Oracle 11g

    Hello All,
    I am using Oracle 11gR2 on AIX 7.1.
    My question is about memory_target parameter with RAC, what I usually do is to put this parameter equal to 40% of the RAMs on the database server in single instance database.
    With Oracle RAC, should it be 40% of the summation of RAM on all nodes? for ex if I have 2 nodes with 40 GB RAM on each node, so i can put my memory_target= 40% of (40+40)= 32 G ?? is that correct or it will be 40 % of the RAM on 1 node?? is it by Instance or by database ?
    How do i know if a parameter is at the database level or instance level?
    Regards,

    NB wrote:
    Hello All,
    I am using Oracle 11gR2 on AIX 7.1.
    My question is about memory_target parameter with RAC, what I usually do is to put this parameter equal to 40% of the RAMs on the database server in single instance database.
    With Oracle RAC, should it be 40% of the summation of RAM on all nodes? for ex if I have 2 nodes with 40 GB RAM on each node, so i can put my memory_target= 40% of (40+40)= 32 G ?? is that correct or it will be 40 % of the RAM on 1 node?? is it by Instance or by database ?
    How do i know if a parameter is at the database level or instance level?
    Regards,Its _40 % of the RAM on 1 node_ recommended approach. Since Memory_target wil consume the memory of server, so rest 60% is available to OS to do his work. If you put 40% of (40+40) = 32 GB on each node then there is very little memory left for OS(you can see decrease in performance).
    Its 2 node RAC, so each instance has its own set of parameter in pfile/spfile. So we can say its instance specific. Each node can have same of different values of memory_target parameter
    Edited by: 909592 on Mar 7, 2012 7:04 PM

  • Which tool is used for Oracle 11g performance tuning?

    Hi all
    I used statspack for 9i's performance tuning.
    But with 11g R2 now I want to know which way are you using to do performance tuning?
    Statspack? OSW? RDA? ADDM? Or other ways?
    Thank you.

    schavali wrote:
    I would start with Automatic Workload Repository (AWR) reports to identify the bottleneck
    MOS Doc 390374.1 - Oracle Performance Diagnostic Guide (OPDG)
    MOS Doc 748642.1 - What is AWR( Automatic workload repository ) and How to generate the AWR report?
    HTH
    SriniThanks for your answer.
    To read the MOS documents I need a Oracle Customer ID , is that right ?
    (Where to get that ID ? Our company bought Oracle 10g without any Customer IDs in it )
    Best Wishes.

  • How to Install oracle 11G Solaris 10 NO GUI using command line

    Hello
    I need to install oracle 11G R2 on Solaris 10 but cant use interactive mode i tried the following
    /runInstaller -silent -force -debug FROM_LOCATION="/var/tmp/oracle/database/stageproducts.xml" ORACLE_HOME="/oracle/product"
    As per oracle metalink documentation - however i get the following messages
    [SEVERE] - My Oracle Support Username/Email Address Not Specified
    has anyone installed oracle with no interactive mode how can i do so ?
    thank you

    Have you followed the needed steps in the Install Guide ? http://download.oracle.com/docs/cd/E11882_01/install.112/e17163/app_nonint.htm#BABFEECI
    HTH
    Srini

  • Oracle 11g client installation on Solaris in non GUI mode

    Hi,
    I want to know if there is a way i can install Oracle 11g client on Solaris 10 machine in non GUI mode (ie. i want to do it from a command based terminal)
    Thanks
    Anup

    Hi Anup
    You have two ways to install it
    1) Client installation without response file
    Please Refer to Doc ID 885643.1
    2) With Response file
    Refer to the document available in Document library
    Document Oracle® Database Client Installation Guide
    11g Release 2 (11.2) for Solaris Operating System
    Note: from 11gR2 onwards you can create a response file from GUI also and then use it later on for silent installation.
    Hope this is helpful for You
    Regards
    Sudhir
    Edited by: user13090769 on Sep 1, 2010 10:55 AM
    Edited by: user13090769 on Sep 1, 2010 10:56 AM

  • Can I use oracle client 10g express to work on oracle 11g database

    I have installed an oracle DB 11g, I also installed oracle client 10g express edition to create users and tables. I noticed that the users I created can't connect to db with error message "Error java.sql.SQLException: ORA-01017: invalid username/password; logon denied" and tables I created can't access from my program. I get error message "Error java.sql.SQLException: ORA-00942: table or view does not exist". I start to suspect that client 10g express edition can't use with oracle 11g. Please help.
    any suggestion is appreciated.
    Thanks,
    -- Allen --

    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    C:\temp>cd \oracle\app\oracle\product\10.2.0\server\BIN
    C:\oracle\app\oracle\product\10.2.0\server\BIN>
    C:\oracle\app\oracle\product\10.2.0\server\BIN>cd \temp
    C:\Temp>set ORACLE_HOME=C:\oracle\app\oracle\product\10.2.0\server
    C:\Temp>set ORACLE_SID=XE
    C:\Temp>set PATH=%ORACLE_HOME%\bin;%PATH%
    C:\Temp>type C:\oracle\app\oracle\product\10.2.0\server\NETWORK\ADMIN\tnsnames.o
    ra
    XE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = FCC003L)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
    TEST =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = FCC003L)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = TEST)
    ORA11B =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = LAB2)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ORA11B.example.com)
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
    C:\Temp>sqlplus system/oracle@ora11b
    SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 3 18:26:14 2008
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - ProductionWith the Partitioning, Oracle Label Security, OLAP, Data Mining,
    Oracle Database Vault and Real Application Testing options
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Pr
    oduction
    With the Partitioning, Oracle Label Security, OLAP, Data Mining,
    Oracle Database Vault and Real Application Testing options
    C:\Temp>

  • How to find the memory used by specific session in oracle

    Hi,
    Would require your help to find memory used by specific session/connection in oracle using any query.
    **Regards**
    **Vijay Salian**

    Hi Girish,
    which column we have to look at the at in the below ouptut to find the actual memory used by oracle session in our case as mentioned dedicated in ourcase????
    SID Oracle User O/S User Session Program Machine PGA Memory PGA Memory Max UGA Memory UGA Memory MAX
    3 oracle oracle@alex (LGWR) alex 5,526,516 5,526,516 77,956 77,956
    9 oracle oracle@alex (ARC0) alex 4,500,080 4,500,080 77,956 77,956
    10 oracle oracle@alex (ARC1) alex 4,500,080 4,500,080 77,956 77,956
    11 SYSTEM oracle sqlplus@alex (TNS alex 3,403,988 4,780,244 77,956 1,400,476
    2 oracle oracle@alex (DBW0) alex 2,488,624 2,488,624 77,956 77,956
    4 oracle oracle@alex (CKPT) alex 1,359,484 1,359,484 77,956 77,956
    17 SCOTT oracle sqlplus@alex (TNS alex 577,512 708,584 339,812 339,812
    5 oracle oracle@alex (SMON) alex 499,704 499,704 77,956 77,956
    8 oracle oracle@alex (QMN0) alex 475,596 541,132 274,348 274,348
    19 SCOTT oracle sqlplus@alex (TNS alex 454,964 454,964 143,420 143,420
    6 oracle oracle@alex (RECO) alex 237,024 237,024 77,956 77,956
    1 oracle oracle@alex (PMON) alex 228,512 228,512 77,956 77,956
    7 oracle oracle@alex (CJQ0) alex 228,512 228,512 77,956 77,956
    13 rows selected.
    Regards
    Vijay

  • ORACLE 10g PERFORMANCE ON SOLARIS 10

    Hi all,
    In sunfire v890 we have installed oracle 10g release 2 on solaris 10.
    prstat -a command shows :
    NPROC USERNAME SIZE RSS MEMORY TIME CPU
    105 root 9268M 6324M 20% 1:21:57 0.4%
    59 oracle 24G 22G 71% 0:04:33 0.1%
    2 nobody4 84M 69M 0.2% 0:11:32 0.0%
    2 esbuser 13M 9000K 0.0% 0:00:46 0.0%
    1 smmsp 7560K 1944K 0.0% 0:00:00 0.0%
    4 daemon 12M 7976K 0.0% 0:00:00 0.0%
    and top utility shows :
    last pid: 8639; load avg: 0.09, 0.09, 0.09; up 2+06:05:29 17:07:50
    171 processes: 170 sleeping, 1 on cpu
    CPU states: 98.7% idle, 0.7% user, 0.7% kernel, 0.0% iowait, 0.0% swap
    Memory: 32G phys mem, 22G free mem, 31G swap, 31G free swap
    therefore from prstat we come to know that memory used by oracle is 71%
    where as top says 31.25% used.....
    which one is true in this scenario.....
    shall we go ahead in trusting top utility????
    Advance thanks to you.

    therefore from prstat we come to know that memory
    used by oracle is 71%
    where as top says 31.25% used.....
    which one is true in this scenario.....
    shall we go ahead in trusting top utility????In this case top is more accurate. prstat pretends all the memory used by each Oracle process is used only by that process. But lots of the memory used by Oracle is shared between several processes. prstat is counting that shared memory over and over for each process... resulting in the higher figure.
    http://forum.java.sun.com/thread.jspa?threadID=5114263&tstart=105
    Regards,
    [email protected]
    http://www.HalcyonInc.com

Maybe you are looking for