Professional Documents
Culture Documents
DBA Scripts PDF
DBA Scripts PDF
TOOLS
PL SQL
SCRIPTS
OAF
AP
PO
AR
OM
PA
INV
HRMS
GL
ALL
Showing posts with label DBA. Show all posts
Saturday, January 28, 2012
Data Base Queries
Full database Size
Tablespace TEMP
SELECT tablespace_name, SUM(bytes_used)/1024/1024 MB_USED,
SUM(bytes_free)/1024/1024 MB_FREE
FROM V$temp_space_header GROUP BY tablespace_name;
Query to see the Reserved, Used and Free space of your database
SQL> /
TEMPEPORARY TABLESPACE:
SELECT tablespace_name,
SUM(bytes_used)/1024/1024 "USED MB",
SUM(bytes_free)/1024/1024 "FREE MB"
FROM V$temp_space_header
GROUP BY tablespace_name;
select
( select sum(bytes)/1024/1024 from dba_data_files
where tablespace_name like 'UND%' ) allocated,
( select sum(bytes)/1024/1024 from dba_free_space
where tablespace_name like 'UND%') free,
( select sum(bytes)/1024/1024 from dba_undo_extents
where tablespace_name like 'UND%') USed
from dual
/
DATABASE (ORACLE COMMANDS)
BLOKCING SESSIONS
* To find blocking session jobs below query will useful. It will return two rows.
select process,sid, blocking_session from v$session where blocking_session is not null;
E.g.
SQL> select process,sid, blocking_session from v$session where blocking_session is not null;
PROCESS SID BLOCKING_SESSION
- -
1234 365 366
1234 366 365
* Second step to find the serial number for the Blocking Session to kill
select SERIAL# from v$session where SID=<SID number>
E.g.
SQL> select SERIAL# from v$session where SID=365;
SERIAL#
-
130
SQL> select sid, blocking_session, status from V$session where sid IN (159, 145);
SID BLOCKING_SESSION STATUS
- -
145 ACTIVE
159 145 ACTIVE
E.g.
SQL> alter system kill session 365,130;
System altered.
DATABASE USER
We can remove in the archive directory with the extension .BU those are already have taken backup
Unix command------
USER
Select status from dba_users where username=
To take the archive backup
nohup /usr/local/opt/oracle/local/bin/runbkuplog -s lsomsi01 &
/orabkup/fs02/lsomsi01/bkup_arc_26_02_10
select
ts.tablespace_name,
ts.status,
ts.total_kb/1024 total_mb,
seg.used_kb/1024 used_mb,
(ts.total_kb - seg.used_kb)/1024 avail_mb,
(seg.used_kb/ts.total_kb)*100 pct_used
from
(select ts.tablespace_name,ts.status,sum(df.bytes)/1024 total_kb
from dba_tablespaces ts,dba_data_files df
where ts.tablespace_name = df.tablespace_name
group by ts.tablespace_name,ts.status) ts,
(select ts.tablespace_name,ts.status,nvl(sum(seg.bytes)/1024,0) used_kb
from dba_tablespaces ts,dba_segments seg
where ts.tablespace_name = seg.tablespace_name (+)
group by ts.tablespace_name,ts.status) seg
where
ts.tablespace_name = seg.tablespace_name
order by
seg.used_kb/ts.total_kb;
DB Link Create
What is the maximum buffer size that can be specified using the
DBMS_OUTPUT.ENABLE function?
1000000
What is syntax for dropping a procedure and a function? Are these operations possible?
Drop Procedure/Function ; yes, if they are standalone procedures or functions. If they are a part
of a package then one have to remove it from the package definition and body and recompile the
package.
How to check if Apps 11i System is Autoconfig enabled ?
Under $AD_TOP/bin check for file adcfginfo.sh and if this exists use adcfginfo.sh
contextfile=<CONTEXT> show=enabled
If this file is not there , look for any configuration file under APPL_TOP if system is Autoconfig
enabled then you will see entry like
This file is used by any forms client session. When a user try to access forms , f60webmx picks
up this file and based on this configuration file creates a forms session to user/client.
IN - The IN parameter allows you to pass values in to the module, but will not pass anything out
of the module and back to the calling PL/SQL block. In other words, for the purposes of the
program, its IN parameters function like constants. Just like constants, the value of the formal IN
parameter cannot be changed within the program. You cannot assign values to the IN parameter
or in any other way modify its value.
IN is the default mode for parameters. IN parameters can be given default values in the program
header.
OUT - An OUT parameter is the opposite of the IN parameter. Use the OUT parameter to pass a
value back from the program to the calling PL/SQL block. An OUT parameter is like the return
value for a function, but it appears in the parameter list and you can, of course, have as many
OUT parameters as you like.
Inside the program, an OUT parameter acts like a variable that has not been initialised. In fact,
the OUT parameter has no value at all until the program terminates successfully (without raising
an exception, that is). During the execution of the program, any assignments to an OUT
parameter are actually made to an internal copy of the OUT parameter. When the program
terminates successfully and returns control to the calling block, the value in that local copy is
then transferred to the actual OUT parameter. That value is then available in the calling PL/SQL
block.
IN OUT - With an IN OUT parameter, you can pass values into the program and return a value
back to the calling program (either the original, unchanged value or a new value set within the
program). The IN OUT parameter shares two restrictions with the OUT parameter:
Can cursor variables be stored in PL/SQL tables. If yes how. If not why?
Yes. Create a cursor type - REF CURSOR and declare a cursor variable of that type.
DECLARE
/* Create the cursor type. */
TYPE company_curtype IS REF CURSOR RETURN company%ROWTYPE;
Does rapid clone takes care of Updating Global oraInventory or you have to register
manually in Global OraInventory after clone ?
Rapid Clone will automatically Update Global oraInventory during configuration phase. You
don't have to do any thing manually for Global oraInventory.
What is .dbc file , where its stored , whats use of .dbc file ?
dbc as name says is database connect descriptor file which stores database connection
information used by application tier to connect to database. This file is in directory
$FND_TOP/secure also called as FND_SECURE
Can you apply patch without putting Applications 11i in Maintenance mode ?
Yes, use options=hotpatch as mentioned above with adpatch.
What should be the return type for a cursor variable. Can we use a scalar data type as
return type?
The return type of a cursor variable can be %ROWTYPE or record_name%TYPE or a record
type or a ref cursor type. A scalar data type like number or varchar cant be used but a record
type may evaluate to a scalar value.
Which two tables created at start of Apps Patch and drops at end of Patch ?
FND_INSTALLED_PROCESS and AD_DEFFERED_JOBS are the tables that get updated
while applying a patch mainly d or unified driver.
What is access_log in apache , what entries are recored in access_log ? Where is default
location of thsi file ?
access_log in Oracle Application Server records all users accessing oracle applications 11i. This
file location is defined in httpd.conf with default location at
$IAS_ORACLE_HOME/Apache/Apache/logs. Entries in this file is defined by directive
LogFormat in httpd.conf Typical entry in access_log is
198.0.0.1 - - [10/Sep/2006:18:37:17 +0100] "POST /OA_HTML/OA.jsp?.... HTTP/1.1" 200
28035
where 200 is HTTP status code and last digits 28035 is bytes dowloaded as this page(Size of
page)
Why does a worker fails in Oracle Apps Patch and few scenarios in which it failed for
you ?
Apps Patch worker can fail in case it doesn't find expected data, object, files or any thing which
driver is trying to update/edit/modify. Possible symptoms may be underlying tables/objects are
invalid, a prereq patch is missing , login information is incorrect, inconsistency in seeded data...
Earlier each service used to start at their own but managing these services (given that) they can
be on various machines distributed across network. So Generic Service Management is extension
of Concurrent Processing which manages all your services , provide fault tolerance (If some
service is down ICM through FNDSM and other processes will try to start it even on remote
server) With GSM all services are centrally managed via this Framework.
What is FNDSM ?
FNDSM is executable and core component in GSM ( Generic Service Management Framework
discussed above). You start FNDSM services via APPS listener on all Nodes in Application Tier
in E-Business Suite.
What are cursor attributes?
Cursor attributes are used to get the information about the current status of your cursor. Both
explicit and implicit cursors have four attributes, as shown:
Name Description
%FOUND Returns TRUE if record was fetched successfully, FALSE otherwise.
%NOTFOUND Returns TRUE if record was not fetched successfully, FALSE otherwise.
%ROWCOUNT Returns number of records fetched from cursor at that point in time.
%ISOPEN Returns TRUE if cursor is open, FALSE otherwise.
What is a cursor?
A cursor is a mechanism by which you can assign a name to a select statement and manipulate
the information within that SQL statement.
What is the purpose of a cluster?
A cluster provides an optional method of storing table data. A cluster is comprised of a group of
tables that share the same data blocks, which are grouped together because they share common
columns and are often used together. For example, the EMP and DEPT table share the DEPTNO
column. When you cluster the EMP and DEPT, Oracle physically stores all rows for each
department from both the EMP and DEPT tables in the same data blocks. You should not use
clusters for tables that are frequently accessed individually.
What is your Oracle Apps 11i Webserver Version and how to find it ?
From 11.5.8 to 11.5.10 Webserver version is iAS 1.0.2.2.2, In order to find version under
$IAS_ORACLE_HOME/Apache/Apache/bin execute ./httpd -version
./httpd -version
Server version: Oracle HTTP Server Powered by Apache/1.3.19
Server built: Dec 6 2005 14:59:13 (iAS 1.0.2.2.2 rollup 5)
What is GWYUID ?
GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB
If APPS_MRC schema is not used in 11.5.10 and higher then How MRC is working ?
For products like Payable, Recievables which uses MRC and if MRC is enabled then each
transaction table in base schema related to currency now has an assoicated MRC Subtables.
When you apply C driver patch does it require database to be Up and Why ?
Yes , database and db listener should be Up when you apply any driver patch in apps. even if
driver is not updating any database object connection is required to validate appsand other
schema and to upload patch history information in database tables.
How you will avoid your query from using indexes?
By changing the order of the columns that are used in the index, in the Where condition, or by
concatenating the columns with some constant values.
What is a OUTER JOIN?
An OUTER JOIN returns all rows that satisfy the join condition and also returns some or all of
those rows from one table for which no rows from the other satisfy the join condition.
The sub query is evaluated, distincted, indexed (or hashed or sorted) and then joined to the
original table typically. As opposed to select * from t1 where exists ( select null from t2
where y = x )
It always results in a full scan of T1 whereas the first query can make use of an index on T1(x).
So, when is where exists appropriate and in appropriate? Lets say the result of the sub query
( select y from T2 ) is huge and takes a long time. But the table T1 is relatively small and
executing ( select null from t2 where y = x.x ) is very fast (nice index on t2(y)). Then the exists
will be faster as the time to full scan T1 and do the index probe into T2 could be less then the
time to simply full scan T2 to build the sub query we need to distinct on.
Lets say the result of the sub query is small then IN is typically more appropriate. If both the
sub query and the outer table are huge either might work as well as the other depends on
the indexes and other factors.
When do you use WHERE clause and when do you use HAVING clause?
The WHERE condition lets you restrict the rows selected to those that satisfy one or more
conditions. Use the HAVING clause to restrict the groups of returned rows to those groups for
which the specified condition is TRUE.
There is a % sign in one field of a column. What will be the query to find it?
SELECT column_name FROM table_name WHERE column_name LIKE %\%% ESCAPE \;
Where will you find forms configuration details apart from xml file ?
Forms configuration at time of startup is in script adfrmctl.sh and
appsweb_$CONTEXT_NAME.cfg (defined by environment variable
FORMS60_WEB_CONFIG_FILE) for forms client connection used each time a user initiates
forms connection.
What are different modes of forms in which you can start Forms Server and which one is
default ?
You can start forms server in SOCKET or SERVLET by defualt Forms are configured to start in
socket mode.
How many ORACLE HOME are Oracle Apps and whats significance of each ?
There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier) and
One in Database Tier.
# ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This is used
by forms, reports and discoverer. ORACLE_HOME should point to this ORACLE_HOME
which applying Apps Patch.
# ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software. This
is used by Web Listener and contains Apache.
# ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database.
What happens if you don't give cache size while defining Concurrent Manager ?
Lets first understand what is cache size in Concurrent Manager. When Manager picks request
from FND CONCURRENT REQUESTS Queues, it will pick up number of requests defined by
cache size in one shot and will work on them before going to sleep. If you don't define cache size
while defining CM then it will take default value 1, i.e. picking up one request per cycle.
There are lot of DBC file under $FND_SECURE, How its determined that which dbc file to
use from $FND_SECURE ?
This value is determined from profile option "Applications Database ID"
What is RRA/FNDFS ?
Report Review Agent(RRA) also referred by executable FNDFS is default text viewer in Oracle
Applications 11i for viewing output files and log files. As most of apps dba's are not clear about
Report Server and RRA, I'll discuss one on my blog and update link here .
Why I need two Concurrent Processing Nodes or in what scenarios PCP is Used ?
Well If you are running GL Month end reports or taxation reports annually these reposrts might
take couple of days. Some of these requests are very resource intensive so you can have one node
running long running , resource intensive requests while other processing your day to day short
running requets.
Another scenario is when your requests are very critical and you want high resilience for your
Concurrent Processing Node , you can configure PCP. So if node1 goes down you still have CM
node available processing your requests.
Output and Logfiles for requests executed on source Instance not working on cloned
Instance
Here is exact problem description - You cloned an Oracle Apps Instance from PRODBOX to
another box with Instance name say CLONEBOX on 1st of August. You can any CM
logs/output files after 1st of August only becuase these all are generated on CLONEBOX itself,
But unable to view the logs/output files which are prior to 1st August. What will you do and
where to check ?
Log , Output file path and location is stored in table FND_CONCURRENT_REQUESTS. Check
select logfile_name, logfile_node_name, outfile_name, outfile_node_name from
fnd_concurrent_requests where request_id=&requestid ; where requestid is id of request for
which you are not able to see log or out files. You should see output like
/u01/PRODBOX/log/l123456.req, host1,/u01/PRODBOX/out/o123456.out, host1
What is difference between ICM, Standard Managers and CRM in Concurrent Manager ?
# ICM stand for Internal Concurrent Manager, which controls other managers. If it finds other
managers down , it checks and try to restart them. You can say it as administrator to other
concurrent managers. It has other tasks as well.
# Standard Manager These are normal managers which control/action on the requests nd does
batch or single request processing. # CRM acronym for Conflict Resolution Manager is used to
resolve conflicts between managers nd request. If a request is submitted whose execution is
clashing or it is defined not to run while a particular type of request is running then such requests
are actioned/assigned to CRM for Incompatibilities and Conflict resolution.
Rename is a permanent name given to a table or column whereas Alias is a temporary name
given to a table or column which do not exist once the SQL statement is executed.