Thursday, April 30, 2015

Payables: PPR is completed and invoice is "Selected For Payment"

Do not miss out on this article from My Oracle Support about the Payment Process Request, "PPR Completed And Printed, But Invoice Status Still In "Selected For Payment"." from document ID 2001492.1 to find out what query you can run to find invoices locked in this way so you can be a lot more proactive about the matter!

Wednesday, April 29, 2015

Assets: Not able to create assets via Workbench

Before we went to R12 I posted an alert I created for Fixed Assets, and it still was relevant on R12, so tonight when the 11.5.10.2 targeted article "Cannot Update Assets Using Asset Workbench form FAXASSET: Error: Depreciation Request Status S Is Not Known." was posted on My Oracle Support via note ID 2005126.1 I took notice.  Why did I take notice?  Because we may encounter the same issue on R12 and ANY chance to be proactive in a situation like this is important!

Tuesday, April 28, 2015

Expenses: Can you use location to obtain mileage?

That is the question being asked in My Oracle Support note ID 2003154.1 "Is It Possible To Derive Mileage By Location In Iexpenses?" and the answer may surprise you since other Oracle customers are looking at using third party products to do this job.

Monday, April 27, 2015

R12.2.3: Transfer To GL report performance degradation after RUP7

Check out My Oracle Support document "Transfer To GL Process Takes Longer Runtime Than Expected Time When upgrading from 11.5.10.2 to 12.2.3" from article ID 1985157.1 to find out what country this affects and which patch you need to apply to resolve the issue!

Sunday, April 26, 2015

Weekend Learning: R12.2 EBS DB upgrade prep guidelines

Since I just presented a session on a R12 upgrade from the application and project perspectives, I thought it was a good time to remind you about this document on MOS "Database Preparation Guidelines for an E-Business Suite Release 12.2 Upgrade" via note ID 1349240.1 so you can address the other side of the house with more technical details about the database!

Saturday, April 25, 2015

Weekend Learning: Troubleshooting Workflow Notification Mailer

Have you ever had to find out what is causing Workflow Notification Mailer issues in your EBS environment?  If you have not encountered these issues yet, you probably will, especially when upgrading so bookmark MOS article "Troubleshooting Notification Mailer OUTBOUND_SERVER or INBOUND_SERVER Validation Failures" from document ID 1672562.1 for many different solutions to several problems you could hit.

Friday, April 24, 2015

Weekend Learning: Allowing access to crontab with non-root user

In our environment we have non-root user accounts that can list and modify the crontab entry, and while I never knew the how behind it, today I know after reading My Oracle Support article "How To Allow Only Specific Non-root User(s) to Use Crontab" from document ID 2002877.1 which may help you modify your setup to use specific power user accounts that do not need root access to the OS.

Thursday, April 23, 2015

12c: High memory and CPU usage with ocssd.bin

The My Oracle Support document "12c ocssd.bin high memory/CPU usage" via note ID 1965082.1 has shown up several times on the list of recently updated articles, so I figure tonight is a good time to make sure everybody is seeing this.  Make sure you apply this patch to prevent the 8MB an hour memory leak, and then investigate the other issues reported here on the AIX platform!

Wednesday, April 22, 2015

11gR2: srvctl is not starting allowing database to start up

Yesterday I talked about how granular your testing suites should be and tonight note 1989922.1 on MOS "Database With Status UNKNOWN on 'crsctl stat res -t' and Could not start using srvctl" gives us another vector we can start plugging into a testing suite which makes sense because this happened after a patch to GI home!

Tuesday, April 21, 2015

Linux OS: Opening raw device can slow down on certain kernels

Last week at COLLABORATE I talked about measuring your baselines so you can determine when a negative (or even positive) change has happened, and the MOS document "Open Raw Device is Slower with Kernel 2.6.32-358.el6.x86_64" from article ID 1999421.1 proves that we have a lot of measuring still to automate because this is a basic OS operation which needs investigation in order to find out when it gets off kilter.

Monday, April 20, 2015

R12.1.3: Payables accounting date not in sync with General Ledger accounting date

I say a lot about bringing proactive data checks to Support teams, so tonight it would make a lot of sense to check out the My Oracle Support article "R12: Accounting Date And General Ledger Accounting Date Is Not In Sync" from note 1985068.1 because you will find out a setup issue that can cause a data mismatch between the EBS modules plus get a script which will allow you to identify if you are encountering this issue!

Sunday, April 19, 2015

Weekend Learning: Oracle DB Architecture learning

Want to get up to date on some fundamentals about Oracle Database Architecture?  Check out this slideshow from Michal Simonik that I found via a LinkedIn group which you may want to join as well!

Saturday, April 18, 2015

Weekend Learning: Troubleshooting row cache enqueue locks

Check out MOS document ID 278316.1 to get up to speed with "Troubleshooting: "WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! "" which was created for Oracle databases 8i but appears to be completely relevant for us today on 11g and 12c databases!  There are a TON of other articles linked on here as well that you should take a look too!!

Friday, April 17, 2015

Weekend Learning: New A/R program for Month-end Close

If you did not get the chance to hear my co-worker's presentation (@viswavadlamani) during OAUG's COLLABORATE conference, you may have missed a new development from Oracle regarding the Account Receivables module at Month-end Close!  Have you ever had transactions which prevent the A/R period from being closed?  Have you had to open P1 SRs to engage Oracle during the Close cycle?  Visit the document on My Oracle Support "How to Setup the New Manage Accounting Exception Program in Receivables?" via note ID 1937611.1 for all the details on a new concurrent manager process which appears to wrap some of their known issue identification scripts in order to find these issues PRIOR to Close!

Thursday, April 16, 2015

OAUG COLLABORATE 2015 - Day 4 + me

8:30 AM - 9:30 AM - Samer Barakat - Getting Optimal Performance from Oracle E-Business Suite

Define the problem - where is the time going?  Identify the techs tack components in-play, refer to architecture Ex. Problem in wrong Linux library, which is not in the Oracle "stack"!
Gather the right data to analyze issue, 1121043.1 for Best Practices, get a "good" SQL trace -> time in the DB? -> time in SQL execution? -> a few bad SQLs?, enhanced performance diagnostics for EBS 1362660.1 -> Gather Diagnostic Data for Traced Session, monitor OS stats -> 301137.1 461053.1, TKPROF 39817.1, Trace Analyzer TRCA 224270.1, SQLTXPLAIN 215187.1, AWR -> $ORACLE_HOME/rdbms/admin/awrrpt.sql
Identify root cause
Search for solution
If it is a product issue, pass it on to Support/Development through MOS, do not just ignore it or deny Oracle feedback!
Try to identify temporary workaround until permanent fix!
If you have a bottleneck that is concurrency related, use global hash-partitioned indexes for hot leaf blocks which can be identified by AWR.
Recommendations about optimization:
Stay current - recommended performance patches 244040.1 & http://blogs.oracle.com/stevenChan/resource/certifications.html
Use optimal logging settings - FND: Debug Log Level set to Unexpected
Optimize Workflow Processes - 260884.1, 1129203.1
Run (research) $FND TOP/sql/wffngen.sql - I forget why Samer suggested this, but there was something about this optimizing workflow for you.
Research RAC affinity - this was something about getting SQL or processes pinning to a certain node and I need to do some research on it too.
Optimize Forms Processes
Optimize JVM Processes
Size the Middle Tier for Concurrency - JVM, forms, CM processes (especially Java programs)
There is a formula to calculate physical memory for oacore heap!
R12.2 1905593.1 and E22950 are good documents on MOS for sizing!
Optimize the Concurrent Manager - manage CM jobs lifecycle and CM managers - 1 or 2 managers per CPU cores, CM state data -> 842850.1 - 2GB reports.log! (that is in MY presentation too!), CM schedules, Workload Management Strategy
Tune init.ora 396009.1 & 216205.1 R12/11i
Huge Pages in Linux 744769.1
ORION - 727062.1
Optimize Backend Code Execution Path - pin top PL/SQL packages, check for cursor leaks, consider dropping old editions if you get to 25 in R12.2!
Gather Application Statistics - disable 10/11g automatic jobs, 1586374.1, analyze schemas at 10% as a general rule.
Gather Dictionary and Fixed Stats - DBMS_STATS.GATHER_DICTIONARY_STATS or DBMS STATS.GATHER_FIXED_OBJECTS_STATS

9:45 AM - 10:45 AM - Rusty Schmidt (me!) (@TheOracleEMT) - E-Business Suite R12: Application Lessons Learned for Support and Implementers

For the first run of this presentation, it was a pretty good experience!!  The only thing that tripped me up a bit was the room monitor did not kick the previous presenter out so I only had 5 minutes to set up and catch a breath, and that was when I realized that the notes of the presentation were not showing at all like they should be but by then I was already in it and thankfully I have done enough testing that I got through it!  I heard some really good feedback in the COLLABORATE app, and from some people afterwards, plus I saw lots of people scribbling notes down so I think it was a presentation that really had the 40-50 people engaged and hopefully will lead them to better patches/upgrades or at least to read MOS a bit more!  I did catch myself saying um a few times, and there was one thing I spaced on, so I will grade myself at a 9.5 and even though it was not a perfect 10 I am really happy with it!  Looking forward to giving this again for either OAUG or Oracle at the upcoming OpenWorld!!

11 AM - Noon - Werner De Gruyter (@Yoda_EM) & Courtney Llamas (@courtneyllamas) - Under the Hood of Enterprise Manager - A Troubleshooting Primer

I think honestly I misread this session, as I was expecting how to use EM12c to troubleshoot an issue/problem, but it was all about troubleshooting EM12c ITSELF!  Of course the Internet blowing up a bit about the new Star Wars trailer or my relief at getting my presentation done may have contributed to not paying attention a bit since Werner went WAYYYY into details I never dreamed of so I will look forward to getting the materials so I can learn about it on my own time.
EM12c is total cloud control!
4 key processes - notifications, data loading, jobs & tasks, and user interaction & real time monitoring.
Information flows are initiated by background processes (callbacks).
Beacons can be added so you can monitor responsiveness of EM over time - very meta because you are monitoring the monitor!
Use EMCLI to trace any UI - I think this is what he was saying there.
More memory in Java heap size with more targets, which sounds like a no duh kind of thing but it is good to mention anyways.
Default 150 sessions, based in Apache limits.

12:15 PM - 1:15 PM - Mazen Arar and Jake Westphal - Testing Oracle E-Business Suite Applications: Best Practices from Development

Testing challenges - schedule, scope, resource - optimizing any of these negatively affects quality!
Testing is 30-50% AT LEAST of your project.
Cost of fixing an error is greatest post release!
Methods for testing - Users, Process, Governance, Technology, Data
Users - theme based testing, exploratory testing (usage patterns, vulnerable areas, derived exploratory testing)
Process - Process Flow Testing
Governance - Role Based Testing (what, why, how), Use Cases, Security Testing (what, why, how)
Technology - Online Patching Testing (during upgrade, during OLP, after OLP), EBS architecture -> QA perspective
Data - Test Data Management, subsetting and masking
<manual ------ automated> - this is the typical range the "Methods for testing" above follows.
Do we test everything?  How much testing is enough?
Oracle Application Testing Suite - Oracle Functional Testing Suite for Oracle Applications - QA reduced automation time by 60%, need to redo 70% of your 70% with some changes
Demo recorded, pausing every few seconds to talk through it - which I thought was interesting how you could record a small 2-3 minute demo and make it last 5-10 minutes with talking through it.  I wonder what demos I will be doing in the future after seeing all of these going on this week!

EDIT 4/26/15:  Modified the title slightly, and fixed some formatting in the post as well.

Wednesday, April 15, 2015

OAUG COLLABORATE 2015 - Day 3

8:00 AM - 9:00 AM - Mahesh Vallampati (@mvallamp) - The Data Architect Manifesto

Work w/users to get a data/business model.
Have a functional perspective!
Store comments!!  USER_COL_COMMENTS is something I have seen recently, but this is great reinforcement that you can store comments for tables or columns for quick documentation inside the DB!
Keep column names consistent across tables org_id vs organization_id.
Favorite alias is for FND_USER, just like me!
ANSI SQL - not fun, but highly portable so another reminder I need to brush up on this.
Who columns, created by/date, last updated by/date should be mandatory!
Build your own TAB_COL_DOMAIN_LOOKUPS similar to FND_LOOKUP_VALUES to add information!
Design for the analytic - capture all the data so it can be mined later, and make sure the data model is analytic friendly.
As Data Architect you should know more than:
Developers
User
Business
Business analyst
Tester
PM
Data is now big, we have to think bigger!
Do the math (financial) - large data sets cost money so justify it, or more importantly have the business justify it!
Not enough hardware to support bad business requirements - GREAT quote!
Be savvy about algorithms.
Gartner says users spend 15% of their time analyzing data, so drive the shift of that so users can spend more time analyzing!

9:15 AM - 10:15 AM - Simon Pane (@simonpane) - Oracle Service Name Resolution - Getting Rid of the TNSNAMES.ORA File!

Simon_DBA on MOS Community - a good reminder that I need to participate more on the MOS Communities!
Net Service Name - the name after the @ symbol.
Connect Descriptor - rest of TNSNAMES file.
Tnsping "connect string" and sqlplus system/oracle@"connect string" are both valid ways to connect without using a TNSNAMES file.
Oracle Net Services stops searching when it finds the first TNSNAMES file!!
Strace -e trace=open - shows how it looks for a TNSNAMES file, including a .shadow file locally which is a great way to mess with a DBA!!
TNSNAMES is unstructured because it is not in a DB!
Biggest TNSNAMES he had seen was 700 entries, audience member had 1100 which are both just crazy!!
Management techniques to centralize, but problems can propagate just as fast too.
IFILE can be used up to 4 times which is good to know, since I know we are using that in our environment.
"Old way" does not mean "best way"!
LDAP -> OID, AD, OpenLDAP, other options as well.
EZCONNECT and a Hybrid scheme are different ways to approach this as well - EZCONNECT is required for the RAC interconnect though!
Oracle published LDAP Schema for Oracle Net Services
Idea of having a backup TNSNAMES file - just as I was thinking about it!
Going into an LDAP system is secure because there are no passwords, only stuff that is already in TNSNAMES.
OID used just for this purpose, does not not need to be licensed, using WebLogic front end, new schema, maybe new machines?  Patching/upgrades are needed as well, so is it overkill just for this?
AD benefits - register DB via Oracle Tools (DBCA or Oracle Net Manager)
AD SysAdmin handles all the AD stuff (replication, HA. Patches)!
Critical part of network infrastructure so should already be up and available 100% of the time.
Very easy to setup, and you can find out more in MOS Note 1587824.1 - Configuring MSAD for Net Naming.
Need to work with AD SAs to install/configure, extra AD permissions, 11g clients NAMES.LDAP_AUTHENTICATE_BIND = YES, anon query may be required for Unix clients which could be a no-go in your environment.
OpenLDAP - free on different platforms, master-slave replication, easy updates with yum.
Simple initial setup but need root access, requires some basic Linux skills, must customize text files, no GUI but you can get Apache Directory Studio as a GUI.
All have bulk load options, command line searching, extraction to TNSNAMES.ORA via tool or command line!
Look in $ORACLE_HOME/bin/ldap* for files that are shipped by default already and in $ORACLE_HOME/ldap too!
MOS Note ID 1671486.1 - quick switchover of OID1 to OID2, will have to find out if there is another document for quick switchover of AD1 to AD2.
Not used for RAC interconnect or persistent connections.
Not every app may support it!
HR, HR. WORLD, HR.EXAMPLE.COM, ORCL - put all your aliases in the same line in TNSNAMES
Look up these MOS Note IDs for more details: 846822.1, 395525.1, 146485.1, 1336069.1
trcroute - Oracle Trace Route utility
Sysinternals.com - Active Directory Explorer better than Active Directory Users and Computers!
ldapsearch is in $ORACLE_HOME already!
Introduces ldap.ora file on Linux which I had never seen before!

10:45 AM - 11:45 AM - Jared Still (@PerlDBA) - SQL*Net Troubleshooting - Where Do You Go after Tnsping?

TNS-03505 error, what do you do next?  Strace, sqlnet trace, permissions on TNS_ADMIN/tnsnames.ora
Strace man page -> can pass in CSV list!
/etc/tnsnames.ora overrides all other files because it is the first one found!
Do you have TNS_ADMIN set?
Tnsping ping can only tell you if the listener is up, not the instance!!
Tnsping //IP/junk works because it only validates listener on IP, not that junk is the right service name!
Show parameter service_name just to make sure what the service name really is, and it can be found in lsnrctl status as well.
Interesting script from Tom Kyte about who is connecting to your DB and I shared the tidbit I learned yesterday about V$DBLINK that I am very interested in checking out when returning to work!
Gv$session_connect_info - What is this view about?
Trcasst - new tool to assist with traces!
1550897.1 - Dynamic Oracle Net Server Tracing
156485.1
1007808.6
$ORACLE_HOME/rdbms/mesg/oraus.msg - Need to see this and find out what is in this file!
19324874 bug - need to use 12c thick client so it throws out overflow packets.

Noon - 12:30 PM - Biju Thomas (@biju_thomas) - Using Virtual Box and Free Online Resources to Learn Oracle Database 12c

Oracle VirtualBox - suggested to have 16GB so you can run multiple VMs!
Free license for personal and academic use.
VirtualBox.org - make sure you install the extension pack too!
www.oracle.com/oll - Great resource!
docs.oracle.com/en/database - Documents on the DB!
apex.oracle.com - For if you want to learn APEX!
Oracle By Example in OLL will walk you through many different things.
racattack.org, oracle-base.com, blogs.oracle.com - are more links to get even more knowledge!

2:00 PM - 3:00 PM - Various - OakTable: TED-Style Lightning Talks

Kyle Hailey (@virtdata) talked about DevOps!
Gene Kim - The Phoenix Project a good book that he has read 3 times!
The Goal - book - improvement not made at the constraint is an illusion - great line!
Kellyn Pot'Vin-Gorman (@DBAKevlar) talked on getting SQLT to work w/AWR warehouse
Needed to change the driving package so it will accept the DB name, then look it up.
Pete Sharman (@SharmanPete) spoke a bit about Snap Clone.
PROD -> masking & subsetting -> test master DB.
Missing link - application level cloning!
Pre/post/SQL clone scripts.
Jonah Harris (@oracleinternals) was speaking about alternate DB software!
We learned that MeetMe does 1TB relational calls a day, 30TB NOSQL calls a day!!
Alex Gorbachev (@alexgorbachev) talked about #100miles in 24/26 hours (plus overshared a bit)!
Begin with the end in mind.
Mind is the enemy!
Keep calm and carry on.
Believe. Decide. Do. - but do not be stupid - from Cary Millsap

3:15 PM - 4:15 PM - Raj Garrepally - PeopleSoft Application and System Monitoring Basics

This session was more basics about system monitoring, and maybe less about PeopleSoft monitoring than I wanted but still I was able to get something out of the only Quest session I have visited at the conference!
What to monitor?  Everything, and breaks this down further to monitor the DB, app, web tiers individually.
PeopleTools-> Integration Broker -> SOM-> Monitoring -> Asynchronous Services
paqrydefn table
He monitors the number of sessions on each web tier server because he saw degradation in service after 75 sessions per server.

4:30 PM - 5:30 PM - Brian Bouchard - Understanding the Asset Tables and how to capture data

Core Asset tables:

FA_ADDITIONS -> Additions
FA_ADDITIONS_B
FA_ADDITIONS_TL - The last two tables are FA_ADDITIONS split up because of Multi-org!
FA_BOOKS -> Fixed Asset books
FA_DISTRIBUTIONS_HISTORY -> Assignments
For last two tables you need to use TRANSACTION_HEADER_ID_OUT and DATE_INEFFECTIVE = null to find the last values for the assets.

Depreciation tables: -> populated after running Depreciation job

FA_DEPRN_DETAIL
FA_DEPRN_SUMMARY
FA_DEPRN_PERIODS - Use PERIOD_NAME to link to FA_DEPRN_DETAIL to find the BOOK_TYPE_CODE and PERIOD_COUNTER from that table!

FA_ASSET_KEYWORDS - CCID is not CCID from the GL tables!
FA_CATEGORIES_B
FA_CATEGORIES_BOOKS
FA_CATEGORIES_BOOK_DEFAULTS
FA_LOCATIONS

Other key Asset tables:

FA_BOOK_CONTROLS
FA_ASSET_INVOICES

GL tables:

GL_CODE_COMBINATIONS
GL_LEDGERS
GL_JE_BATCHES
GL_JE_HEADERS
GL_JE_LINES -> Must use GL_SL_LINK* columns to link back to SLA!
XLA_AE_HEADERS
XLA_AE_LINES

Other important tables:

PO_VENDORS
AP_INVOICES_ALL
PA_PROJECTS_ALL
PA_TASKS
HR_EMPLOYEES - I wonder why he does not link to PER_PEOPLE_F instead, so will need to research myself at work.

Key FND tables:

FND_ID_FLEX_SEGMENTS
FND_FLEX_VALUES
FND_FLEX_VALUES_TL

assetsig.oaug.org

Tuesday, April 14, 2015

OAUG COLLABORATE 2015 - Day 2

9:45 AM - 10:45 AM - Craig Shallahamer (@cshallahamer) - Optimizing Memory Serialization Control (Latches And Mutexes)

Firefighting Friday webinars for free at orapub.com!
Memory is not a linear construct which he showed with 3D models!!  I thought I was looking at DNA strands!!
Serialization is death - thought this was an interesting idea!
Relational structure is controlled through locks (enqueues) - app locks under app developer control, data dictionary locks under control of Oracle kernel developers.
Memory structure access is under the control of Oracle kernel code architects - buffers controlled by pinning and sometimes latches, memory lists controlled by latches and mutexes.
Module -> CS control structures -> MS memory structure
"Spin and sleep cycle" did it get latch/mutex?  No?  Keep trying!
Processes either want to consume CPU or they are consuming CPU - sounds obvious, but I never thought of it that way before!
Pin event is backing off because a latch was already given.  Interesting!
When he sees a new wait event he wonders what is going on!  So do I!!
Fulltime.sh script is a free download to see what the CPU is doing breaking it down to the kernel modules w/Frits Hoogland so you know it will be awesome (it looked like it)!
Need to understand the latch/mutex algorithm and be able to detect significant latch/mutex contention
Understand: why it is being requested so often, and why it is being held so long.  Great boil down of a concept!

11 AM - Noon - Suzanne Strasser (@sjstrasser) - Database Links: Best Practices

Public DB links to schema owner users is dangerous!
Fixed user link - includes username and password, stored in SYS.LINK$ which is unencrypted prior to 10gR2.
Connected user link - anonymous DB link, local and remote users are the same, with same password, remote user must have CREATE SESSION privileges.
Use caution if you want to connect DEV to PROD with a DB link.
Current user link- requires Oracle Advanced Security Option so you can use current_user in your DB link connection string.
Invoker vs. definer rights was a great example of something I think I saw from Tom Kyte about who can run a package.
Shared DB link - must be authenticated by user with CREATE SESSION.
Creating a DB link in another user session - audience member piped up saying you can use a proxy DB link to connect to SCOTT without being able to connect to SCOTT as all which sounds like something to look into going forward.
GLOBAL_NAMES - when set to TRUE, link name must match remote DB name.  Good to know!
OPEN_LINKS - another parameter you need to look at.
ORA-02020 - SELECT query using a DB link leaves the connection open.
V$DBLINK - You can use this to see the current open DB links!  I never knew about this!  I smell another proactive alert coming up!
DBA_DB_LINKS, USER_DB_LINKS, ALL_DB_LINKS - The usual suspects, but good to remind people these tables are out there!
ALTER SESSION propagates to any open DB links you have open!!  Did NOT know that!!
DRIVING_SITE hint - can define only 1 table in the hint, but can help if you have to have to make the driving table be the remote table you have instead of the local table if it is smaller.
Insert via DB link causes wrong results - patch 15894143.
Patch 15931910 for ORA-19505 with PDB/CDBs if you are using this on 12c.

12:15 PM - 12:45 PM - Tim Quinlan - Extreme Availability Using Oracle 12c Features

Since we had a sit down lunch, instead of the box lunch we had yesterday, unfortunately I missed this session but it sounded like a really good one so I am a bit sad I missed it!

2 PM - 3 PM - Christina Blincoe - Advancing Your Career without a "TITLE" – Find Your JOY at Work

This ended up being a short session, but one of the opening lines sums up the presentation: Joy is your own definition, and more than happiness which can be temporary!
Notsalmon.com - inspirational writer
Gallupstrengthscenter.com - This site will measure your strengths, and then tell you why you should focus on them more!
Success magazine is one suggestion that she gave us to get some regular tips about being successful/positive, and not only did nobody in the audience say they read it, but she actually gave out a year-long subscription to it for one lucky session-goer!

3:15 PM - Arjen Visser - The 3 Fundamental Principles of Oracle Replication

Founder of @dbvisit
Physical and logical are 2 types of replication.
Physical - 1:1 copy, block level (redo), standby DB, best suited for DR.
Logical - separate DBs kept in sync with SQL statements, subset of data is replicated, cross platform/version/DB.
Trigger based/redo log are 2 ways to do logical replication.
Redo log -> LCRs -> SQL statements -> applied to target DB
Three principles of replication:
1. Conversion process
Set based SQL operations on source are changed to row by row SQL changes on the target DB.
2. Identification
For data to be replicated, each row in source must be uniquely identified (do not need primary key).
3. Conflicts
Warns of data divergence and lost updates, but your tools may differ on how to deal with conflicts.
Prerecorded demos!  Great idea!  Work out all the kinks and make sure you do not lose valuable time during the session!

4:30 PM - 5:00 PM - Deiby Gomez - (@hdeiby) - Oracle Indexes: From the Concept to Internals

Unfortunately my phone died just as this one started so I could not take notes during this one!!  The session was centered around some of the concepts you can find in the Oracle Database Concepts manual in Chapter 2 and 3, so if you are interested in this I would go back to that manual and brush up on some of your knowledge.

Monday, April 13, 2015

OAUG COLLABORATE 2015 - Day 1

8:00 AM - 9:00 AM - Erik Wahl (@erikwahl) - Keynote

UNthink was not something I was looking forward to, but I must say that I am a believer in what Erik has to say because he was SO passionate about getting "outside the box" that it really was a breath of fresh air!!

9:15 AM - 10:15 AM - Mike Donovan (@dbvisitmike) - The DBA as Linchpin, Not Roadblock. Fast Track Your Career in 60 Minutes

Mike started off saying how his presentation was kind of meta - not about the work, but how to address the work and that was pretty true but still awesome!
Cruise ship analogy with how much work the engine does, but nobody pays attention to it, compared to how much work a DBA does with how much nobody thinks about that either.
Complexity and uncertainty
Oracle DBA blog 2.0 - http://dbaharrison.blogspot.com/
DBA stereotypes - territorial, isolated & inaccessible, rigid & distrusting - Do not be this stereotype!
Unique potential in the role!
Sethgodin.com -> Lynchpin book, sounds like worth a read.
Exert emotional labor, invent, lead, connect, happen, create, delight, challenge, love their work are all positive spins on the job!
Demands on the DBA:
Technology - ASM, cloud, virtualization
People - more people, administrator
Business - conflicting demands, cost cutting
The job is more difficult than ever so you can be an indispensable DBA which is an island (holds on to everything) or stream (shares everything, delegates).
DBA.rtisan - DBA is now a craft, an artwork!
Core skills + communicativeness + creativity + resourcefulness
Well ordered, procedures, pleasing
Practical suggestions:
Get certified
Learn how to code
Write & speak
Know your business
www.codeacademy.com - A good resource for learning how to code!

10:30 AM - 11:30 AM - Abhay Kumar and Divya Shampur - Weblogic 12c - Top 12 Fundamental Tips to Boost Your Weblogic Server Performance

After giving an absolutely crazy reason for being 15 mins late to the room, so a total 30 minutes late since they were not there when the previous speaker ended, Abhay got down to business and gave a pretty decent presentation.
Good design, good implementation gets you good system performance - performance tuning is not a silver bullet - do not eliminate all bottlenecks -> sounds a lot like Cary Millsap!
Performance objectives depend on the number of users as well as the number and size of requests.
Amount of data and consistency is very important too!
Determine target CPU with testing so you do not wind up pegging it anywhere below peak load.
Monitor data transfers across the network - I thought this was a pretty good lesson!
Use WebLogic clusters for scalability and load balancing.
Tune the OS since it might not release sockets, adjust TCP wait_time value.
Tune JVM focusing on heap size and GC (Garbage Collection).
Use Work Managers to optimize work - I need to see if we have this in one of our new WebLogic instances!
Tuning network I/O - picking right muxer (kind of lost on this, but a good question to be asking folks back at the ranch).
Tuning network channels - it is possible to get a different QoS (Quality of Service) on the same platform.
Tuning WebLogic file store - it is usually faster than JDBC store since there is no network traffic!  Good to know!
Tuning data sources - set Initial Capacity to Maximum Capacity, cache JNDI lookups
Tuning WebLogic JMS
Tuning Class and Resource Loading - using class caching and filter loading
Plan for server capacity
Admin Console -> Monitoring -> Threads -> Core Dump instead of doing OS level core dumps.
JRockit Mission Control - out of box, no price attached!
Node Manager helps manage uptime with monitoring and automated restarts
WLDF - Diagnostic Framework

12:00 - 12:30 PM - Bobby Curtis (@dbasolved) - Exadata Exachk and Oracle Enterprise Manager 12c: Keeping up with Exadata

Check out these MOS notes 1070954.1, 757552.1, 1110675.1
Environment changes
Start Exachk as a daemon with ./Exachk -d start and then call it with ./Exachk -daemon -a
You must "force" the agent to collect Exadata metrics!

12:45 PM - 1:45 PM - Sandra Vucinica and many others - OAUG E-Business Applications Technology Stack SIG

ebsatssig.oaug.org - Visit the SIG home page and sign up!
EBS patching - Last year with one update there were 37 Java updates and 4 of them had 10.0 CVSS scores!
403537.1 - Security MOS note
Security AMP plugins for EBS will check these automatically for you.
AD and ADTXK delta 6 really just delivers new features for online patching so you should not need to redo your business process testing!

2:00 PM - 3:00 PM - Dan Norris (@dannorris) - Oracle Exadata Technical Deep Dive: Architecture and Internals

MAA team integrates the different Oracle technologies so each team can focus on doing what they do best, and this group tests the intersection of technologies in their labs under real situations!  Pretty cool!
X5-2 overview since it is new, and I thought with a 50/50 mix of people that had Exadata and that did not that this was a good review presentation but it was not the "deep dive" I was looking for even if I did find it interesting.
New Extreme Flash Storage Server, replaces high performance drives for no actual price increase.
X4-8 has some built in support for In Memory.
ZDP RDSv3 is a network transport protocol that has low network overhead and is used in the InfiniBand switching SOFTWARE Oracle provides so buying your own InfiniBand HARDWARE will not get you the same benefits without that other piece of the puzzle.  Important to know!
Can expand existing racks with newer technology nodes (X2-2 having an X5-2 added along side it).
When he got to the slide about the software upgrades with Exadata, it felt like what I saw in Denver.
I am also wondering if we need to have Exadata in our DR, and he was not sure if Platinum Support customers need to have it in DR so he will follow up on that for us.
Oracle VM is an option for Exadata but you need to reinstall so it is very involved and risky!
12.1.0.2 supports a PDB snapshot with a sparse diskgroup.
IM Fault Tolerance with X5, memory is mirrored to other nodes which in the long run just means that Oracle can keep selling you more nodes to get a little more cash.  :}
DBMCLI is a new feature for monitoring on DB nodes!
FIPS 140-2 security compliant w/smart scans.  What is FIPS 140-2?  That is what I want to know now!
The MAA group now has posted their information up on docs.oracle.com -> Engineered Systems
You can also visit www.oracle.com/goto/MAA
If you want to be part of the Exadata SIG then visit this site too: is.gd/0doKdG

3:15 PM - 4:15 PM - Jim Czuprynski (@jczuprynski) - A Smart Optimizer Gets Even Smarter: New Histograms in Oracle 12cR1

In 12.1.0.1 and before, you could only have 254 histograms, but after 12.1.0.2 you can have 2048 histogram buckets!
Dba_histograms and dba_tab_col_statistics shows the system generated buckets from gather stats - another good reminder to be looking at (proactively alerting on) these tables for creation and/or drift!
12.1 top-frequency and hybrid are 2 new types of histograms.
Height-balanced histograms is a legacy histogram now!
Passing in anything for sample_size in DBMS_GATHER_STATS will make the DB generate a height-balanced histogram!

4:30 PM - 5:30 PM - David Gilpin - Oracle Linux and Oracle VM Strategy, Update, and Roadmap

I wanted to go to this one, but instead Jim and I got chatting about some things so I did miss out on this but I will try to find the slides online this week!