Feed aggregator

Oracle APEX 5.0 Available for Download!

Patrick Wolf - Wed, 2015-04-15 12:43
After a longer development cycle than usual, Oracle Application Express 5.0 is finally available for download! I think it was worth the wait. It comes with a ton of features, here are just a few marquee features. Page Designer Universal … Continue reading
Categories: Development

April 2015 Critical Patch Update Released

Oracle Security Team - Tue, 2015-04-14 15:17

Hello, this is Eric Maurice.

Oracle today released the April2015 Critical Patch Update. The predictablenature of the Critical Patch Update program is intended to providecustomers the ability to plan for the application of security fixes across allOracle products. Critical Patch Updatesare released quarterly in the months of January, April, July, and October. Unfortunately, Oracle continues toperiodically receive reports of active exploitation of vulnerabilities thathave already been fixed by Oracle in previous Critical Patch Updatereleases. In some instances, maliciousattacks have been successful because customers failed to apply Critical PatchUpdates. The “Critical” in thedesignation of the CriticalPatch Update program is intended to highlight the importance of the fixesdistributed through the program. Oraclehighly recommends that customers apply these Critical Patch Updates as soon aspossible. Note that Critical PatchUpdates are cumulative for most Oracle products. As a result, the application of the mostrecent Critical Patch Update brings customers to the most recent securityrelease, and addresses all previously-addressed security flaws for theseproducts. The Critical Patch Updaterelease schedule for the next 12 calendar months is published on Oracle’sCritical Patch Updates, Security Alerts and Third Party Bulletin page onOracle.com.

The April2015 Critical Patch Update provides 98 new fixes for security issues acrossa wide range of product families including: Oracle Database, Oracle FusionMiddleware, Oracle Hyperion, Oracle Enterprise Manager, Oracle E-BusinessSuite, Oracle Supply Chain Suite, Oracle PeopleSoft Enterprise, OracleJDEdwards EnterpriseOne, Oracle Siebel CRM, Oracle Industry Applications, OracleJava SE, Oracle Sun Systems Products Suite, Oracle MySQL, and Oracle SupportTools.

Out of these 98 new fixes, 4 are for the OracleDatabase. None of the databasevulnerabilities are remotely exploitable without authentication. The most severe of the databasevulnerabilities (CVE-2015-0457) has received a CVSS Base Score 9.0 only forWindows for Database versions prior to 12c. This Base Score is 6.5 for Database12c on Windows and for all versions of Database on Linux, Unix and other platforms. This vulnerability is related to thepresence of the Java Virtual Machine in the database.

17 of the vulnerabilities fixed in thisCritical Patch Update are for Oracle Fusion Middleware. 12 of these Fusion Middleware vulnerabilitiesare remotely exploitable without authentication, and the highest reported CVSSSBase Score is 10.0. This CVSS10.0 BaseScore is for CVE-2015-0235 (a.k.a. GHOST which affects the GNU libc library)affecting the Oracle Exalogic Infrastructure.

ThisCritical Patch Update also delivers 14 new security fixes for Oracle JavaSE. 11 of these Java SE fixes are forclient-only (i.e., these vulnerabilities can be exploited only throughsandboxed Java Web Start applications and sandboxed Java applets). Two apply to JSSE client and Serverdeployments and 1 to Java client and Server deployments. The Highest CVSS Base Score reported forthese vulnerabilities is 10.0 and this score applies to 3 of the Javavulnerabilities (CVE-2015-0469, CVE-2015-0459, and CVE-2015-0491).

For Oracle Applications, thisCritical Patch Update provides 4 new fixes for Oracle E-Business Suite , 7 for Oracle SupplyChain Suite, 6 for Oracle PeopleSoft Enterprise, 1 for Oracle JDEdwardsEnterpriseOne, 1 for Oracle Siebel CRM, 2 for the Oracle Commerce Platform, and2 for Oracle Retail Industry Suite, and 1 for Oracle Health SciencesApplications.

Finally, thisCritical Patch Update provides 26 new fixes for Oracle MySQL. 4 of the MySQL vulnerabilities are remotelyexploitable without authentication and the maximum CVSS Base Score for theMySQL vulnerabilities is 10.0.

As stated at the beginning of this blog, Oracle recommendsthat customers consistently apply Critical Patch Update as soon aspossible. The security fixes providedthrough the Critical Patch Update program are thoroughly tested to ensure thatthey do not introduce regressions across the Oracle stack. Extensive documentation is available on theMy Oracle Support Site and customers are encouraged to contact Oracle Supportif they have questions about how to best deploy the fixes provided through theCritical Patch Update program.

For More Information:

The April 2015 Critical Patch Update advisory is located at http://www.oracle.com/technetwork/topics/security/cpuapr2015-2365600.html

The Critical Patch Updates, Security Alerts and Third PartyBulletin page is located at http://www.oracle.com/technetwork/topics/security/alerts-086861.html

The Oracle Software Security Assurance web site is locatedat http://www.oracle.com/us/support/assurance/overview/index.html. Oracle’s vulnerability handling policies andpractices are described at http://www.oracle.com/us/support/assurance/vulnerability-remediation/introduction/index.html

April 2015 Critical Patch Update Released

Oracle Security Team - Tue, 2015-04-14 15:17

Hello, this is Eric Maurice.

Oracle today released the April 2015 Critical Patch Update. The predictable nature of the Critical Patch Update program is intended to provide customers the ability to plan for the application of security fixes across all Oracle products. Critical Patch Updates are released quarterly in the months of January, April, July, and October. Unfortunately, Oracle continues to periodically receive reports of active exploitation of vulnerabilities that have already been fixed by Oracle in previous Critical Patch Update releases. In some instances, malicious attacks have been successful because customers failed to apply Critical Patch Updates. The “Critical” in the designation of the Critical Patch Update program is intended to highlight the importance of the fixes distributed through the program. Oracle highly recommends that customers apply these Critical Patch Updates as soon as possible. Note that Critical Patch Updates are cumulative for most Oracle products. As a result, the application of the most recent Critical Patch Update brings customers to the most recent security release, and addresses all previously-addressed security flaws for these products. The Critical Patch Update release schedule for the next 12 calendar months is published on Oracle’s Critical Patch Updates, Security Alerts and Third Party Bulletin page on Oracle.com.

The April 2015 Critical Patch Update provides 98 new fixes for security issues across a wide range of product families including: Oracle Database, Oracle Fusion Middleware, Oracle Hyperion, Oracle Enterprise Manager, Oracle E-Business Suite, Oracle Supply Chain Suite, Oracle PeopleSoft Enterprise, Oracle JDEdwards EnterpriseOne, Oracle Siebel CRM, Oracle Industry Applications, Oracle Java SE, Oracle Sun Systems Products Suite, Oracle MySQL, and Oracle Support Tools.

Out of these 98 new fixes, 4 are for the Oracle Database. None of the database vulnerabilities are remotely exploitable without authentication. The most severe of the database vulnerabilities (CVE-2015-0457) has received a CVSS Base Score 9.0 only for Windows for Database versions prior to 12c. This Base Score is 6.5 for Database 12c on Windows and for all versions of Database on Linux, Unix and other platforms. This vulnerability is related to the presence of the Java Virtual Machine in the database.

17 of the vulnerabilities fixed in this Critical Patch Update are for Oracle Fusion Middleware. 12 of these Fusion Middleware vulnerabilities are remotely exploitable without authentication, and the highest reported CVSSS Base Score is 10.0. This CVSS10.0 Base Score is for CVE-2015-0235 (a.k.a. GHOST which affects the GNU libc library) affecting the Oracle Exalogic Infrastructure.

This Critical Patch Update also delivers 14 new security fixes for Oracle Java SE. 11 of these Java SE fixes are for client-only (i.e., these vulnerabilities can be exploited only through sandboxed Java Web Start applications and sandboxed Java applets). Two apply to JSSE client and Server deployments and 1 to Java client and Server deployments. The Highest CVSS Base Score reported for these vulnerabilities is 10.0 and this score applies to 3 of the Java vulnerabilities (CVE-2015-0469, CVE-2015-0459, and CVE-2015-0491).

For Oracle Applications, this Critical Patch Update provides 4 new fixes for Oracle E-Business Suite , 7 for Oracle Supply Chain Suite, 6 for Oracle PeopleSoft Enterprise, 1 for Oracle JDEdwards EnterpriseOne, 1 for Oracle Siebel CRM, 2 for the Oracle Commerce Platform, and 2 for Oracle Retail Industry Suite, and 1 for Oracle Health Sciences Applications.

Finally, this Critical Patch Update provides 26 new fixes for Oracle MySQL. 4 of the MySQL vulnerabilities are remotely exploitable without authentication and the maximum CVSS Base Score for the MySQL vulnerabilities is 10.0.

As stated at the beginning of this blog, Oracle recommends that customers consistently apply Critical Patch Update as soon as possible. The security fixes provided through the Critical Patch Update program are thoroughly tested to ensure that they do not introduce regressions across the Oracle stack. Extensive documentation is available on the My Oracle Support Site and customers are encouraged to contact Oracle Support if they have questions about how to best deploy the fixes provided through the Critical Patch Update program.

For More Information:

The April 2015 Critical Patch Update advisory is located at http://www.oracle.com/technetwork/topics/security/cpuapr2015-2365600.html

The Critical Patch Updates, Security Alerts and Third Party Bulletin page is located at http://www.oracle.com/technetwork/topics/security/alerts-086861.html

The Oracle Software Security Assurance web site is located at http://www.oracle.com/us/support/assurance/overview/index.html. Oracle’s vulnerability handling policies and practices are described at http://www.oracle.com/us/support/assurance/vulnerability-remediation/introduction/index.html

APEX 5.0: Set Cursor Focus for Region Type Plug-Ins

Patrick Wolf - Tue, 2015-04-14 08:19
Complex Region Type Plug-ins might render their own input fields, like our Interactive Report component does with the search field. If a developer had set the page level attribute Cursor Focus to First item on Page in Oracle APEX 4.x, … Continue reading
Categories: Development

Scheduling Processes on Oracle JavaCloud Service SaaS Extensions (JCSSX)

Angelo Santagata - Mon, 2015-04-13 18:38
In the past if we wanted to schedule some background processing in JCSSX we had to get help from the database's scheduler.. Using a clever feature of SchemaDB, that is the ability to call a REST Service from a PLSQL procedure, which in turn would execute our code on JCSSX we were able to effectively execute code on JCSSX at determined intervals/times etc. All this is now unnecessary! With the current version of JCSSX we now fully support a list of 3rd party frameworks (see link for a list) and Quartz is one of them. Jani, colleague from the Fusion Developer Relations team, has written up a really nice blog posting on the FADevrel blog summarising what you can do with Quartz and some code to get you started..You could say "Quartz in 10mins" blog! Check it out

Request Support Management Attention (SR Attention)

Chris Warticki - Mon, 2015-04-13 12:40

In today's world, everybody wants the answer yesterday.  Everything seems to require immediate attention.  But, what is requesting support management attention all about? Do you have a Support delivery concern? Are your expectations not being met nor understood? Request for Support Management Attention will help.  The shortest path to least resistance regarding any technical service request is Support Management Attention – first and always.   Until you’ve spoken to a manager from Oracle Support, how does Oracle Support know where/when the service gap is and how to remedy it? 

Side note: (Escalation, formerly known as the Duty Manager Process, has always been defined as speaking with the manager where the Service Request resides.  Escalation has never meant immediate resolution.  It's not a check-box.  Escalation is not the solution, it's a component of the conversation.)  Does that surprise you? Read on.

Here’s how it works;

Step 1 - Insert the template below into the Service Request, including all **** lines. This will ensure correct visibility and content.
******************* Management Attention Request *******************
Reason for request, including business impact of the problem that requires management attention
Business or implementation milestone, critical date(s) (milestone date or resolve by date), along with the type of business or implementation milestone
Name of the customer requesting callback; contact information: phone number, pager, email address
******************* Management Attention Request *******************
Step 2 – Call the Global Support 800#.  You may choose #1 for Existing SR or #2 for New SR.
Step 3 – Request Support Management Attention. "The magical phrase that pays":  Here is my existing Service Request #, I would like to speak with and receive a callback from the Support Manager. This used to be called the Escalation/Duty Manager 9+ years ago.
Step 4 – Your contact information will be verified and the Support Manager will be identified and notified for callback. It’s not a hot-transfer. Oracle Support strives that the Support Manager shall respond with a sense of urgency and contact you back in 30 minutes or less.

Here’s what NOT to do:

  • Don't log a Severity 1 SR and then immediately request to speak to a Support Manager.  Give Support a chance to begin work.
  • Don’t choose the option to speak to the support engineer if your intending to speak with a manager.  Choosing that option will route you to the support engineer, or their voicemail.
  • Don’t call the 800# and request a Severity 1 or Severity increase. Severity 1 is reserved for production down 99% of the time.
  • Don’t update your Service Request to initiate escalation. This is not recommended. Oracle doesn’t have a batch job running to look for keywords in SRs. Call us!  Then, update your Service Request for your own documentation purposes.
  • Don’t call your sales team, account team, or anyone else in your rolodex of Oracle business cards. They can’t solve your technical problem. You might as well try posting to your Facebook friends. There’s no backdoor to this process.
  • Don’t request your support engineer to jump on some bridge call. Bridge calls are for managers to keep busy. Keep the technical team troubleshooting. The motto for bridge calls is; “When all is done and said, a whole lot more is said than ever done!” 
    • If you have such a requirement for a bridge call, the best practice is to document the SR with the bridge call information and then initiate Request for Support Management Attention.  Remember, the engineer is multi-tasking, they aren't waiting around to join a bridge call.  The Support Manager will respond and most likely even join the bridge call and then resource the issue as appropriate.

Here’s how it plays out:  DON’T HANG UP with any manager until you know these 3 things:

  • Management Contact:
    • Once identified, the Support Manager, for the team where the SR resides, will call you back to discuss the technical details and review the Service Request with you.
      • Don't hang up until you have the manager's contact information. (name, email address, office phone)
  • Action Plan:
    • Work up an agreed upon action plan (WHO is going to do WHAT, by WHEN)
    • At this time, discuss any concerns you have. (time to respond, time to resolve, technical direction, key milestones at risk, etc.) Nobody is getting in trouble here. Let us know how we can serve you better.
    • Discuss current status and if the situation deems escalated or not.
    • Discuss appropriate severity
    • As a customer, document the action plan in the Service Request.
      Document, “I just spoke to so-n-so and we agreed to the following”
      The support manager should be doing the same.
  • Communication Plan:
    • Know when the next follow-up will be. Is follow up necessary? Discuss it.

There are two things the Support Manager can do that nobody else in Oracle can - Support Managers have control of the resources and time of the support engineers. They may reassign it to someone else on the team. They may free up the time of the current engineer to devote more time to your problem. They will review what can and can’t be accommodated. That’s why you shouldn’t call anyone else.

If your boss asks you about that Service Request and you tell them that you requested Support Management Attention, remember that they can reply with; Oh, you requested management attention, then who did you speak too? What’s their name? Better yet, let’s contact them and find out the status of what we need to know. Or, come into my office and let’s crack open the Service Request and see the details of what you spoke about.

What if the Service Request has a Bug Associated with it?

Good question. While discussing your Action Plan, request from the Support Manager to coordinate a call with Development Management. Remove the engineers and developers from the mix and go direct to the managers who control both of these resources. Let Development Management know how this bug is affecting your business. That Development Manager will give it to you straight if a fix is feasible or not. Please don't do this for enhancement requests.  Utilize the UserGroups, the ER Voting System and associated CABs and SIGs.

What if I’ve done what you’ve prescribed and it didn’t work?

Nobody is perfect. Oracle strives to achieve 100% satisfaction.

Simply call the 800# again, state either the support manager you’ve spoken too isn’t able to help you, or the request for callback wasn’t returned, then request to speak to the next level of management (Sr. Manager, Director and then VP level, if necessary)

It should be that simple. Really, it is. As a former manager from Database support, we take a lot of pride in, and hold ourselves accountable to this valuable process.

Chris Warticki is member of the Global Customer Management team for Oracle Support Services
Tweeting @cwarticki

Combined ACCESS And FILTER Predicates - Excessive Throw-Away

Randolf Geist - Mon, 2015-04-13 01:00
Catchy title... Let's assume the following data setup:

create table t1
as
select
rownum as id
, 1 as id2
, rpad('x', 100) as filler
from
dual
connect by
level <= 1e4
;

create table t2
as
select
rownum as id
, 1 as id2
, rpad('x', 100) as filler
from
dual
connect by
level <= 1e4
;

create table t3
as
select
rownum as id
, 1 as id2
, rpad('x', 100) as filler
from
dual
connect by
level <= 1e4
;

exec dbms_stats.gather_table_stats(null, 't1')

exec dbms_stats.gather_table_stats(null, 't2')

exec dbms_stats.gather_table_stats(null, 't3')

-- Deliberately wrong order (FBI after gather stats) - the virtual columns created for this FBI don't have statistics, see below
create index t2_idx on t2 (case when id2 = 1 then id2 else 1 end, case when id2 = 2 then id2 else 1 end, filler, id);

create index t3_idx on t3 (id, filler, id2);
And the following execution plan (all results are from 12.1.0.2 but should be applicable to other versions, too):

----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 10000 | 1416K| 132 (0)| 00:00:01 |
|* 1 | HASH JOIN | | 10000 | 1416K| 132 (0)| 00:00:01 |
| 2 | TABLE ACCESS FULL | T2 | 10000 | 292K| 44 (0)| 00:00:01 |
|* 3 | HASH JOIN | | 10000 | 1123K| 88 (0)| 00:00:01 |
| 4 | TABLE ACCESS FULL| T3 | 10000 | 70000 | 44 (0)| 00:00:01 |
| 5 | TABLE ACCESS FULL| T1 | 10000 | 1054K| 44 (0)| 00:00:01 |
----------------------------------------------------------------------------
How long would you expect it to run to return all rows (no tricks like expensive regular expressions or user-defined PL/SQL functions)?

Probably should take just a blink, given the tiny tables with just 10000 rows each.

However, these are the runtime statistics for a corresponding execution:

| | | |
| |DATABASE |CPU |
|DURATION |TIME |TIME |
|------------|------------|------------|
|+0 00:00:23 |+0 00:00:23 |+0 00:00:23 |
| | | |

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Pid | Ord | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Execs | A-Rows| PGA | Start | Dur(T)| Dur(A)| Time Active Graph | Activity Graph ASH | Top 5 Activity ASH |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | | 6 | SELECT STATEMENT | | | | 132 (100)| | 1 | 1 | 0 | | | | | | |
|* 1 | 0 | 5 | HASH JOIN | | 10000 | 1191K| 132 (0)| 00:00:01 | 1 | 1 | 1401K | 2 | 23 | 22 | ##### ############## | @@@@@@@@@@@@@@@@@@@ (100%) | ON CPU(22) |
| 2 | 1 | 1 | TABLE ACCESS FULL | T2 | 10000 | 70000 | 44 (0)| 00:00:01 | 1 | 10K | | | | | | | |
|* 3 | 1 | 4 | HASH JOIN | | 10000 | 1123K| 88 (0)| 00:00:01 | 1 | 10K | 1930K | | | | | | |
| 4 | 3 | 2 | TABLE ACCESS FULL| T3 | 10000 | 70000 | 44 (0)| 00:00:01 | 1 | 10K | | | | | | | |
| 5 | 3 | 3 | TABLE ACCESS FULL| T1 | 10000 | 1054K| 44 (0)| 00:00:01 | 1 | 10K | | | | | | | |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
How is it possible to burn more than 20 seconds of CPU time with that execution plan?

The actual rows produced correspond pretty much to the estimated cardinalities (except for the final hash join), so that doesn't look suspect at first glance.
What becomes obvious from the SQL Monitoring output is that all the time is spent on the hash join operation ID = 1.

Of course at that point (at the latest) you should tell me off for not having you shown the predicate section of the plan and the corresponding query in first place.

So here is the predicate section and the corresponding query:

Predicate Information (identified by operation id):
---------------------------------------------------

1 - access(CASE "T1"."ID2" WHEN 1 THEN "T1"."ID2" ELSE 1 END =CASE
"T2"."ID2" WHEN 1 THEN "T2"."ID2" ELSE 1 END AND CASE "T1"."ID2" WHEN
2 THEN "T1"."ID2" ELSE 1 END =CASE "T2"."ID2" WHEN 2 THEN "T2"."ID2"
ELSE 1 END )
filter("T3"."ID2"=CASE WHEN ("T1"."ID">"T2"."ID") THEN
"T1"."ID" ELSE "T2"."ID" END )

3 - access("T3"."ID"="T1"."ID")


select /*+
leading(t1 t3 t2)
full(t1)
full(t3)
use_hash(t3)
swap_join_inputs(t3)
full(t2)
use_hash(t2)
swap_join_inputs(t2)
*/
t1.*
--, t3.id2
--, case when t1.id > t2.id then t1.id else t2.id end
from
t1
, t2
, t3
where
1 = 1
--
and case when t1.id2 = 1 then t1.id2 else 1 end = case when t2.id2 = 1 then t2.id2 else 1 end
and case when t1.id2 = 2 then t1.id2 else 1 end = case when t2.id2 = 2 then t2.id2 else 1 end
--
and t3.id = t1.id
and t3.id2 = case when t1.id > t2.id then t1.id else t2.id end
;
There are two important aspects to this query and the plan: First, the join expression (without corresponding expression statistics) between T1 and T2 is sufficiently deceptive to hide from the optimizer that in fact this produces a cartesian product (mimicking real life multi table join expressions that lead to bad estimates) and second, the table T3 is joined to both T1 and an expression based on T1 and T2, which means that this expression can only be evaluated after the join to T1 and T2.
With the execution plan shape enforced via my hints (but could be a real life execution plan shape preferred by the optimizer) T3 and T1 are joined first, producing an innocent 10K rows row source, which is then joined to T2. And here the accident happens inside the hash join operation:

If you look closely at the predicate section you'll notice that the hash join operation has both, an ACCESS operation and a FILTER operation. The ACCESS operation performs based on the join between T1 and T2 a lookup into the hash table, which happens to be a cartesian product, so produces 10K times 10K rows, and only afterwards the FILTER (representing the T3 to T1/T2 join expression) is applied to these 100M rows, but matching only a single row in my example here, which is what the A-Rows shows for this operation.

So the point is that this excessive work and FILTER throwaway isn't very well represented in the row source statistics. Ideally you would need one of the following two modifications to get a better picture of what is going on:

Either the FILTER operator should be a separate step in the plan, which in theory would then look like this:

---------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Execs | A-Rows|
---------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 132 (100)| | 1 | 1 |
|* 1a| FILTER | | 10000 | 1191K| 132 (0)| 00:00:01 | 1 | 1 |
|* 1b| HASH JOIN | | 10000 | 1191K| 132 (0)| 00:00:01 | 1 | 100M |
| 2 | TABLE ACCESS FULL | T2 | 10000 | 70000 | 44 (0)| 00:00:01 | 1 | 10K |
|* 3 | HASH JOIN | | 10000 | 1123K| 88 (0)| 00:00:01 | 1 | 10K |
| 4 | TABLE ACCESS FULL| T3 | 10000 | 70000 | 44 (0)| 00:00:01 | 1 | 10K |
| 5 | TABLE ACCESS FULL| T1 | 10000 | 1054K| 44 (0)| 00:00:01 | 1 | 10K |
---------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

1a- filter("T3"."ID2"=CASE WHEN ("T1"."ID">"T2"."ID") THEN
"T1"."ID" ELSE "T2"."ID" END )
1b- access(CASE "T1"."ID2" WHEN 1 THEN "T1"."ID2" ELSE 1 END =CASE
"T2"."ID2" WHEN 1 THEN "T2"."ID2" ELSE 1 END AND CASE "T1"."ID2" WHEN
2 THEN "T1"."ID2" ELSE 1 END =CASE "T2"."ID2" WHEN 2 THEN "T2"."ID2"
ELSE 1 END )
3 - access("T3"."ID"="T1"."ID")
Which would make the excess rows produced by the ACCESS part of the hash join very obvious, but is probably for performance reasons not a good solution, because then the data would have to flow from one operation to another one rather than being processed within the HASH JOIN operator, which means increased overhead.

Or an additional rowsource statistics should be made available:

----------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Execs | A-Rows|AE-Rows|
----------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 132 (100)| | 1 | 1 | 1 |
|* 1 | HASH JOIN | | 10000 | 1191K| 132 (0)| 00:00:01 | 1 | 1 | 100M |
| 2 | TABLE ACCESS FULL | T2 | 10000 | 70000 | 44 (0)| 00:00:01 | 1 | 10K | 10K |
|* 3 | HASH JOIN | | 10000 | 1123K| 88 (0)| 00:00:01 | 1 | 10K | 10K |
| 4 | TABLE ACCESS FULL| T3 | 10000 | 70000 | 44 (0)| 00:00:01 | 1 | 10K | 10K |
| 5 | TABLE ACCESS FULL| T1 | 10000 | 1054K| 44 (0)| 00:00:01 | 1 | 10K | 10K |
----------------------------------------------------------------------------------------------------
Which I called here "Actually evaluated rows" and in addition to this case here of combined ACCESS and FILTER operations could also be helpful for other FILTER cases, for example even for simple full table scan to see how many rows were evaluated, and not only how many rows matched a possible filter (what A-Rows currently shows).

In a recent OTN thread this topic came up again, and since I also came across this phenomenon a couple of times recently I thought to put this note together. Note that Martin Preiss has submitted a corresponding database idea on the OTN forum.

Expanding on this idea a bit further, it could be useful to have an additional "Estimated evaluated rows (EE-Rows)" calculated by the optimizer and shown in the plan. This could also be used to improve the optimizer's cost model for such cases, because at present it looks like the optimizer doesn't consider additional FILTER predicates on top of ACCESS predicates when calculating the CPU cost of operations like HASH JOINs.

Note that this problem isn't specific to HASH JOIN operations, you can get similar effects with other join methods, like NESTED LOOP joins, or even simple INDEX lookup operations, where again the ACCESS part isn't very selective but only the FILTER applied afterwards filters matching rows.

Here are some examples with the given setup:

select /*+
leading(t1 t3 t2)
full(t1)
full(t3)
use_hash(t3)
swap_join_inputs(t3)
index(t2)
use_nl(t2)
*/
t1.*
--, t3.id2
--, case when t1.id > t2.id then t1.id else t2.id end
from
t1
, t2
, t3
where
1 = 1
--
and case when t1.id2 = 1 then t1.id2 else 1 end = case when t2.id2 = 1 then t2.id2 else 1 end
and case when t1.id2 = 2 then t1.id2 else 1 end = case when t2.id2 = 2 then t2.id2 else 1 end
--
and t3.id = t1.id
and t3.id2 = case when t1.id > t2.id then t1.id else t2.id end
;

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Pid | Ord | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Execs | A-Rows| PGA | Start | Dur(T)| Dur(A)| Time Active Graph | Activity Graph ASH | Top 5 Activity ASH |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | | 6 | SELECT STATEMENT | | | | 10090 (100)| | 1 | 1 | | | | | | | |
| 1 | 0 | 5 | NESTED LOOPS | | 10000 | 1416K| 10090 (1)| 00:00:01 | 1 | 1 | | | | | | | |
|* 2 | 1 | 3 | HASH JOIN | | 10000 | 1123K| 88 (0)| 00:00:01 | 1 | 10K | 1890K | | | | | | |
| 3 | 2 | 1 | TABLE ACCESS FULL| T3 | 10000 | 70000 | 44 (0)| 00:00:01 | 1 | 10K | | | | | | | |
| 4 | 2 | 2 | TABLE ACCESS FULL| T1 | 10000 | 1054K| 44 (0)| 00:00:01 | 1 | 10K | | | | | | | |
|* 5 | 1 | 4 | INDEX RANGE SCAN | T2_IDX | 1 | 30 | 1 (0)| 00:00:01 | 10K | 1 | | 3 | 33 | 32 | ################### | @@@@@@@@@@@@@@@@@@@ (100%) | ON CPU(32) |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

2 - access("T3"."ID"="T1"."ID")
5 - access(CASE "T1"."ID2" WHEN 1 THEN "T1"."ID2" ELSE 1 END
="T2"."SYS_NC00004$" AND CASE "T1"."ID2" WHEN 2 THEN "T1"."ID2" ELSE 1
END ="T2"."SYS_NC00005$")
filter("T3"."ID2"=CASE WHEN ("T1"."ID">"T2"."ID") THEN
"T1"."ID" ELSE "T2"."ID" END )



select /*+
leading(t1 t3 t2)
full(t1)
full(t3)
use_hash(t3)
swap_join_inputs(t3)
index(t2)
use_nl(t2)
*/
max(t1.filler)
--, t3.id2
--, case when t1.id > t2.id then t1.id else t2.id end
from
t1
, t2
, t3
where
1 = 1
--
and case when t1.id2 = 1 then t1.id2 else 1 end = case when t2.id2 = 1 then t2.id2 else 1 end
and case when t1.id2 = 2 then t1.id2 else 1 end = case when t2.id2 = 2 then t2.id2 else 1 end
--
and t3.id = t1.id
and t2.filler >= t1.filler
and t2.id = case when t1.id2 > t3.id2 then t1.id2 else t3.id2 end

;

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Pid | Ord | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Execs | A-Rows| PGA | Start | Dur(T)| Dur(A)| Time Active Graph | Activity Graph ASH | Top 5 Activity ASH |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | | 7 | SELECT STATEMENT | | | | 20092 (100)| | 1 | 1 | | | | | | | |
| 1 | 0 | 6 | SORT AGGREGATE | | 1 | 223 | | | 1 | 1 | | | | | | | |
| 2 | 1 | 5 | NESTED LOOPS | | 1 | 223 | 20092 (1)| 00:00:01 | 1 | 10K | | | | | | | |
|* 3 | 2 | 3 | HASH JOIN | | 10000 | 1123K| 88 (0)| 00:00:01 | 1 | 10K | 1900K | | | | | | |
| 4 | 3 | 1 | TABLE ACCESS FULL| T3 | 10000 | 70000 | 44 (0)| 00:00:01 | 1 | 10K | | | | | | | |
| 5 | 3 | 2 | TABLE ACCESS FULL| T1 | 10000 | 1054K| 44 (0)| 00:00:01 | 1 | 10K | | | | | | | |
|* 6 | 2 | 4 | INDEX RANGE SCAN | T2_IDX | 1 | 108 | 2 (0)| 00:00:01 | 10K | 10K | | 2 | 34 | 34 | #################### | @@@@@@@@@@@@@@@@@@@ (100%) | ON CPU(34) |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

3 - access("T3"."ID"="T1"."ID")
6 - access(CASE "T1"."ID2" WHEN 1 THEN "T1"."ID2" ELSE 1 END
="T2"."SYS_NC00004$" AND CASE "T1"."ID2" WHEN 2 THEN "T1"."ID2" ELSE 1
END ="T2"."SYS_NC00005$" AND "T2"."FILLER">="T1"."FILLER" AND
"T2"."ID"=CASE WHEN ("T1"."ID2">"T3"."ID2") THEN "T1"."ID2" ELSE
"T3"."ID2" END AND "T2"."FILLER" IS NOT NULL)
filter("T2"."ID"=CASE WHEN ("T1"."ID2">"T3"."ID2") THEN
"T1"."ID2" ELSE "T3"."ID2" END )

The former one exhibits exactly the same problem as the HASH JOIN example, only that the FILTER is evaluated in the inner row source of a NESTED LOOP join after the index access operation.

The latter one shows as variation the classic partial "index access" due to a range comparison in between - although the entire expression can be evaluated on index level, the access part matches every index entry, so the range scan actually needs to walk the entire index at each loop iteration and the FILTER is then applied to all the index values evaluated.

In what ways is buckthorn harmful?

FeuerThoughts - Sun, 2015-04-12 17:54
I spent 10-15 hours a week in various locations of still-wooded Chicago (and now nearby Lincolnwood) cutting down buckthorn. Some people have taken me to task for it ("Just let it be, let nature take it's course, etc.). So I thought I would share this excellent, concise sum up of the damage that can be wrought by buckthorn.

And if anyone lives on the north side of Chicago and would like to help out, there is both "heavy" work (cutting large trees and dragging them around) and now lots of "light" work (clipping the new growth from the stumps from last year's cutting - I don't use poison). 

It's great exercise and without a doubt you will be helping rescue native trees and ensure that the next generation of those trees will survive and thrive!


Buckthorn should be on America's "Most Wanted" list, with its picture hanging up in every US Post Office! Here are a few of the dangers of Buckthorn:

a) Buckthorn squeezes out native plants for nutrients, sunlight, and moisture. It literally chokes out surrounding healthy trees and makes it impossible for any new growth to take root under its cancerous canopy of dense vegetation.

b) Buckthorn degrades wildlife habitats and alters the natural food chain in and growth of an otherwise healthy forest. It disrupts the whole natural balance of the ecosystem.

c) Buckthorn can host pests like Crown Rust Fungus and Soybean Aphids. Crown Rust can devastate oat crops and a wide variety of other grasses. Soybean Aphids can have a devastating effect on the yield of soybean crops. Without buckthorn as host, these pests couldn't survive to blight crops.

d) Buckthorn contributes to erosion by overshadowing plants that grow on the forest floor, causing them to die and causing the soil to lose the integrity and structure created by such plants.

e) Buckthorn lacks "natural controls" like insects or diseases that would curb its growth. A Buckthorn-infested forest is too dense to walk through, and the thorns of Common Buckthorn will leave you bloodied.

f) Buckthorn attracts many species of birds (especially robins and cedar waxwings) that eat the berries and spread the seeds through excrement. Not only are the birds attracted to the plentiful berries, but because the buckthorn berries have a diuretic and cathartic effect, the birds pass the seeds very quickly to the surrounding areas of the forest. This makes Buckthorn spread even more widely and rapidly, making it harder for us to control and contain.
Categories: Development

GoldenGate ggsci returns “ld.so.1: ggsci: fatal: relocation error” after GoldenGate 12c upgrade

VitalSoftTech - Sun, 2015-04-12 00:20
When invoking ggsci after GoldenGate 12c upgrade why is the "ld.so.1: ggsci: fatal: relocation error" returned?
Categories: DBA Blogs

opatch hangs on /sbin/fuser oracle

Vikram Das - Sat, 2015-04-11 19:30
Pipu pinged me today about opatch hanging. The opatch log showed this:

[Apr 11, 2015 5:24:13 PM]    Start fuser command /sbin/fuser $ORACLE_HOME/bin/oracle at Sat Apr 11 17:24:13 EDT 2015

I had faced this issue once before, but was not able to recall what was the solution.  So I started fresh.

As oracle user:

/sbin/fuser $ORACLE_HOME/bin/oracle hung

As root user

/sbin/fuser $ORACLE_HOME/bin/oracle hung

As root user

lsof hung.

Google searches about it brought up a lot of hits about NFS issues.  So I did df -h.

df -h also hung.

So I checked /var/log/messages and found many messages like these:

Apr 11 19:44:42 erpserver kernel: nfs: server share.justanexample.com not responding, still trying

That server has a mount called /R12.2stage that has the installation files for R12.2.

So I tried unmounting it:

umount /R12.2stage
Device Busy

umount -f /R12.2stage
Device Busy

umount -l /R12.2stage

df -h didn't hang any more.

Next I did strace /sbin/fuser $ORACLE_HOME/bin/oracle and it stopped here:

open("/proc/12854/fdinfo/3", O_RDONLY)  = 7
fstat(7, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b99de014000
read(7, "pos:\t0\nflags:\t04002\n", 1024) = 20
close(7)                                = 0
munmap(0x2b99de014000, 4096)            = 0
getdents(4, /* 0 entries */, 32768)     = 0
close(4)                                = 0
stat("/proc/12857/", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
open("/proc/12857/stat", O_RDONLY)      = 4
read(4, "12857 (bash) S 12853 12857 12857"..., 4096) = 243
close(4)                                = 0
readlink("/proc/12857/cwd", "11.2.0.4/examples (deleted)"..., 4096) = 27
rt_sigaction(SIGALRM, {0x411020, [ALRM], SA_RESTORER|SA_RESTART, 0x327bc30030}, {SIG_DFL, [ALRM], SA_RESTORER|SA_RESTART, 0x327bc30030}, 8) = 0
alarm(15)                               = 0
write(5, "@\20A\0\0\0\0\0", 8)          = 8
write(5, "\20\0\0\0", 4)                = 4
write(5, "/proc/12857/cwd\0", 16)       = 16
write(5, "\220\0\0\0", 4)               = 4
read(6,  

It stopped here. So I did Ctrl+C
# ps -ef |grep 12857
oracle   12857 12853  0 Apr10 pts/2    00:00:00 -bash
root     21688  2797  0 19:42 pts/8    00:00:00 grep 12857

Killed this process

# kill -9 12857

Again I did strace /sbin/fuser $ORACLE_HOME/bin/oracle and it stopped at a different process this time that was another bash process.  I killed that process also.

I executed it for 3rd time: strace /sbin/fuser $ORACLE_HOME/bin/oracle

This time it completed.

Ran it without strace

/sbin/fuser $ORACLE_HOME/bin/oracle

It came out in 1 second.

Then I did the same process for lsof

strace lsof

and killed those processes were it was getting stuck.  Eventually lsof also worked.

Pipu retried opatch and it worked fine.

Stale NFS mount was the root cause of this issue.  It was stale because the source server was down for Unix security patching during weekend.
 

Categories: APPS Blogs

Come See Integrigy at Collaborate 2015

Come see Integrigy's session at Collaborate 2015 in Las Vegas (http://collaborate.ioug.org/). Integrigy is presenting the following paper:

IOUG #763
Detecting and Stopping Cyber Attacks against Oracle Databases
Monday, April 13th, 9:15 - 11:30 am
North Convention, South Pacific J

If you are going to Collaborate 2015, we would also be more than happy to talk with you about your Oracle security or questions. If you would like to talk with us while at Collaborate, please contact us at info@integrigy.com.

Conference
Categories: APPS Blogs, Security Blogs

Video Tutorial: XPLAN_ASH Active Session History - Part 5

Randolf Geist - Fri, 2015-04-10 02:02
The next part of the video tutorial explaining the XPLAN_ASH Active Session History functionality continuing the actual walk-through of the script output.

More parts to follow.

Upgrading your Grid Infrastructure to 12c? Some things to watch out for!

VitalSoftTech - Thu, 2015-04-09 00:19
Ready to upgrade your Grid Infrastructure and RAC database to 12c? Make sure to go through the following items so that your upgrade does not fail.
Categories: DBA Blogs

Deploying applications remotely with WebLogic REST Management Interface

Steve Button - Wed, 2015-04-08 20:20
WebLogic 12.1.3 provides a fully documented REST Management Interface that enables deployment and management operations to be performed using REST calls.

The table of contents from the documentation lists the set of operations available:
To use the REST Management Interface, it first must be enabled for a domain. This can be done from the WebLogic Console.

Domain > Configuration > General [Advanced] > Enable RESTful Management Services




To deploy an application to a remote server, the REST Management Interface provides the ability to upload an application archive and execute the deployment operation:
To perform this type of deployment operation a HTTP POST on the deployment URL is invoked specifying:
  1. The HTTP Header of multipart/form-data;
  2. The application archive is supplied as form field deployment;
  3. The deployment information specified using the form field model in which the application name, targets and other attributes are supplied;
Using curl this looks like the following:

$ curl \
--user weblogic:welcome1 \
-H X-Requested-By:TestForRest \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "model={
name: 'basicwebapp',
targets: [ 'AdminServer' ]
}" \
-F "deployment=@/tmp/basicwebapp.war" \
-X POST http://adc2101001.us.oracle.com:7001/management/wls/latest/deployments/application

When this REST call is made with curl, the application archive specified as @/tmp/basicwebapp.war is uploaded as a binary file using the form field deployment and the configuration information supplied in the model form parameter used to define and perform the deployment.

The response returned from the REST call contains a payload with the result of the operation that was performed.

{
"messages": [{
"message": "Deployed the application 'basicwebapp'.",
"severity": "SUCCESS"
}],
"links": [{
"rel": "job",
"uri": "http://adc2101001:7001/management/wls/latest/jobs/deployment/id/3"
}],
"item": {
"name": "ADTR-3",
"id": "3",
"type": "deployment",
"status": "completed",
"beginTime": 1428541581923,
"endTime": 1428541584150,
"targets": [{
"name": "AdminServer",
"type": "server",
"errors": [],
"status": "completed"
}],
"description": "[Deployer:149026]deploy application basicwebapp on AdminServer.",
"operation": "deploy",
"deploymentName": "basicwebapp"
}
}

Further information about the deployment resource can be obtained using a further REST call, which provides links to operations that can be performed on the application, URLs to access the application, context-paths for registered servlets, runtime data and other useful information.

$ curl \
--user weblogic:welcome1 \
-H Accept:application/json \
http://adc2101001:7001/management/wls/latest/deployments/application/id/basicwebapp

Which returns a response containing a payload with details of the deployment:

{
"links": [
{
"rel": "parent",
"uri": "http://adc2101001:7001/management/wls/latest/deployments/application"
},
{
"rel": "action",
"uri": "http://adc2101001:7001/management/wls/latest/deployments/application/id/basicwebapp/redeploy",
"title": "redeploy"
},
{
"rel": "action",
"uri": "http://adc2101001:7001/management/wls/latest/deployments/application/id/basicwebapp/update",
"title": "update"
},
{
"rel": "action",
"uri": "http://adc2101001:7001/management/wls/latest/deployments/application/id/basicwebapp/start",
"title": "start"
},
{
"rel": "action",
"uri": "http://adc2101001:7001/management/wls/latest/deployments/application/id/basicwebapp/stop",
"title": "stop"
},
{
"rel": "bindables",
"uri": "http://adc2101001:7001/management/wls/latest/deployments/application/id/basicwebapp/bindables"
}
],
"item": {
"name": "basicwebapp",
"state": "active",
"type": "application",
"displayName": "basicwebapp",
"targets": ["AdminServer"],
"planPath": "/scratch/sbutton/Oracle/Middleware/user_projects/domains/arq_domain/servers/AdminServer/upload/basicwebapp/plan/Plan.xml",
"urls": ["http://adc2101001:7001/basicwebapp"],
"openSessionsCurrentCount": 1,
"sessionsOpenedTotalCount": 1,
"servlets": [
{
"servletName": "JspServlet",
"contextPath": "/basicwebapp",
"aggregateMetrics": {
"executionTimeTotal": 0,
"invocationTotalCount": 0,
"reloadTotalCount": 0,
"executionTimeHigh": 0,
"executionTimeLow": 0
},
"servletMetrics": [{
"serverName": "AdminServer",
"executionTimeTotal": 0,
"invocationTotalCount": 0,
"reloadTotalCount": 0,
"executionTimeHigh": 0,
"executionTimeLow": 0
}]
},
{
"servletName": "Faces Servlet",
"contextPath": "/basicwebapp",
"aggregateMetrics": {
"executionTimeTotal": 22,
"invocationTotalCount": 1,
"reloadTotalCount": 1,
"executionTimeHigh": 22,
"executionTimeLow": 22
},
"servletMetrics": [{
"serverName": "AdminServer",
"executionTimeTotal": 22,
"invocationTotalCount": 1,
"reloadTotalCount": 1,
"executionTimeHigh": 22,
"executionTimeLow": 22
}]
},
{
"servletName": "FileServlet",
"contextPath": "/basicwebapp",
"aggregateMetrics": {
"executionTimeTotal": 0,
"invocationTotalCount": 0,
"reloadTotalCount": 0,
"executionTimeHigh": 0,
"executionTimeLow": 0
},
"servletMetrics": [{
"serverName": "AdminServer",
"executionTimeTotal": 0,
"invocationTotalCount": 0,
"reloadTotalCount": 0,
"executionTimeHigh": 0,
"executionTimeLow": 0
}]
}
],
"ejbs": [],
"deploymentPath": "servers/AdminServer/upload/basicwebapp/app/basicwebapp.war",
"applicationType": "war",
"health": {"state": "ok"}
}

The documentation provides extensive coverage of the many resources and entity types that can be reached via the REST Management Interface.

Oracle PaaS Hands on Workshops

Anshu Sharma - Wed, 2015-04-08 14:59

To selected partners we are offering hands on workshop this month at Oracle HQ (Redwood City) on two exciting tool set in Oracle PaaS. These are -

1)  Oracle Stream Explorer - One Day workshop on Apr 14

 http://eventreg.oracle.com/profile/web/index.cfm?PKWebId=0x20922

The role of Oracle Stream Explorer is to help customers know what is happening in their business at this very moment and act accordingly. Oracle Stream Explorer provides a business friendly user interface on top of the core Event Processing engine. Examples of innovative solutions built using Stream Explorer include -

  • Telecommunications: Perform real-time call detail (CDR) record monitoring and distributed denial of service attack detection.
  • Financial Services: Perform real-time risk analysis, monitoring and reporting of financial securities trading and calculate foreign exchange prices.
  • Transportation: Create passenger alerts and detect baggage location in case of flight discrepancies due to local or destination-city weather, ground crew operations, airport security, etc.
  • Public Sector/Military: Detect dispersed geographical enemy information, abstract it, and decipher high probability of enemy attack. Alert the most appropriate resources to respond to an emergency.
  • IT Systems: Ability to detect failed applications or servers in real-time and trigger corrective measures.
  • Supply Chain and Logistics: Ability to track shipments in real-time and detect and report on potential delays in arrival.

2) Oracle Integration Cloud Service (ICS) - 2 Days Workshop on Apr 21-22

http://eventreg.oracle.com/profile/web/index.cfm?PKWebId=0x21105359b9 

In Oracle Cloud, equivalent of Oracle SOA is Oracle Integration Cloud Service (ICS). ICS has a Cloud SDK which will be used by Application providers to create Adapters to their Apps. Oracle Apps teams are writing their adapters and we would like to extend this offer to select ISV partners. ISVs can join this workshop to learn more about the development process. Your application can run in third party Cloud or your own data center but simply participate in integrations running in ICS. You can also offer your adapters through Oracle Cloud Marketplace

Please register to attend these workshops.

Sample Payload : Creating a Lead

Angelo Santagata - Wed, 2015-04-08 11:43

Very common operation

 Object Name
Lead Version Tested on
R9
 Description This payload demonstrates how to create a salesLead, assign a primary lead owner AND add additional resources to the lead
Operation createSalesLead  Parameters
*Required

Name*
StatusCode
CustomerId
ResourceId
PrimaryFlag

 Payload

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/types/" xmlns:lead="http://xmlns.oracle.com/oracle/apps/marketing/leadMgmt/leads/leadService/" xmlns:lead1="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:createSalesLead>
         <typ:salesLead>
            <lead:Name>gold2 - cust</lead:Name>
            <lead:StatusCode>UNQUALIFIED</lead:StatusCode>
            <lead:CustomerId>100000000055319</lead:CustomerId>
            <!--PartyID of person you want to assign it to-->
            <lead:OwnerId>300000000629932</lead:OwnerId>
            <lead:MklLeadResources>
        <!-- ResourceID is PartyID of additional Resource -->
               <lead1:ResourceId>300000000623680</lead1:ResourceId>
               <lead1:PrimaryFlag>false</lead1:PrimaryFlag>
            </lead:MklLeadResources>
         </typ:salesLead>
      </typ:createSalesLead>
   </soapenv:Body>
</soapenv:Envelope>

 

 


LPAR and Oracle Database

Pakistan's First Oracle Blog - Tue, 2015-04-07 20:30
What is LPAR?

LPAR stands for Logical Partitioning and it's a feature of IBM's operating system AIX (Also available in Linux). By abstracting all the physical devices in a system, LPAR creates a virtualized computing environment.

In a server; the processor, memory, and storage are divided into multiple sets. Each set in a server consist of resources like processor, memory and storage. Each set is called as LPAR.

One server can have many LPARs operating at the same time. These LPARs communicate with each other as if they are on separate machines.

What is DLPAR?

DLPAR stands for Dynamic Logical Partitioning and with DLPAR the LPARs can be configured dynamically without restart. With DLPAR, memory, CPU and storage can be moved between LPARs on the fly.

What is HMC?

HMC stands for Hardware Management Console. The Hardware Management Console (HMC) is interface which is used to manage the LPARs. Its Java based and can be used to manage many systems.

If LPAR is in shared processor mode, without the following fix, LPAR may see excessive CPu usage: 


APARs for WAITPROC IDLE LOOPING CONSUMES CPU:
IV01111 AIX 6.1 TL05 if before SP08 (fixed in SP08)
IV06197 AIX 6.1 TL06 if before SP07 (fixed in SP07)
IV10172 AIX 6.1 TL07 if before SP02 (fixed in SP02)
IV09133 AIX 7.1 TL00 if before SP05 (fixed in SP05)
IV10484 AIX 7.1 TL01 if before SP02 (fixed in SP02)

This problem can effect POWER7 systems running any level of Ax720 firmware prior to Ax720_101. But it is recommended to update to the latest available firmware. If required, AIX and Firmware fixes can be obtained from IBM Support Fix Central:
http://www-933.ibm.com/support/fixcentral/main/System+p/AIX
Categories: DBA Blogs

Get Recognition for your Knowledge of My Oracle Support by Becoming a My Oracle Support Accredited User

Joshua Solomin - Tue, 2015-04-07 09:55
.xContainer { width:99%; margin-left:auto; margin-right:auto; font-family:inherit; } .xContainer img { display:block; margin:0; padding:0; border:0; width:100%; } .xContainer .imgBox { margin:32px 0; width:100%; } .xContainer .imgStyle { border:1px solid #999; box-shadow:2px 2px 3px #bababa; } .xContainer .floatLeft { float:left; margin-right:20px; margin-bottom:12px; } .xContainer .floatRight { float:right; margin-left:20px; margin-bottom:12px; } .xContainer .oRed { color:#ff0000; } .xContainer .darkRed { color:#c00000; } .xContainer .bold { font-weight:bold; } .xContainer .italic { font-weight:italic; } .xContainer .underline { text-decoration:underline; } .xContainer .strikethrough { text-decoration:line-through; }
Join us as part of our live Collaborate15 event.

If you are attending the Oracle Application User's Group (OAUG) Collaborate15, use the event Scheduler to locate Accreditation sessions.

Sessions are available for Oracle DB, Oracle E-Business Suite, JD Edwards, PeopleSoft and Primavera. Take the opportunity to attend expert Q&A sessions to learn more about the accreditation and ask questions; you can also attend the exam session to take your accreditation

(Expert sessions are not replacements for the pre-training refresher videos. Oracle Support staff will be on hand to assist in the exam session—but they will not answer the questions in the exam.)

Add sessions to your planner by entering the term Accreditation and click Search to locate them. You can refine your search further by selecting a date.

Session Scheduler
What happens if I am not going to Collaborate15?

Don't miss out—Join us virtually by doing the pre work and watching the Accreditation Series for My Oracle Support and the Level 2 Products you use. If anything is new to you, take time to deep dive by reviewing the online help or taking the additional how to training modules listed in Document 603505.1

Share your experience—via Twitter and include @myoraclesupport to share your success story.

Join Us in the Accreditation Community—At times we will deconstruct questions similar to those in the exam, breaking down the purpose of the question and the answers the exam is looking for. Please note that posting exam questions in public forum is a violation of the Accreditation Program terms of use.

The community is the place to post your questions about the exam itself—share us what you thought about the exam experience:

  • Did you learn new Best Practices?
  • Any issues printing your certificate?
  • Did you vote in the Poll to have an Accreditation Community Badge?

Adding Log Groups on Oracle DataGuard Database

VitalSoftTech - Mon, 2015-04-06 15:12
When adding Redo logs to a database which has a DataGuard associated with it, the log files have to manually be added to the destination. Below are the steps on how to add them to both the source and the DataGuard databases. Adding Log Groups on Oracle DataGuard Database On the source first determine the […]
Categories: DBA Blogs

Consumer Reports guide on which fruits and veggies to always buy organic

FeuerThoughts - Mon, 2015-04-06 10:32
First, I encourage everyone reading this (and beyond) to subscribe to Consumer Reports and make use of their unbiased, science-based reviews of products and services.

It is the best antidote to advertising you will ever find.

In their May 2015 issue, they analyze the "perils of pesticides" and offer a guide to fruits and vegetables. When you should buy organic? When might conventional be OK for you?

[or, as CR puts it, "Though we believe that organic is always the best choice because it promotes sustainable agriculture, getting plenty of fruits and vegetables - even if you can't obtain organic - takes precedence when it comes to your health.]

Here are the most important findings:

ALWAYS BUY ORGANIC

CR found that for these fruits and vegetables, you should always buy organic - the pesticide risk in conventional is too high.

Fruit

Peaches
Tangerines
Nectarines
Strawberries
Cranberries

Vegetables

Green Beans
Sweet Bell Peppers
Hot Peppers
Sweet Potatoes
Carrors
Categories: Development

Pages

Subscribe to Oracle FAQ aggregator