Tuesday, May 29, 2007

My 11i Apps DBA OCP

After I passed my beta exam 1Z0-233 Oracle 11i Install, Patch and Maintain Applications and in order to be an Oracle 11i Apps DBA OCP, I had to be either 10g DBA OCP or 9i DBA OCP or the new 2 exams (apps fundamentals 1 & 2), so I applied for 10g and I passed the OCP. So far I am still waiting my 11i beta scoring sheet to see my mark but I guess I did very good on that beta exam I regret that I did not apply the other 2 beta exams (workflow and sysadmin) every one took any one of them (pass or fail) got a free voucher that can be used for the 11i certification program. I did not believe when they were on the path to be an apps dba specially the workflow and then oracle changed the 11i apps dba path (which is a correct step they took). No the path for apps dbas is more clear and more technical.

Have a good day

Thursday, May 24, 2007

Small issue after cloning

After I cloned my production system I faced the following error when I run adadmin or adpatch

AD code level : [11i.AD.I.4]

The Applications System names per the APPL_TOP and the database are different.
Applications System name per the APPL_TOP: clone
Applications System name per the database: prod

If you continue, the Applications System name per the APPL_TOP will be ignored.

Do you wish to continue [No] ?
To solve it I had to run the following update statement on my clone database

Hope that helped


Sunday, May 20, 2007

Oracle Applications SQL scripts

Oracle Applications has useful collection of ready SQL scripts under $AD_TOP/sql. The following list shows the description of each script. For more details like if a specific script is available on a specific Apps version you need to check metalink note 108207.1 you will find the script and its description below.

Compile objects in a given schema

The script duplicates rows in FND_RESPONSIBILITY in the following way: Find data_group_id dg_id for the given data_group_name. For each row with data_group_id 0 in FND_RESPONSIBILITY, look for a corresponding row with data_group_id dg_id, with the same application_id, and responsibility_name that only differs in the given suffix string suffix_string. If such a row does not exist for the data_group_id dg_id, insert it.

Reports all compilation errors for a given schema.

Same as aderrch2.sql plus it fails if there are any errors

A fix for customers who have more than one set of books and they installed languages other than AMERICAN English. The symptom of the bug is that responsibility names are not translated properly for non-Standard data groups.

Count objects by object type in schema

Utility script to display configuration of Applications

Utility script to display worker information

Utility script to display product dependency information

Analyze all tables in an ORACLE ID with estimate sample 20%

Query the shared_pool area to determine space used by PL/SQL objects and whether they have been pinned.

Creates and runs a "pin" script for all packages and functions in a give schema

Creates and runs a "pin" script for all sequences in a give schema

Install tables and views used by the Applications*DBA sql scripts.

AD - index - report columns

Live Monitor, Categorize Block Contention

Live Monitor, List Session Objects

Live Monitor, Query Monitor Statistics

Lock Problem, Find Lock Source

Lock Problem, Show Lock Users

grant privileges to a user

Report Configuration, Show Database Configuration formerly, config.sql (rollback, tablespace, data files)

Report Configuration, Select Table Grants

Estimate the effect of a bigger SGA cache on cache hit rate.

Estimate the effect of a smaller SGA cache on cache hit rate.

Find the size (blocks, extents, extpct) of the given index.

Find the size (blocks, extents, extpct) of the given table.

Report the number of blocks used and the number of extents used for every table or index in every user in the database.

Report free extents in each tablespace.

Check for cache effectiveness for dc_xxxxx parameters' values.

Produce a brief database used space report.

Generate a list of tables and indexes whose next extent to be grabbed would be too large to be allocated in their corresponding tablespaces.

List tables and indexes with a number of allocated extents close to their max_extents.

Find space used for one's own segments.

Show v$rollstat statistics.

For a username, report the number of blocks used and the number of extents used for every table or index in that username.

Produce a brief report of database fragmentation by tablespace.

Report how much space each user has.

Generate a list of processes which the given user (NOT the database account's username) owns.

Show all users that have active transactions per Rollback Segment that they are writing to.

Tuesday, May 15, 2007

Shay's 10 Commandments for the OTN forums

I was reading a funny forum it's titled is "URGENT URGENT PLZ READ B4 OTHERS VERY URGENT NO TIME WASTERS" you should read it when you have time and one of the forum users replied asking to read Shay's Shmeltzer post about the (10 Commandments for the OTN Forums Member) and below I am copying and pasting from shay's blog you can go to his blog to read the full article

"Five rules to getting a better solution
1. Have a meaningful subject line
I'm tired of seeing a subject line like "I need urgent help". Your subject should specify what the problem core is and in what area
2. Give details about versions and technologies
Are you using JDeveloper or JDeveloper 9.0.4? Are you using ADF BC or EJB?
3. Give detailed error messages
Don't say - it throws an error - tell us what the error is and give the stack trace.
4. If possible provide steps to reproduce the problem
If something doesn't work for you - I can't know why if you don't tell me what you did. Sometime you can even post code that reproduce the problem
5. Search before you post
It's for your own good - it brings you the solution faster. Search both the forum and Google for your question - you'll be surprised how many times you'll find a solution that someone else got.

Five rules to become a better member of the community
6. Get a name
In your forums preferences you can set up a name or handle that will help us recognize you (and even a link to your blog). Do you really want to be known as user5667847? Using your real name is even better - then when someone meets you in a conference or an event - They'll already know who you are.
7. Post the solution
If your issue was solved post the solution on the thread so others that run into the same error can fix it faster. Just writing "I fixed it" doesn't count.
8. Mark solved problems with [Solved]
Once you found a solution to a problem edit the thread and add [SOLVED] to the subject line. This will help people identify solved problems.
9. Track your threads
In your forum preferences check the option that alerts/emails you when your thread has been updated. This way you'll be able to get better response time and also answer follow up questions. 10. Don't just ask question
give some answers as wellThe forum is a community - the community will only grow if you'll be an active participant. Posting question is just one side of the coin - actually answering other people questions is even more important. So go ahead and show off the knowledge you have gathered - it is the first step to take if you want to become an Oracle ACE.

It’s a great commandment and again I copied/pasted them from his blog so the credit goes to him.
Thank you Shay

I would like to add number 11. is to be gentle at your replies to the users even if they made mistakes since no one knows every thing and we all learn from our mistakes, so try to be gentle as much as you can when you are trying to correct someone mistake and don’t try to embarrass him.


Sunday, May 13, 2007

increment date paramters each run is not working

i schedualed concurrent request that take a date prameter to run daily with the option "increment date paramters each run" but it runs daily without incremeting the date what could be worng i thought the issue was on the date format so i change it but still, i opened a forum under oracle forums with the issue and my friend dgood76 gave me a metalink note with a hint on how to work around this issue. the note number is 339849.1(Unexpected Behavior Using Increment Date Parameter Each Run)

in this note the workaround suggested by oracle development is to make use of a wrapper Concurrent Program which submits the actual Concurrent Request. Any Default Parameter that needs to be reevaluate for each run needs to behandled within the wrapper script.

then note has an examble on how to do that. You basically need to have 2 concurrent programs one that take that date parameter and other concurrent program calculated the date parameter value and submit the first concurrent request with the correct value.

so thank you dgood76 for your support ;-)