Oracle sga advisor results
hello all,
When querying this view in regards to the v$sga_shared_pool advisory , i get results but not sure how to interpret the ESTD_LC_TIME_SAVED column ?
It's a time in seconds benchmark to what exactly ?
EST_SIZE FACTOR ESTD_LC_SIZE ESTD_LC_TIME_SAVED HITS
160 0.5 162 215103 43148850
192 0.6 193 215285 43173155
224 0.7 224 215391 43188435
256 0.8 255 215470 43200068
Thanks
ESTD_LC_TIME_SAVED - (From Oracle documentation) Estimated elapsed parse time saved (in seconds), owing to library cache memory objects being found in a shared pool of the specified size. This is the time that would have been spent in reloading the required objects in the shared pool had they been aged out due to insufficient amount of available free memory.
ESTD_LC_TIME_SAVED_FACTOR - indicates how the ESTD_LC_TIME_SAVED relates to the current shared pool.
reference: http://www.alydan.com/weeklytip060.htm
--hope this helps!
Similar Messages
-
Hi,
on 10g R2, can we find what is advised on Dbconsole (DBCONTROLE) on SGA (Advisor Central/Memory Advisor/ SGA tab Advice) in a table by a query ?
Actually in Performance Tuning Guide I found the following for cache size :
COLUMN size_for_estimate FORMAT 999,999,999,999 heading 'Cache Size (MB)'
COLUMN buffers_for_estimate FORMAT 999,999,999 heading 'Buffers'
COLUMN estd_physical_read_factor FORMAT 999.90 heading 'Estd Phys|Read Factor'
COLUMN estd_physical_reads FORMAT 999,999,999 heading 'Estd Phys| Reads'
SELECT size_for_estimate, buffers_for_estimate, estd_physical_read_factor, estd_physical_reads
FROM V$DB_CACHE_ADVICE
WHERE name = 'DEFAULT'
AND block_size = (SELECT value FROM V$PARAMETER WHERE name = 'db_block_size')
AND advice_status = 'ON';Thank you.Hello,
can we find what is advised on Dbconsole (DBCONTROLE) on SGA (Advisor Central/Memory Advisor/ SGA tab Advice) in a table by a query ?You may execute the Query below so as to get the list of all the Views related to the various Advisors:
SQL> select table_name from dict where table_name like '%ADVICE%';
TABLE_NAME
DBA_HIST_DB_CACHE_ADVICE
DBA_HIST_JAVA_POOL_ADVICE
DBA_HIST_MEMORY_TARGET_ADVICE
DBA_HIST_MTTR_TARGET_ADVICE
DBA_HIST_PGA_TARGET_ADVICE
DBA_HIST_SGA_TARGET_ADVICE
DBA_HIST_SHARED_POOL_ADVICE
DBA_HIST_STREAMS_POOL_ADVICE
V$MEMORY_TARGET_ADVICE
V$MTTR_TARGET_ADVICE
V$PGA_TARGET_ADVICE
TABLE_NAME
V$PGA_TARGET_ADVICE_HISTOGRAM
V$PX_BUFFER_ADVICE
V$SGA_TARGET_ADVICE
V$SHARED_POOL_ADVICE
V$STREAMS_POOL_ADVICE
GV$JAVA_POOL_ADVICE
GV$SGA_TARGET_ADVICE
GV$SHARED_POOL_ADVICE
V$JAVA_POOL_ADVICE
GV$DB_CACHE_ADVICE
GV$MEMORY_TARGET_ADVICE
TABLE_NAME
GV$MTTR_TARGET_ADVICE
GV$PGA_TARGET_ADVICE_HISTOGRAM
GV$PGA_TARGET_ADVICE
GV$PX_BUFFER_ADVICE
V$DB_CACHE_ADVICE
GV$STREAMS_POOL_ADVICE
28 ligne(s) sÚlectionnÚe(s).Then, you have just to check on the REFERENCE book for the complete description of each of these Views:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_part.htm#i403961
Hope this help.
Best regards,
Jean-Valentin -
We bought a server for oracle data warehousing which has got 200GB RAM. Can I set set my SGA_TARGET to 100GB. Is it true the more SGA size result in better performance.
Thaks
jeevanHi Jeevan,
I would not set sga_target, it can cause RAM thrashing . . .
In an article titled Automatic Shared Memory Management we see:
http://www.oracle.com/technology/pub/articles/10gdba/week17_10gdba.html
Some pools in SGA are not subject to dynamic resizing, and must be specified explicitly. Notable among them are the buffer pools for nonstandard block sizes and the non-default ones for KEEP or RECYCLE. If your database has a block size of 8K, and you want to configure 2K, 4K, 16K, and 32K block-size pools, you must set them manually.
Their sizes will remain constant; they will not shrink or expand based on load. You should consider this factor when using multiple-size buffer, KEEP, and RECYCLE pools.
In addition, log buffer is not subject to the memory adjustment—the value set in the parameter log_buffer is constant, regardless of the workload. ( In 10g, a new type of pool can also be defined in the SGA: Streams pool, set with parameter streams_pool_size. This pool is also not subject to automatic memory tuning.)
Is it true the more SGA size result in better performance. Yes, but it may not be much, or it could be alot! It depends.
On a dedicated server, your goal is to allocate all the RAM, without causing swapping. I have my notes here:
http://www.dba-oracle.com/art_dbazine_ram.htm
Hope this helps . . .
Donald K. Burleson
Oracle Press author
Author of "Oracle Tuning: The Definitive Reference"
http://www.rampant-books.com/book_2005_1_awr_proactive_tuning.htm -
Converting Oracle XML Query Result in Java String by using XSU
Hi,
I have a problem by converting Oracle XML Query Result in Java
String by using XSU. I use XSU for Java.
For example:
String datum=new OracleXMLQuery(conn,"Select max(ps.datum) from
preise ps where match='"+args[0]+"'");
String datum1=datum;
I become the following error:
Prototyp.java:47: Incompatible type for declaration. Can't
convert oracle.xml.sql.query.OracleXMLQuery to java.lang.String.
Can somebody tell me a method() for converting to solve my
problem??????
ThanksHmmm.. Pretty basic just look at the example:
OracleXMLQuery qry = new OracleXMLQuery(conn,"Select max(ps.datum) from preise ps where match='"+args[0]+"'");
String xmlString = qry.getXMLString();
Hi,
I have a problem by converting Oracle XML Query Result in Java
String by using XSU. I use XSU for Java.
For example:
String datum=new OracleXMLQuery(conn,"Select max(ps.datum) from
preise ps where match='"+args[0]+"'");
String datum1=datum;
I become the following error:
Prototyp.java:47: Incompatible type for declaration. Can't
convert oracle.xml.sql.query.OracleXMLQuery to java.lang.String.
Can somebody tell me a method() for converting to solve my
problem??????
Thanks -
When oracle invalidates result_cache results without any changes in objects
Hi all!
On our production servers we have simple function with result_cache, like this:
create or replace function f_rc(p_id number) return number result_cache
is
ret number;
begin
select t.val into ret from rc_table t where t.id=p_id;
return ret;
exception
when no_data_found then
return null;
end;
/And its results frequently invalidates without any changes in table or
function. I found only 2 cases when oracle invalidates result_cache
results without any changes in table:
1. "select for update" from this table with commit;
2. deletion of unrelated rows from parent table if there is unindexed
foreign key with "on delete cascade".
I test it on 11.2.0.1, 11.2.0.3, on solaris x64 and windows. Test
cases: http://www.xt-r.com/2012/07/when-oracle-invalidates-resultcache.html
But none of them can be the cause of our situation: we have no
unindexed fk, and even if i lock all rows with "select for update", it
still does not stop invalidating.
In what other cases this happens? Am I right that the oracle does not
track any changes, but the captures of the locks and "commits"?
Best regards,
Sayan Malakshinov
http://xt-r.comHmm.. Do you about our situation or about test cases with "select for update" and "fk" too?
I'm not sure that it is a bug, maybe it's an architectural approach to simplify and reduce the cpu load?
Best regards,
Sayan Malakshinov
http://xt-r.com -
what step are required to improve my query performance.i am using oracle 10gR1 and use oracle tuning advisor from toad.
SQL ID : 3uv22jhcfbp9s
SQL Text: /* Formatted on 2008/09/01 14:33 (Formatter Plus v4.8.8) */
SELECT MAX (document_date)
FROM item_notesm m, item_notesd d
WHERE m.document_no = d.document_no
AND m.document_type = 'ARIN'
AND m.document_type = d.document_type
AND d.po = :b1
AND d.item_code = :b2
FINDINGS SECTION (1 finding)
1- SQL Profile Finding (see explain plans section below)
A potentially better execution plan was found for this statement.
Recommendation (estimated benefit: 99.54%)
Consider accepting the recommended SQL profile.
execute :profile_name := dbms_sqltune.accept_sql_profile(task_name =>
'DBA10239692.6065484028')
EXPLAIN PLANS SECTION
1- Original With Adjusted Cost
Plan hash value: 3878589888
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 56 | 40791 (1)| 00:08:10 |
| 1 | SORT AGGREGATE | | 1 | 56 | | |
| 2 | NESTED LOOPS | | 25094 | 1372K| 40791 (1)| 00:08:10 |
| 3 | TABLE ACCESS BY INDEX ROWID| ITEM_NOTESD | 40730 | 1431K| 4 (0)| 00:00:01 |
| 4 | INDEX RANGE SCAN | INDX_IND_POITEM | 1 | | 3 (0)| 00:00:01 |
| 5 | TABLE ACCESS BY INDEX ROWID| ITEM_NOTESM | 1 | 20 | 1 (0)| 00:00:01 |
| 6 | INDEX UNIQUE SCAN | SYS_C006964 | 1 | | 0 (0)| 00:00:01 |
2- Using SQL Profile
Plan hash value: 3593538687
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 56 | 185 (2)| 00:00:03 |
| 1 | SORT AGGREGATE | | 1 | 56 | | |
| 2 | HASH JOIN | | 25094 | 1372K| 185 (2)| 00:00:03 |
| 3 | TABLE ACCESS FULL | ITEM_NOTESM | 8708 | 170K| 180 (1)| 00:00:03 |
| 4 | TABLE ACCESS BY INDEX ROWID| ITEM_NOTESD | 40730 | 1431K| 4 (0)| 00:00:01 |
| 5 | INDEX RANGE SCAN | INDX_IND_POITEM | 1 | | 3 (0)| 00:00:01 |
-------------------------------------------------------------------------------Hi,
You have to force the hash join between item_notesm and item_notesd.
You can do this using a hint /*+USE_HASH (Table_name/Alias) */ in your query
Hope this help
Rgds -
Oracle SGA benefits of using indexes
Goo day people,
We have been having performance issues and then the SGA was not sized coprrectely.
The size of the SGA was 720mb so we then pushed it to 4 gig which I blv is enough.
We then did a run of the tuning advisory on the top sql queries that were top one,
the advisor then pointed on that we need to use indexes on those queries .
We then advised the developers that they need to use indexes as it will improve
performance .. This morning the ADDM pointed out that we need to up the sga
to 5 Gig and I dont see this a solution to the problem.
I need to find a note on what benefits does using indexes have on the SGA and the overall perfomance
so that I can show the business that increasing the SGA wont solve the problem.
See screen shot below
erformance Finding Details:
Database Time (minutes) 33.8
Period Start Time 10-Aug-2010 10:00:11 o'clock SAST
Period Duration (minutes) 60.2
Task Owner SYS
Task Name ADDM:1511773678_1_28498
Average Active Sessions 0.6
Finding The SGA was inadequately sized, causing additional I/O or hard parses.
Impact (minutes) 14.4
Impact (%) [64] [86] 42.8
Recommendations
Show All Details | Hide All Details
Details Category Benefit (%) [Sorted in descending order]
[Select to hide information] Hide
DB Configuration [64] [86] 42.8
Action Increase the size of the SGA by setting the parameter "sga_target" to 5120 M.
Thanks
Sibusiso
Edited by: 787473 on 10-Aug-2010 02:35We have been having performance issues and then the SGA was not sized coprrectely.
The size of the SGA was 720mb so we then pushed it to 4 gig which I blv is enough.
We then did a run of the tuning advisory on the top sql queries that were top one,
the advisor then pointed on that we need to use indexes on those queries .
We then advised the developers that they need to use indexes as it will improve
performance .. Yes. As those queries must be missing indexes that would prove to be beneficial. So need to take it query by query and created the required indexes.
This morning the ADDM pointed out that we need to up the sga
to 5 Gig and I dont see this a solution to the problem.
I need to find a note on what benefits does using indexes have on the SGA and the overall perfomance
so that I can show the business that increasing the SGA wont solve the problem.
See screen shot below
erformance Finding Details:
Database Time (minutes) 33.8
Period Start Time 10-Aug-2010 10:00:11 o'clock SAST
Period Duration (minutes) 60.2
Task Owner SYS
Task Name ADDM:1511773678_1_28498
Average Active Sessions 0.6
Finding The SGA was inadequately sized, causing additional I/O or hard parses.
Impact (minutes) 14.4
Impact (%) [64] [86] 42.8
Recommendations
Show All Details | Hide All Details
Details Category Benefit (%) [Sorted in descending order]
[Select to hide information] Hide
DB Configuration [64] [86] 42.8
Action Increase the size of the SGA by setting the parameter "sga_target" to 5120 M.One of the biggest impact of indexes (if they fit in the scenario) is in reducing the IO (by avoiding full table scans). Reduced IO means faster system. Absence of indexes would mean that you read lots of data into the memory [buffer cache] and data would flush out quickly too (to make space for the new data), resulting in more IO. So having indexes in place means you only read as much amount of data as required and frequently accessed data stays in the memory.
Kinda incomplete answer...Lets wait for other experts' comments :)
Edited by: amardeep.sidhu on Aug 10, 2010 3:23 PM -
How to generate XML file from oracle database query result
Hi dudes,
as stated on the subject, can anyone suggests me how can i achieve the task stated above??
Here is a brief description of my problem:
I need to create a XML file once i query from the oracle database, and the query result returned from the database will be stored in XML file.
I'd searched around the JAXB, DOM, SAXP and the like basic concepts, but i still don't know how to start??
Any suggestions ???Read this:
http://www.cafeconleche.org/books/xmljava/chapters/ch08s05.html
You might have to read more of the book to understand that chapter. -
Oracle db wrong result on subquery error
Hi,
I work with Oracle databases up to 10g and I found an error and couldn’t find any documentation about it yet. Perhaps you can help me.
The error is quite easy to replicate. If you run the following query adapting the parameters you should get a result, the problem is that you should only get an error!
select * from user_tab_columns
where table_name in
select table_name from <TABLE_B>
Parameter: TABLE_B
Description: This should be an existing table of the schema which doesn’t have any table_name field.
As I said, the sub-query is wrong, so if you try to run it separately it fails. The problem is when you run both together because, if the link field has the same name, it returns all values of the table in the outer query.
Do you know if this is solved in 11g or in a specific patch of 10g?
Thanks in advance for your interest.
Best regards,
Leo ([email protected])user6396183 wrote:
I don't think a query whose inner query evaluates to ORA-00904 'Invalid identifier' should return anything, it's not logic. To me this is a bug.
If you execute the following query it will retrieve all records from the outer table when it should only return an exception as the inner query can not be evaluated at all.
select * from user_tab_columns
where table_name in (select table_name from user_role_privs);You still did not get it. Yes inner query by itself results in ORA-00904 'Invalid identifier' only if you execute it independently:
select table_name from user_role_privsOracle parser tries to figure out what table_name is. It is not a literal, therefore it concludes it is an identifier. Now the only table in FROM list is user_role_privs and it has no such column. Then parser checks if such function exists and it does not, etc... At the end ORA-00904 'Invalid identifier' is raised. However, look what happens if you issue it as a sub_query:
select * from user_tab_columns
where table_name in (select table_name from user_role_privs);Again, Oracle parser tries to figure out what table_name is. It is not a literal, therefore it concludes it is an identifier. Now the only table in FROM list is user_role_privs and it has no such column. Now, parser realizes it is a subquery and table_name can be a correlated name. So it checks main query FROM clause list and guess what - table user_tab_columns has a column table_name. So what subquery means is select a row from table user_tab_columns, which will give as some column table_name value and then use that value in subquery, get results and compare it with same table_name value. Now, I hope, you can see that no error should be raised. And, if user_role_privs is not empty, query will return every row in user_tab_columns. If user_role_privs is empty, query will not return any rows. But again, error is neither raised nor should be raised.
SY. -
Hi,
I have an oracle rac 10g with 4 nodes on linux and each node has 12G RAM memory. my current SGA sizing from pfile looks like this, I need suggestions to change values to have better performance...
racdb2.__db_cache_size=2080374784
racdb3.__db_cache_size=2214592512
racdb4.__db_cache_size=5620367360
racdb1.__db_cache_size=2818572288
racdb2.__java_pool_size=16777216
racdb3.__java_pool_size=16777216
racdb1.__java_pool_size=67108864
racdb4.__java_pool_size=67108864
racdb1.__large_pool_size=16777216
racdb2.__large_pool_size=16777216
racdb3.__large_pool_size=16777216
racdb4.__large_pool_size=16777216
racdb2.__shared_pool_size=5737807872
racdb3.__shared_pool_size=5603590144
racdb4.__shared_pool_size=2147483648
racdb1.__shared_pool_size=4932501504
racdb1.__streams_pool_size=16777216
racdb2.__streams_pool_size=0
racdb3.__streams_pool_size=0
racdb4.__streams_pool_size=0SQL> select * from v$sga_target_advice;
SGA_SIZE SGA_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR ESTD_PHYSICAL_READS
268 1 471 1 37727
134 .5 10732 22.7856 54293
201 .75 498 1.0573 43363
536 2 435 .9236 29420
402 1.5 435 .9236 29420
469 1.75 435 .9236 29420
335 1.25 442 .9384 31046
7 rows selected. -
Oracle SGA Real Time Consumption Information(9i,10g and 11g)
Hello,
I need to prepare a comparative analysis report of SGA for an Oracle Production Instance
The analysis would show the pre-allocated memory to SGA components v/s real time consumption of memory by these SGA components. I need to do this for each of following components.
SGA itself
Fixed Size
Variable Size
Database Buffers
Redo Buffers
The pre-allocated memory to above SGA components can be obtained by querying v$sga. But from where do I get its real time(current) memory conusmption in Oracle Production environment.
In addition to above, i need the same information (pre-allocated and real time consumption) for following.
Keep buffer cache
Recycle buffer cache
Specific block size caches
Shared pool
Large pool
Java pool
streams pool
Which tables do I need to consider in order to derive 1)pre-allocated memory and 2)real time consumption for above mentioned SGA components
Please advice.
Thank you for your time in reading this post.
Thanks,
RuchirHi,
Have a look at v$sgastat. Also, use statspack in 9i and AWR reports on 10g. Also, the size of the caches won't grow unless they are used. The parameters you have specified within the parameter file, like sga_target (10g onwards) and possibly the other pools if you have specified them, will show you what the caches can grow to.
For example, you could just log onto the DB and do show parameter sga_ or shared_pool and you will seee values for these. Also, it depends whether you are running in automatic memory management mode - where the sga_target parameter is set - or manual. 9i will be manual, but 10g could be auto. In manual case, 9i, check out the parameters individually.
Also, read the docs about the parameters shown and you will see what it says abotu them. There will be lots in the docs about performance tuning and monitoring of the instance. You might even learn some other interesting facts while reading through the docs...
Hope this helps,
Rob
http://www.ora00600.com -
Oracle SGA MEMEORY SETTINGS , SGA_TRAGET , SGA_MAX_SIZE
Hello Techies,
I have a production environment where one of the Databases RAM is set to 6G where as the RAM installed on the server is 8GB. We have the Grid agent installed on it and according to the Oracle Grid there is impact on the performance and RAM has to be extened to 7.2 GB.
Now my question is, whether we can extend this as we only have 8GB installed on the server. Will the left out 800 M is enough for the server?
Or Should we need to extend the RAM on the server and then extend the SGA_TARGET AND SGA_MAX_SIZE? if so can you suggest the values.
Could you shed some light on the cosiderations while we want to extend the SGA.
Server - Windows
DB - Oracle 10g
Thank you.
Regards,
RanG.Hi sb92075,
Here is the query , consuming significant DB time from Oracle Grid ...
select e7.cmpcode as comp_no , e7.code as emcode , upper(a.add1) as user_name , upper(a.add2) as domain , upper(a.add3) as reviewer , upper(a.add4) as approver1 , upper(a.add5) as approver2 , a.emailaddr as email , l.cfvalue as costcentre , case e7.repcode3 when 'FRANCHISE' then '7001F' when 'STORE' then '7001S' else e7.cmpcode end as template , b.acnum as account , e7.name as account_holder
from xxxx.oas_element e7 inner join coda.oas_elmaddrlist a on (e7.cmpcode = a.cmpcode and e7.code = a.elmcode and e7.elmlevel=a.elmlevel and a.catagory='EXPPORTAL') inner join xxxx.oas_rllist l on (e7.cmpcode = l.cmpcode and e7.code = l.elmcode and e7.elmlevel=l.elmlevel) left join xxxx.oas_elmbanklist b on (e7.cmpcode = b.cmpcode and e7.code = b.elmcode and b.elmlevel=2 and b.defbank=1)
where e7.elmlevel=7 and e7.code like 'EM%' and l.lstseqno=1 and l.cffunction=0 and e7.cmpcode = '7001' and a.add1 is not null and a.add2 is not null and ((a.add3 is not null and a.add5 is not null and a.add2 = 'xxxx') or a.add2 != 'xxxx') and a.add4 is not null and b.acnum is not null and b.acname is not null
=========================
The other example of one of the 20 queries which run on this DB, i am sry for the lenght of the query ,
=============================
SELECT
case 8 when 4 then 'T1' when 8 then 'T2' when 12 then 'T3' else 'Unknown' end,
OAS_REPPACK.L1NAME,
OAS_REPPACK.L1HDRTXT,
OAS_REPPACK.L2NAME,
OAS_REPPACK.L2HDRTXT,
OAS_REPPACK.L3NAME,
OAS_REPPACK.L3HDRTXT,
OAS_REPPACK.L4NAME,
OAS_REPPACK.L4HDRTXT,
OAS_BALANCE.cmpcode,
OAS_REPPACK.L5NAME,
OAS_REPPACK.L5HDRTXT,
OAS_REPPACK.LEAFNAME,
OAS_REPPACK.LEAFHDRTXT,
OAS_REPPACK.L2ORDER,
OAS_REPPACK.L3ORDER,
OAS_REPPACK.L4ORDER,
OAS_REPPACK.L5ORDER,
-- Actual YTD --
SUM(OAS_BALANCE.FULL_VALUE
*CASE WHEN OAS_BALANCE.BALCODE = 'ACTUAL' THEN 1 ELSE 0 END
*CASE WHEN IIS_CURRENCY(case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end, 'XEUR', 'Entity Currency' ) = OAS_BALANCE.CURCODE THEN 1 ELSE 0 END
*CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <= 8 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
-- Actual YTD Last Year--
SUM(OAS_BALANCE.FULL_VALUE
*CASE WHEN OAS_BALANCE.BALCODE = 'ACTUAL' THEN 1 ELSE 0 END
*CASE WHEN IIS_CURRENCY(case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end, 'XEUR', 'Entity Currency' ) = OAS_BALANCE.CURCODE THEN 1 ELSE 0 END
*CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <= 8 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013-1 THEN 1 ELSE 0 END
-- Actual Full Year Last Year--
SUM(OAS_BALANCE.FULL_VALUE
*CASE WHEN OAS_BALANCE.BALCODE = 'ACTUAL' THEN 1 ELSE 0 END
*CASE WHEN IIS_CURRENCY(case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end, 'XEUR', 'Entity Currency' ) = OAS_BALANCE.CURCODE THEN 1 ELSE 0 END
*CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <= 9998 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013-1 THEN 1 ELSE 0 END
-- Budget YTD --
SUM(OAS_BALANCE.FULL_VALUE
*CASE
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Entity Currency' THEN 1
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Group Currency' THEN IIS_BUDGETRATES.RATE
ELSE 0 END
*CASE WHEN OAS_BALANCE.BALCODE = IIS_PFBALCODE(OAS_BALANCE.BALCODE, 'Calendar Year')||'BUDG' THEN 1 ELSE 0 END
*CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <= 8 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
-- Budget Full Year --
SUM(OAS_BALANCE.FULL_VALUE
*CASE
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Entity Currency' THEN 1
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Group Currency' THEN IIS_BUDGETRATES.RATE
ELSE 0 END
*CASE WHEN OAS_BALANCE.BALCODE = IIS_PFBALCODE(OAS_BALANCE.BALCODE, 'Calendar Year')||'BUDG' THEN 1 ELSE 0 END
*CASE WHEN IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
-- Estimate 1 --
-- Actual T1--
SUM(OAS_BALANCE.FULL_VALUE
*CASE WHEN OAS_BALANCE.BALCODE = 'ACTUAL' THEN 1 ELSE 0 END
*CASE WHEN IIS_CURRENCY(case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end, 'XEUR', 'Entity Currency' ) = OAS_BALANCE.CURCODE THEN 1 ELSE 0 END
*CASE WHEN CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <=4 THEN 1 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') BETWEEN 5 AND 8 THEN 2 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') >= 9 THEN 3 END = 1 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
+
SUM(OAS_BALANCE.FULL_VALUE
*CASE WHEN OAS_BALANCE.BALCODE = IIS_PFBALCODE(OAS_BALANCE.BALCODE, 'Calendar Year')||'EST1' THEN 1 ELSE 0 END
*CASE WHEN IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 AND IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') BETWEEN 5 AND 12 THEN 1 ELSE 0 END
OAS_COMPANY.NAME,
IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year'),
-- Budget T1--
SUM(OAS_BALANCE.FULL_VALUE
*CASE
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Entity Currency' THEN 1
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Group Currency' THEN IIS_BUDGETRATES.RATE
ELSE 0 END
*CASE WHEN OAS_BALANCE.BALCODE = IIS_PFBALCODE(OAS_BALANCE.BALCODE, 'Calendar Year')||'BUDG' THEN 1 ELSE 0 END
*CASE WHEN CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <=4 THEN 1 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') BETWEEN 5 AND 8 THEN 2 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') >= 9 THEN 3 END = 1 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
-- Budget T2--
SUM(OAS_BALANCE.FULL_VALUE
*CASE
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Entity Currency' THEN 1
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Group Currency' THEN IIS_BUDGETRATES.RATE
ELSE 0 END
*CASE WHEN OAS_BALANCE.BALCODE = IIS_PFBALCODE(OAS_BALANCE.BALCODE, 'Calendar Year')||'BUDG' THEN 1 ELSE 0 END
*CASE WHEN CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <=4 THEN 1 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') BETWEEN 5 AND 8 THEN 2 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') >= 9 THEN 3 END = 2 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
-- Budget T3--
SUM(OAS_BALANCE.FULL_VALUE
*CASE
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Entity Currency' THEN 1
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Group Currency' THEN IIS_BUDGETRATES.RATE
ELSE 0 END
*CASE WHEN OAS_BALANCE.BALCODE = IIS_PFBALCODE(OAS_BALANCE.BALCODE, 'Calendar Year')||'BUDG' THEN 1 ELSE 0 END
*CASE WHEN CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <=4 THEN 1 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') BETWEEN 5 AND 8 THEN 2 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') >= 9 THEN 3 END = 3 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
-- Estimate 0 --
SUM(OAS_BALANCE.FULL_VALUE
*CASE
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Entity Currency' THEN 1
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Group Currency' THEN IIS_BUDGETRATES.RATE
ELSE 0 END
*CASE WHEN OAS_BALANCE.BALCODE = IIS_PFBALCODE(OAS_BALANCE.BALCODE, 'Calendar Year')||'EST0' THEN 1 ELSE 0 END
*CASE WHEN IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
-- Estimate 2 --
-- Actual T1--
SUM(OAS_BALANCE.FULL_VALUE
*CASE WHEN OAS_BALANCE.BALCODE = 'ACTUAL' THEN 1 ELSE 0 END
*CASE WHEN IIS_CURRENCY(case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end, 'XEUR', 'Entity Currency' ) = OAS_BALANCE.CURCODE THEN 1 ELSE 0 END
*CASE WHEN CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <=4 THEN 1 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') BETWEEN 5 AND 8 THEN 2 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') >= 9 THEN 3 END = 1 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
+
-- Actual T2--
SUM(OAS_BALANCE.FULL_VALUE
*CASE WHEN OAS_BALANCE.BALCODE = 'ACTUAL' THEN 1 ELSE 0 END
*CASE WHEN IIS_CURRENCY(case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end, 'XEUR', 'Entity Currency' ) = OAS_BALANCE.CURCODE THEN 1 ELSE 0 END
*CASE WHEN CASE WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') <=4 THEN 1 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') BETWEEN 5 AND 8 THEN 2 WHEN IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') >= 9 THEN 3 END = 2 AND IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 THEN 1 ELSE 0 END
+
SUM(OAS_BALANCE.FULL_VALUE
*CASE
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Entity Currency' THEN 1
WHEN OAS_BALANCE.CURCODE = case OAS_BALANCE.cmpcode when '7004' then 'SEK' when '7041' then 'SEK' when '7015' then 'USD' when '7042' then 'USD' else 'EUR' end AND 'Entity Currency' = 'Group Currency' THEN IIS_BUDGETRATES.RATE
ELSE 0 END
*CASE WHEN OAS_BALANCE.BALCODE = IIS_PFBALCODE(OAS_BALANCE.BALCODE, 'Calendar Year')||'EST2' THEN 1 ELSE 0 END
*CASE WHEN IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year') = 2013 AND IIS_PERIOD(OAS_BALANCE.PERIOD, 'Calendar Year') BETWEEN 9 AND 12 THEN 1 ELSE 0 END
FROM
OAS_BALANCE,
OAS_GRPLIST OAS_GRPLIST1RP,
OAS_ELEMENT OAS_EL1,
OAS_HIMLIST OAS_REPPACK,
OAS_COMPANY,
IIS_BUDGETRATES,
IIS_BOSEC_CC IIS_BOSECURITY_BAL,
SELECT DISTINCT USRCODE, USRNAME, COMPANY FROM IIS_BOSEC_CC
) IIS_BOSECURITY_CMP
WHERE
( OAS_COMPANY.CODE=OAS_BALANCE.CMPCODE )
AND ( OAS_BALANCE.REPBASIS=0 )
AND ( OAS_EL1.ELMLEVEL=1 )
AND ( OAS_BALANCE.CMPCODE=OAS_EL1.CMPCODE and OAS_BALANCE.EL1=OAS_EL1.CODE )
AND ( OAS_EL1.CMPCODE=OAS_GRPLIST1RP.CMPCODE and OAS_EL1.CODE=OAS_GRPLIST1RP.CODE and OAS_EL1.ELMLEVEL=OAS_GRPLIST1RP.ELMLEVEL and
(OAS_GRPLIST1RP.GRPCODE LIKE '1RB%' OR
OAS_GRPLIST1RP.GRPCODE LIKE '1RP%') )
AND ( OAS_REPPACK.GRPCODE=OAS_GRPLIST1RP.GRPCODE )
AND ( OAS_REPPACK.CODE LIKE '1RP%' )
AND ( IIS_BUDGETRATES.YR(+) =OAS_BALANCE.YR AND IIS_BUDGETRATES.PERIOD(+)=OAS_BALANCE.PERIOD AND
IIS_BUDGETRATES.BALCODE(+) = OAS_BALANCE.BALCODE AND
IIS_BUDGETRATES.CURCODE(+) = OAS_BALANCE.CURCODE )
AND ( IIS_BOSECURITY_CMP.COMPANY=OAS_COMPANY.CODE )
AND ( IIS_BOSECURITY_CMP.USRCODE=UPPER('exttino') )
AND ( IIS_BOSECURITY_BAL.COMPANY=OAS_BALANCE.CMPCODE and IIS_BOSECURITY_BAL.COSTCENTRE=CASE WHEN IIS_BOSECURITY_BAL.COSTCENTRE = 'ALL' THEN IIS_BOSECURITY_BAL.COSTCENTRE WHEN OAS_BALANCE.EL4 = ' ' THEN 'ALL' ELSE OAS_BALANCE.EL4 END )
AND
( CASE WHEN 'Calendar Year' = 'Calendar Year'
THEN OAS_BALANCE.YR
WHEN 'Calendar Year' = 'Business Year'
THEN CASE WHEN OAS_BALANCE.PERIOD <9 THEN OAS_BALANCE.YR ELSE OAS_BALANCE.YR+1 END
END +1 = 2013 )
OR
( CASE WHEN 'Calendar Year' = 'Calendar Year'
THEN OAS_BALANCE.YR
WHEN 'Calendar Year' = 'Business Year'
THEN CASE WHEN OAS_BALANCE.PERIOD <9 THEN OAS_BALANCE.YR ELSE OAS_BALANCE.YR+1 END
END = 2013 )
AND
( IIS_BOSECURITY_BAL.USRCODE = UPPER('exttino') )
AND
( IIS_BOSECURITY_CMP.USRCODE = UPPER('exttino') )
GROUP BY
case 8 when 4 then 'T1' when 8 then 'T2' when 12 then 'T3' else 'Unknown' end,
OAS_REPPACK.L1NAME,
OAS_REPPACK.L1HDRTXT,
OAS_REPPACK.L2NAME,
OAS_REPPACK.L2HDRTXT,
OAS_REPPACK.L3NAME,
OAS_REPPACK.L3HDRTXT,
OAS_REPPACK.L4NAME,
OAS_REPPACK.L4HDRTXT,
OAS_BALANCE.cmpcode,
OAS_REPPACK.L5NAME,
OAS_REPPACK.L5HDRTXT,
OAS_REPPACK.LEAFNAME,
OAS_REPPACK.LEAFHDRTXT,
OAS_REPPACK.L2ORDER,
OAS_REPPACK.L3ORDER,
OAS_REPPACK.L4ORDER,
OAS_REPPACK.L5ORDER,
OAS_COMPANY.NAME,
IIS_YEAR(OAS_BALANCE.YR, OAS_BALANCE.PERIOD, 'Calendar Year')
=============================
Regards,
RanG -
Oracle SGA components manual allocation
All,
Phyical memory : 420G My database version : 11.2.0.3 running on linux machine.
Memory_target = 200G . I would like to allocate this value to following SGA components. I don't want to automatic memory management enabled. Can you please guide me how to split 200G for following components. Is there any percentage for each components ?
db_cache_size
db_recycle_cache_size
db_keep_cache_size
large_pool_size
java_pool_size
shared_pool_size
pga_aggregate_target
streams_pool_size
log_buffer
ThanksThere is no 'default' settings for the components. Oracle tell you, when you create a database with DBCA, that the values provided by that tool are for a sample database and you should tune them to how you see fit.
This is what I would do (assuming this is a test environment, of course):
- If you're using HugePages, disable it.
- Run with AMM but give some key components a 'minimum' value (such as SGA, PGA, shared_pool, etc) so it's not too crazy. Setting everything at 0 can have performance issues with some databses, strangely.
- Run an entire workload cycle (day, week, etc) - enough batch processing to mimic a realistic workload on Production
- Check out the dynamic views/AWR reports to see what the database advises with the various components.
- If you want to use HugePages, then set the SGA and PGA to whatever you've determined from the AWR reports. You can choose whether to specify minimum values for the SGA components.
- If you're not using HugePages, you really should use AMM. What I do is give the SGA and PGA minimum values and allow the database to decide which one gets the 'extra' memory that's left over. That way, the SGA doesn't drop to an impossibly small size and cause everything to crap out.
Mark -
Solaris hangs when Oracle SGA is too large
I am an Oracle DBA with preconfigured Solaris servers. Our Unix admin is outsourced so we don't have a lot of good support here. When I set the instance SGA too large the server hangs and requires a hard reboot It seems that the error is due to insufficient memory or swap. Is this normal behaviour for Solaris 10? Shouldn't the process abend before the server does?
I've managed to duplicate this behavour on two seperate boxes. The first server is quite small only 1G physical memory and the SGA target was set too high. Additionally Oracle was competing with other resources on this box. Still it was surprising to me that the server actually hung. I would have expected to get something like "shared memory realm does not exists" if there was not enough memory.
The second box has 8G physical memory and 4G swap. I set up the oracle /etc/project parameters for this one, here are the kernel settings:
shminfo_shmmni = 256
seminfo_semmni = 128
shminfo_shmmax = 4G
seminfo_semmsl = 256
In this case Solaris hung when I started the database with a 4G MAX_SGA_SIZE, I don't think SGA_TARGET was set. I think the server ran out of swap but I'm still confused because it seems like physical memory should have been available. Also I don't understand why the Oracle instance would have even been using swap because Oracle locks physical memory using ISM or DISM.
In both case the OS hung and could only be revived with a hard reboot. -
Apex 4.0 Application Utilities Advisor Results
The application Utilities Advisor is reporting the following error:
Attribute Ldap Username Edit Function (A function that can refine the username captured in the login form into a format suitable for the LDAP call.)
Check Is Valid SQL or PL/SQL Code
Message
Compilation error - ORA-06550: line 5, column 8:
PLS-00382: expression is of wrong type
ORA-06550: line 5, column 1:
PL/SQL: Statement ignored
Value return baninst1.htmldb_ldap_pkg.get_dn
The function returns a varchar2 and compiles with no problems. Authentication succeeds and users are allowed into application.
What code is the Advisor checking, so that we can fix this error?
Thanks
WayneThe header is with fixed width probably, i just edited the page template, specifying the height according to my logo:
<div id="header" style="height: 115px;">
<div id="logo"><a href="#HOME_LINK#">#LOGO# ....
Maybe you are looking for
-
IPad2 iOS 6.1 cannot send email - password not saved
I recently upgraded to IOS 6.1 and it must have been around that time that I started receiving errors when trying to send emails. I can recieve fine, but cannot send. The error I get is "A copy has been placed in your Outbox. No password provided.
-
EXTREME Dynamic List of Field Symbols
Hi All, This requirement have created lots of issues fo me and oculd not reach it, hence i am here : Internal table 1 with 'a' columns Internal Table 2 with 'b' columns a1 a2 a3
-
Urgent: Problem in validation created in T code OB28
Hi, Because of some requirement . i did created a validation in OB28 for a specific company code.After saving that validation ,code was automatically generated in include GBTI6FID code:FORM VAL_AJAY. NEW_SIM_TRACE_AJAY
-
Every time I sign in, Skype crashes. I've uninstalled and reinstalled countless times, but then not only does it stop responding, Windows can't 'find a solution' and closes the program. Any suggestions? Solved! Go to Solution.
-
Hi all, the great dream for any java programmer is a kind of runtime support for mapping relations to objects. Now is possible! The Oracle iWorkplace applications comes with java sources that demonstrate how is possible, using JDBC database metadata