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)
================================

Similar Messages

  • 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

  • Oracle 11g advantages for performance

    Hello,
    I am doing test of Client side result set cache on oracle 11 g rel2 ,O/S- RHEL
    i am doing test as below on 2 Oracle 11g rel2 test servers on RHEL
    one oracle 11g rel2 instance is used as server1,from other oracle 11g rel2 server2, i am running queries connecting to server1 through sqlplus,listener(tnsnames )
    i run query few times without any client cache settings then
    i have set init.ora paras for oracle 11g rel2 for client result cache,cache size/cache lag
    i run the same query few times
    in both the cases after each run i am noting statistics
    select * from V$RESULT_CACHE_OBJECTS;
    select * from V$CLIENT_RESULT_CACHE_STATS;
    select * from gv$cpool_conn_info;
    also autotrace,plan etc
    but after using cache this views are getting poplulated ,autiotrace plan shows cache is used
    but i cant see any improvement in performance after using client cache like speed,reduce network trip, etc
    in fact without using cache/with no hint ,query executes faster
    let me know if i am missing something,i believe sqlplus internally using OCI
    thanks

    >
    I tested with custom code using java/jdbc thin driver ,connecting same as between 2 oracle 11g2 instance 1 as client other server,running code calling queries from client connecting to server
    >
    Unless you plan to provide the information ask for about what it is you are doing there really isn't any point in providing status updates that: you test this, you tested that. You made several statements about what you were doing
    >
    i have set init.ora paras for oracle 11g rel2 for client result cache,cache size/cache lag
    i run the same query few times
    in both the cases after each run i am noting statistics
    select * from V$RESULT_CACHE_OBJECTS;
    select * from V$CLIENT_RESULT_CACHE_STATS;
    select * from gv$cpool_conn_info;
    also autotrace,plan etc
    >
    and were asked to provide specific information that you haven't provided nor have you provided the query.
    >
    You say you are doing a bunch of things
    But you don't post any of those results so we can see what it is you are looking at.
    No one can comment on things they can't see.
    >
    You have to be using OCI for client side caching so if you use the Java thin driver but don't use OCI there won't be any cacheing. There also won't be any if it is not enabled or if the query has certain constraints as listed in the doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28395/oci10new.htm#CHDGGFEF
    >
    Queries that are not Cached
    There are queries that are not cached on the OCI client even if the result cache hint is specified. Such queries may be cached on the database if the server result cache feature is enabled (see Oracle Database Concepts, "SQL Query Result Cache" for more information). If a SQL query includes any of the following, then the result set of that query is not cached in the OCI client result cache:
    •Views
    •Remote objects
    •Complex types in the select list
    •Snapshot-based or flashback queries
    •Queries executed in a serializable, read-only transaction, or inside a flashback session
    •Queries that have PL/SQL functions in them
    •Queries that have VPD policies enabled on the tables
    >
    This Oracle-Developer.net article author doesn't seem to have any trouble caching results.
    http://www.oracle-developer.net/display.php?id=503

  • Which one is best option RAC 10g or oracle 11g RAC for certifiction point ?

    hi ,
    which one is best option RAC 10g or oracle 11g RAC for certifiction point of view?
    can any one detail difference between above 2 options?
    Regards,
    A.Anwar

    A. Anwar wrote:
    hi ,
    which one is best option RAC 10g or oracle 11g RAC for certifiction point of view?
    can any one detail difference between above 2 options?The main difference is: Oracle Lifetime Support
    Premier Support Ends
    Oracle 10g R2 - Jul 2010
    Oracle 11g R2 - Jan 2015
    Extended Support Ends
    Oracle 10g R2 - Jul 2013
    Oracle 11g R2 - Jan 2018
    http://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf
    Oracle 10g R2 is getting unsupported.

  • Is Oracle 11g released for NW04s and ECC6.0?

    Is Oracle 11g released for NW04s and ECC6.0?
    Please help. Thanks!

    Plain and simple: No, it isn't.
    Check the SAP on Oracle homepage [here|SAP on Oracle] in SDN and read the latest development news on this topic including a rough schedule.
    regards,
    Lars

  • Oracle 11G database for 64 bit windows installation error

    Hi,
    I downloaded the 11G 64bit for windows and unzipped the files into one folder and ran the setup.exe as an administrator. It opened up the java screen and I chose, create and configure a database. Next screen I chose, Desktop Class, when I click next it dies. It does not show me teh next screen. I went to the appdata folder and saw this error but not sure what to do EXCEPTION_ACCESS_VIOLATION (0xc0000005). Please help. Thanks for your time and help.

    Adipur wrote:
    Hello, have you tried to create new administrator user, and install using that newly created user...?You found this to be a band-aid solution in your specific instance. (Strange case of installation on windows 7 - unable to complete installation But you have drawn the wrong conclusions and never found the real issue in the cited thread. Under the circumstances, I would not be offering this up as a generalized solution, as you are doing in this thread and in others:
    Re: Oracle 11G database for 64 bit windows installation error
    Re: Trouble installing Oracle Personal in Windows 7 64-bit environment
    I have been doing Oracle DBA work since v 7.3, and have never seen advice like this to be anything more than a work-around the real issue.
    Edited by: EdStevens on May 15, 2013 7:03 AM

  • Oracle 11g ODBC for Windows NT and Windows 95

    Hi
    Please does anyone knows where can I find this ODBC ? Oracle 11g ODBC for Windows NT and Windows 95
    I have test some ODBC from the Oracle page but doesnt work
    Thank you
    J.A.

    I'm thinking no.
    However I did find this which may help :
    http://www.oracle.com/technetwork/database/windows/odbcfaq-128251.pdf
    I did the search for 16 bit in it and found some interesting information.
    The other piece of information I can share is the Oracle 11 client has issues connecting to Oracle 9.
    An Oracle 10 clients might have a better chance, but the catch is finding it.
    The last client I remember working on these OS's was Oracle 8. But I doubt that will connect to Oracle 11.
    Best Regards
    mseberg
    Edited by: mseberg on Aug 14, 2012 6:06 PM
    Later
    I'm not a huge fan of when they move stuff. This spot feels a little like the island of misfit toys.

  • 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

  • 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.

  • How to view the List of statements executed in Oracle 11G database

    Hi ,
    I have this Application which internally updates and writes to the tables in my database. Is there a way that i can make oracle 11g to log all the statements that are executed in it so that ill be able to see the statements?. Plz explain me how to do this ?
    Thanks
    Kiran

    User Auditing on those tables.
    http://www.oracle.com/technology/deploy/security/database-security/database-auditing/index.html
    http://www.oracle-base.com/articles/10g/Auditing_10gR2.php
    Regards
    Rajesh

  • ORA-27102: out of memory Solaris 10 Oracle 11g Container

    Hi,
    I work with SPARCT3 32Gb Ram, Solaris 10. Trabajo con contenedores/zonas.
    I try to install some DB in the same container.
    The max-shm-memory variable set to 8G, 10G, 12G, 14G and 16G but its the same.
    The first installation its work, and i set the SGA to 2G, in the second installation with dbca, it showme the out of memory, i had to turn off the first installation to complete the second.
    When the second has install, i try to startup the first installation but it showme the out of memory.
    # prctl -n project.max-shm-memory -i project 100
    project: 100: pro.oracle
    NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
    project.max-shm-memory
    privileged 10.0GB - deny -
    system 16.0EB max deny -
    In the alert log only show me this:
    Wed Apr 18 13:03:42 2012
    Adjusting the default value of parameter parallel_max_servers
    from 1280 to 135 due to the value of parameter processes (150)
    Starting ORACLE instance (normal)
    Whe i install and i set the SGA to 2Gb, Oracle get this 2Gb or it wants more?
    Thanks.

    PVOWUSU wrote:
    Result of the command is below:
    [root@AGB-DC-12 ~]# find / -name alert_ghadb.log -print 2>/dev/nul
    /ORACLE/product/10.2.0/db_1/rdbms/log/alert_ghadb.log
    /ORACLE/admin/ghadb/bdump/alert_ghadb.log
    [root@AGB-DC-12 ~]#
    display from /ORACLE/product/10.2.0/db_1/rdbms/log/alert_ghadb.log
    [root@AGB-DC-12 ~]# vi /ORACLE/product/10.2.0/db_1/rdbms/log/alert_ghadb.log
    Tue Mar 20 00:02:21 2012
    Adjusting the default value of parameter parallel_max_servers
    from 1280 to 135 due to the value of parameter processes (150)
    Tue Mar 20 00:03:25 2012
    Shutting down instance (abort)
    Thanks.how many other Oracle DB are currently running on this system?
    who/what made spfile or pfile used to attempt starting this new DB?
    post results from following OS command
    ls -ltr $ORACLE_HOME/dbs/

  • Oracle 11g bug for column ambigously defined error

    I have below format query running on Oracle 10g without any issues
    select col1
    from (select col1
    from (select 'A' col1
    from dual)
    ) v1
    inner join (select col1 as col2
    from (select 'A' col1
    from dual)
    ) v2
    on (v1.col1=v2.col2);
    When I run the exact same query on Oracle 11g I get column ambiguously defined error. But when I change the query to as below it works fine on 11g
    select v1.col1
    from (select col1
    from (select 'A' col1
    from dual)
    ) v1
    inner join (select col1 as col2
    from (select 'A' col1
    from dual)
    ) v2
    on (v1.col1=v2.col2);
    Is it because 11g ignores column alias in my inner queries.

    I'd tend to agree that this seems to be a bug in 11.1.0.7 (at least, that's the version I'm running it in)
    It's not even that Oracle doesn't know about the column aliases, you can remove the aliases in the ON without a problem, i.e.
    SELECT v1.col1
       FROM
      (SELECT col1 FROM
        (SELECT 'A' col1 FROM dual
      ) v1
    INNER JOIN
      (SELECT col1 AS col2 FROM
        (SELECT 'A' col1 FROM dual
      ) v2
         ON (col1=col2);works fine. Using the old join syntax also seems to work fine
    SELECT col1
       FROM
      (SELECT col1 FROM
        (SELECT 'A' col1 FROM dual
      ) v1,
      (SELECT col1 AS col2 FROM
        (SELECT 'A' col1 FROM dual
      ) v2
      WHERE (col1=col2);So it appears that something in the SQL 99 parser is broken. Have you logged a bug in Metalink?
    Justin

  • Memory Leak with Oracle ODBC Driver for Long Raw columns

    Oracle version : 8.1.7
    Platform : Win2K
    Oracle ODBC Driver version : 8.0.1.7.5.0.0
    Hi,
    I've got an Oracle database upgraded from
    V8.0.5 to V8.1.7 which has a table having one long raw +
    normal columns. I was able to observe distinct memory
    leaks (approx 80K) when using ODBC interface calls (thro C++ code) that referenced a combination of normal & long raw columns in a select statement. However, this leak was not observed when only normal columns were present in the
    select statement. Is there any known restriction for using
    long raw columns with other columns? Or do long raw columns have a known memory leak problem thro ODBC?
    Thanks!
    Regards
    Sanchayan

    Did you ever get an answer on this issue?
    Thanks in advance

  • Oracle 11g certification for People tools 8.46 & 8.45??

    Are the above people tools Oracle 11g certified??

    I'm trying to determine if PS tools 8.44 (HRMS 8.8) is certified on Oracle DB 11gr2. By the looks of things, it appears the latest Oracle DB release certified on tools 8.44 is DB v 9.2.x.x. Am I reading this correct?
    Apologies for simplistic questions - I'm new to the PeopleSoft world
    Thanks for the help.

  • How to create Oracle 11g DSN for database on another server

    Hi,
    How do i create an Oracle Database 11g DSN for a database that is lying on another server? I tried using the Microsoft ODBC Administrator tool but it gives me options only for the databases lying on my own machine.

    Hi,
    Check this thread may it help you https://forums.oracle.com/thread/2479208

Maybe you are looking for

  • Flex 2 - Multiple Questions (1) Touchpad and (2) USB 3.0

    Hi lenovo friends, I recently bought a Flex 2 14 (not sure if D) (59423165). Firstly, can anyone link me to the correct drivers page for W8.1x64? Thank you! Here are my questions: 1) Is there middle-click functionality for the touchpad? I cannot seem

  • Enterprise Portal - Create Task throws exception

    Hi All,   I'm working on MDM 7.1, NW 7.01. Click on the 'Create Task' from Universal worklist page throws the following exception. Any thoughts what might be causing this.   500   Internal Server Error           SAP NetWeaver Application Server 7.00/

  • Adobe Reader installation error: "object doesn't support property or method 'text'"

    I'm trying to install Adobe Reader and I have the following error after launching the installer: "object doesn't support property or method 'text'" My OS is Win7 Ultimate 64b (using AVG antivirus), but I encounter the same error on other systems too:

  • Pinch to zoom not working on safari

    I have a 2012 macbook pro running mountain lion. when im on safari, my pinch to zoom gesture doesnt work. i can double tap and it will zoom in and out, but i really need the pinch to zoom gesture back. ive tried pinch to zoom on other apps like iphot

  • Cisco prime Infrastructure guest user schedule

    Hi All, What is the procedure to follow to create a Lobby Ambassador account in Cisco Prime, who can create a guest user and schedule the new password generation everyday for that guest account. We want the Guest Account to be created once with one u