ORACLE 10g CBO...analyze stats
Hi
Oracle 10g R2 Documentation says CBO does not consider stats gathered by analyze table command.But analyze table updates all the stats (dba_tables etc...).
Still will these not be used?if not how ORACLE knows that stats are gathered by dbms_stats or not
I agree dbms_stats Stats are more comprehensive than analyze.But want to know whether stats gatherd by analyze are completely ignored or not
Thanks
Pramod
It helps if you quote the passage you have read as this makes it possible to explain why you may have misunderstood what was said - the manuals are not always completely clear.
There are some calls to the analyze command that collect statistics that the optimizer does not need - but other calls to the analyze command do collect statistics that the optimizer can use. But there are differences between the "optimizer numbers" collected by analyze and those collected by dbms_stats - so dbms_stats is the strategic choice.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
"For every expert there is an equal and opposite expert."
Arthur C. Clarke
Similar Messages
-
Oracle 10g will do stats automatically ?
oracle : 10.2.0.3
os : linux
How oracle 10g will gather stats automatically ? How to check whether which scheduler is capturing stats, interval ,last gathered status and also next interval?
it will take only system level stats ? also object level stats also ?
pl. explainHi,
Please read this,
http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/stats.htm#i41282
It wont capture system stats.Only object level stats are gathered.Oracle recommends to gather the system stats manualy.
HTH
Aman.... -
Oracle 10g - Default commit state
Hi,
Does anybody know what the default commit state for Oracle 10g is upon installation?
Your help is very much appreciated!
Thanks.Do you mean auto-commit on or off? If so, Oracle has no auto-commit (some client apps may).
-
Insert statement taking time on oracle 10g
Hi,
My procedure taking time in following statement while database upgrading from oracle 9i to oracle 10g.
I m using oracle version 10.2.0.4.0.
cust_item is matiralize view in procedure and it is refreshing in the procedure
Index is dropping before inserting data into cust_item_tbl TABLE and after inserting data index is created.
There are almost 6 lac records into MV which are going to insert into TABLE.
In 9i below insert statement is taking 1 hr time to insert while in 10g it is taking 2.30 hrs.
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL QUERY';
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';
INSERT INTO /*+ APPEND PARALLEL */ cust_item_tbl NOLOGGING
(SELECT /*+ PARALLEL */
ctry_code, co_code, srce_loc_nbr, srce_loc_type_code,
cust_nbr, item_nbr, lu_eff_dt,
0, 0, 0, lu_end_dt,
bus_seg_code, 0, rt_nbr, 0, '', 0, '', SYSDATE, '', SYSDATE,
'', 0, ' ',
case
when cust_nbr in (select distinct cust_nbr from aml.log_t where CTRY_CODE = p_country_code and co_code = p_company_code)
THEN
case
when trunc(sysdate) NOT BETWEEN trunc(lu_eff_dt) AND trunc(lu_end_dt)
then NVL((select cases_per_pallet from cust_item c where c.ctry_code = a.ctry_code and c.co_code = a.co_code
and c.cust_nbr = a.cust_nbr and c.GTIN_CO_PREFX = a.GTIN_CO_PREFX and c.GTIN_ITEM_REF_NBR = a.GTIN_ITEM_REF_NBR
and c.GTIN_CK_DIGIT = a.GTIN_CK_DIGIT and trunc(sysdate) BETWEEN trunc(c.lu_eff_dt) AND trunc(c.lu_end_dt) and rownum = 1),
a.cases_per_pallet)
else cases_per_pallet
end
else cases_per_pallet
END cases_per_pallet,
cases_per_layer
FROM cust_item a
WHERE a.ctry_code = p_country_code ----varible passing by procedure
AND a.co_code = p_company_code ----varible passing by procedure
AND a.ROWID =
(SELECT MAX (b.ROWID)
FROM cust_item b
WHERE b.ctry_code = a.ctry_code
AND b.co_code = a.co_code
AND b.ctry_code = p_country_code ----varible passing by procedure
AND b.co_code = p_company_code ----varible passing by procedure
AND b.srce_loc_nbr = a.srce_loc_nbr
AND b.srce_loc_type_code = a.srce_loc_type_code
AND b.cust_nbr = a.cust_nbr
AND b.item_nbr = a.item_nbr
AND b.lu_eff_dt = a.lu_eff_dt));explain plan of oracle 10g
Plan
INSERT STATEMENT CHOOSECost: 133,310 Bytes: 248 Cardinality: 1
5 FILTER
4 HASH GROUP BY Cost: 133,310 Bytes: 248 Cardinality: 1
3 HASH JOIN Cost: 132,424 Bytes: 1,273,090,640 Cardinality: 5,133,430
1 INDEX FAST FULL SCAN INDEX MFIPROCESS.INDX_TEMP_CUST_AUTH_PERF_MV Cost: 10,026 Bytes: 554,410,440 Cardinality: 5,133,430
2 MAT_VIEW ACCESS FULL MAT_VIEW MFIPROCESS.TEMP_CUST_AUTH_PERF_MV Cost: 24,570 Bytes: 718,680,200 Cardinality: 5,133,430 can you please look into the issue?
Thanks.According to the execution plan you posted parallelism is not taking place - no parallel operations listed
Check the hint syntax. In particular, "PARALLEL" does not look right.
Running queries in parallel can either help performance, hurt performance, or do nothing for performance. In your case a parallel index scan on MFIPROCESS.INDX_TEMP_CUST_AUTH_PERF_MV using the PARALLEL_INDEX hint and the PARALLEL hint specifying the table for MAT_VIEW MFIPROCESS.TEMP_CUST_AUTH_PERF_MV Cost might help, something like (untested)
select /*+ PARALLEL_INDEX(INDX_TEMP_CST_AUTH_PERF_MV) PARALLEL(TEMP_CUST_AUTHPERF_MV) */Is query rewrite causing the MVs to be read? If so hinting the query will be tricky -
Materialize view on oracle 9i and oracle 10g
Hi,
My sql query using Materialized view in from cluase.
its execution time on oralce 9i 9.0.2 is only 0.25 sec but on oracle 10g it takes 4 minutes.
Explain plan in oracle 9i it consider MV as table but in Oracle 10g it consider it as MV.
i m analyze all the table before executing the query although it takes time to execute it
Please can anyone hv the idea how to decrease the execution time.
Thanks in advance.This is my QUERY
SELECT pp.hhc_code hhc_code, descp.item_id lucode, pp.ctry_code country_code,
pp.co_code company_code, descp.hq_descp_txt description
FROM prod_descp_en descp,
(SELECT DISTINCT ctry_code, co_code, item_id, hhc_code
FROM prod_perf_xref
WHERE procs_revis_nbr <= 1493) pp
WHERE descp.ctry_code = pp.ctry_code
AND descp.co_code = pp.co_code
AND descp.item_id = pp.item_id
AND EXISTS (
SELECT 'X'
FROM (SELECT prod_nbr, case_seq_nbr, prod_ctry_code, prod_co_code
FROM ord_ship_ln
WHERE (ord_ctry_code,
ord_co_code,
ord_doc_nbr,
ord_sys_srce
) IN (
SELECT ord_ctry_code, ord_co_code, ord_doc_nbr,
ord_sys_srce
FROM oms.ord_ship_hdr hr1
WHERE ( ( hr1.acctg_dest_ctry = '119'
AND hr1.acctg_dest_co = '003'
AND hr1.acctg_dest_nbr = 131
AND hr1.acctg_dest_type = '02'
OR ( hr1.srce_ctry_code = '119'
AND hr1.srce_co_code = '003'
AND hr1.srce_loc_nbr = 131
AND hr1.srce_loc_type_code = '02'
))) ln1
WHERE descp.product_nbr = ln1.prod_nbr
AND descp.case_nbr = ln1.case_seq_nbr
AND descp.ctry_code = ln1.prod_ctry_code
AND descp.co_code = ln1.prod_co_code)
ORACLE -9i
Plan
SELECT STATEMENT CHOOSECost: 1,528 Bytes: 138 Cardinality: 1
16 HASH JOIN Cost: 1,528 Bytes: 138 Cardinality: 1
12 HASH JOIN SEMI Cost: 1,316 Bytes: 93 Cardinality: 1
1 TABLE ACCESS FULL OMS.PROD_DESCP_EN Cost: 10 Bytes: 1,160,406 Cardinality: 20,358
11 VIEW SYS.VW_SQ_1 Cost: 1,290 Bytes: 515,484 Cardinality: 14,319
10 NESTED LOOPS Cost: 1,290 Bytes: 1,317,348 Cardinality: 14,319
8 TABLE ACCESS BY INDEX ROWID OMS.ORD_SHIP_HDR Cost: 138 Bytes: 31,104 Cardinality: 576
7 BITMAP CONVERSION TO ROWIDS
6 BITMAP OR
3 BITMAP CONVERSION FROM ROWIDS
2 INDEX RANGE SCAN NON-UNIQUE OMS.ORD_SHIP_HDR_DEST_IDX1 Cost: 1
5 BITMAP CONVERSION FROM ROWIDS
4 INDEX RANGE SCAN NON-UNIQUE OMS.ORD_SHIP_HDR_SRCE_INDX Cost: 1
9 INDEX RANGE SCAN UNIQUE OMS.PKORD_SHIPLN1 Cost: 2 Bytes: 950 Cardinality: 25
15 VIEW OMS. Cost: 211 Bytes: 598,860 Cardinality: 13,308
14 SORT UNIQUE Cost: 211 Bytes: 532,320 Cardinality: 13,308
13 TABLE ACCESS FULL MFIDATA.PROD_PERF_XREF_T Cost: 164 Bytes: 532,320 Cardinality: 13,308
ORACLE -10g
Plan
SELECT STATEMENT CHOOSECost: 7,538 Bytes: 138 Cardinality: 1
19 HASH JOIN Cost: 7,538 Bytes: 138 Cardinality: 1
12 HASH JOIN SEMI Cost: 6,851 Bytes: 93 Cardinality: 1
1 MAT_VIEW ACCESS FULL MAT_VIEW OMS.PROD_DESCP_EN Cost: 32 Bytes: 1,132,305 Cardinality: 19,865
11 VIEW VIEW SYS.VW_SQ_1 Cost: 6,612 Bytes: 2,585,376 Cardinality: 71,816
10 NESTED LOOPS Cost: 6,612 Bytes: 6,607,072 Cardinality: 71,816
8 TABLE ACCESS BY INDEX ROWID TABLE OMS.ORD_SHIP_HDR Cost: 805 Bytes: 156,114 Cardinality: 2,891
7 BITMAP CONVERSION TO ROWIDS
6 BITMAP OR
3 BITMAP CONVERSION FROM ROWIDS
2 INDEX RANGE SCAN INDEX OMS.ORD_SHIP_HDR_SRCE_INDX Cost: 6
5 BITMAP CONVERSION FROM ROWIDS
4 INDEX RANGE SCAN INDEX OMS.ORD_SHIP_HDR_DEST_IDX1 Cost: 1
9 INDEX RANGE SCAN INDEX (UNIQUE) OMS.PKORD_SHIPLN1 Cost: 2 Bytes: 950 Cardinality: 25
18 VIEW OMS. Cost: 685 Bytes: 1,154,925 Cardinality: 25,665
17 HASH UNIQUE Cost: 685 Bytes: 1,026,600 Cardinality: 25,665
16 VIEW VIEW MFIDATA.index$_join$_007 Cost: 511 Bytes: 1,026,600 Cardinality: 25,665
15 HASH JOIN
13 INDEX RANGE SCAN INDEX MFIDATA.IDX_PROD_PERF_XREF_ROW_DELT Cost: 419 Bytes: 1,026,600 Cardinality: 25,665
14 INDEX FAST FULL SCAN INDEX (UNIQUE) MFIDATA.IND_PROD_PERF_XREF_INDEX1 Cost: 309 Bytes: 1,026,600 Cardinality: 25,665 -
Sql statement add an "N" literal wher reporting trough oracle 10g and lib eclipse
<p>the same select created with crystal report 9 and oracle 8.04 with crystal report XI and oracle 10G have some difference. In the crystal report XI the statement contains an 'N' literal that should not be there.</p><p>I have used the Service pack 1 of Business Object XI r2 on the server and here i haven't problem.</p><p>When I use the same report throught an applet with the CRXI library's I have the problem of "N" literal</p><p>I work with Eclipse, java, CRXI, and oracle10g</p>
JRC/Crystal Report XI generated SQL automatically add an "N" literal in front of some values which can not even execute in the SQL*Plus.
-
Converting SQL statements from MS server 2000 to Oracle 10g
We are moving over from MS server 2000 to Oracle 10g as our database for Peoplesoft system.
There are several embedded SQL statements that I need to investigate to see what needs converting.
So far I can see a need to convert the following:
Dates. GetDate() to ?
Outer joins. *= to LEFT OUTER JOIN
Has anyone else done a similar exercise and what other functions do I need to convert?
Thanks.Hello
A quick google search (http://www.google.co.uk/search?hl=en&q=ms+sql+server+oracle+differences&spell=1)
came up with this:
http://dba-oracle.com/oracle_news/2005_12_16_sql_syntax_differences.htm
There's a quite a few more sites listed.
HTH
David -
How to the find the Delete records/Statement used in Oracle 10g database?
Hi all,
I am Using Oracle 10g Database release 2 on Windows 2003 Server Enterprise Edition... Last week One of my user has deleted important records from my database,i need to find who did this... is there any way to find out ...Please Advice me ....One More thing i have not enabled the Auditing features in My database .....
Thank You
ShanRajesh Lathwal wrote:
Use log miner ..
Regards
RajeshEven with that, if he wants to know WHO, he will have to have previously enabled extended logging .... -
Oracle 10g (10.1.0.2) - Oracle CS Service and Database won't start up
Hello!
As I installed Oracle 10g (Version 10.1.0.2) I had to start "OracleCSService" which I tried, but it never finishes starting and "stays in the state of starting".
I'm working on the operation System Windows Server 2003, Enterprise Edition, 10.1.0.2
I don't know if it coheres, but I as well can't access my Database. Since I installed Oracle I haven't once been able to access.
Did anyone have the same problem and got a solution?
greetings VeraThere's a known problem with 10g on non-english Windows versions , this is documented in metalink note
OracleCsService does not start
Note:276801.1
OracleCSService is only needed for RAC and ASM configurations, the simplest workaround is to set the service to MANUAL startup, what prevents the service from starting after a reboot.
As long as you use neither RAC nor ASM database creation is independent of this service and should work. To analyze the problem more details are needed, 'it does not work' is not enough.
Werner -
Oracle 10g vs Oracle 11g query performance
Hi everyone,
We are moving from Oracle 10g to Oracle 11g database.
I have a query which in Oracle 1g takes 85 seconds to run, but when I run the same query in Oracle 11g database, it takes 635 seconds.
I have confirmed that all indexes on tables involved are enabled.
Does anyone have any pointers, what should I look into. I have compared explain plans and clearly they are different. Oracle 11g is taking a different approach than Oracle 1g.
ThanksPl post details of OS versions, exact database versions (to 4 digits) and init.ora parameters of the 10g and 11g databases. Have statistics been gathered after the upgrade ?
For posting tuning requests, pl see these threads
HOW TO: Post a SQL statement tuning request - template posting
When your query takes too long ...
Pl see if the SQL Performance Analyzer can help - MOS Doc 562899.1 (TESTING SQL PERFORMANCE IMPACT OF AN ORACLE 9i TO ORACLE DATABASE 10g RELEASE 2 UPGRADE WITH SQL PERFORMANCE ANALYZER)
HTH
Srini -
Hi,
We were using Oracle 9i in Solaris 5.8 and it was working fine with some minor performance issues. We formatted the Solaris server with new Solaris 5.10 and installed Oracle 10g.
Now we are experiencing some performance issues in Oracle 10g. This issue is arising when using through Websphere 5.1.
We have analyzed the schema, index is rebuild, SGA is 4.5 GB, PGA is 2.0 GB, Solaris RAM is 16 GB. Also we are having some Mat Views (possibly this may cause performance issues - not sure) due to refresh.
Also I have changed some parameters in init.ora file like query_rewrite = STALE_TOLERATED, open_cursors = 1500 etc.
Is is something due to driver from which the data is accessed. I guess it is not utilizing the indexes on the table.
Can anyone please suggest, what could be the issue ?<p>There are a lot of changes to the optimizer in the upgrade from 9i to 10g, and you need to be aware of them. There are also a number of changes to the default stats collection mechanism, so after your upgrade your statistics (hence execution paths) could change dramatically.
</p>
<p>
Greg Rahn has a useful entry on his blog about stats collection, and the blog al,so points to an Oracle white paper which will give you a lot of ideas about where the optimizer changes - which may help you spot your critical issues.
</p>
<p>Otherwise, follow triggb's advice about using Statspack to find the SQL that is the most expensive - it's reasonably likely to be this SQL that has changed execution plans in the upgrade.
</p>
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk -
Hi,
I want to know if System Statistics (CPU and I/O usage) for CBO are automatically taken and loaded in Oracle 10g or I have to schedule it manually?
can anybody help me?
Thanks in advance,
Gerald.Basic system stats are generated at instance startup in 10g. Ideally you should still do the manual gather for better system stats values based on you workloads
You can check system stats in SYS.AUX_STATS$
Chris -
Oracle 10G New Feature........Part 1
Dear all,
from last couple of days i was very busy with my oracle 10g box,so i think this is right time to
share some intresting feature on 10g and some internal stuff with all of you.
Have a look :-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Oracle 10g Memory and Storage Feature.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.Automatic Memory Management.
2.Online Segment Shrink
3.Redolog Advisor, checkpointing
4.Multiple Temporary tablespace.
5.Automatic Workload Repository
6.Active Session History
7.Misc
a)Rename Tablespace
b)Bigfile tablespace
c)flushing buffer cache
8.ORACLE INTERNAL
a)undocumented parameter (_log_blocks_during_backup)
b)X$ view (x$messages view)
c)Internal Structure of Controlfile
1.Automatic memory management
================================
This feature reduce the overhead of oracle DBA.previously mostly time we need to set diff oracle SGA parameter for
better performance with the help of own experience,advice views and by monitoring the behaviour
of oracle database.
this was just time consuming activity.........
Now this feature makes easy life for oracle DBA.
Just set SGA_TARGET parameter and it automatically allocate memory to different SGA parameter.
it focus on DB_CACHE_SIZE
SHARED_POOL_SIZE
LARGE_POOL
JAVA_POOL
and automatically set it as
__db_cache_size
__shared_pool_size
__large_pool_size
__java_pool_size
check it in alert_log
MMAN(memory manager) process is new in 10g and this is responsible for sga tuning task.
it automatically increase and decrease the SGA parameters value as per the requirement.
Benefit:- Maximum utlization of available SGA memory.
2.Online Segment Shrink.
==========================
hmmmmm again a new feature by oracle to reduce the downtime.Now oracle mainly focus on availablity
thats why its always try to reduce the downtime by intrducing new feature.
in previous version ,reducing High water mark of table was possible by
Exp/imp
or
alter table move....cmd. but on these method tables was not available for normal use for long hrs if it has more data.
but in 10g with just few command we can reduce the HWmark of table.
this feature is available for ASSM tablespaces.
1.alter table emp enable row movement.
2.alter table emp shrink space.
the second cmd have two phases
first phase is to compact the segment and in this phase DML operations are allowed.
second phase(shrink phase)oracle shrink the HWM of table, DML operation will be blocked at that time for short duration.
So if want to shrink the HWM of table then we should use it with two diff command
first compact the segment and then shrink it on non-peak hrs.
alter table emp shrink space compact. (This cmd doesn't block the DML operation.)
and alter table emp shrink space. (This cmd should be on non-peak hrs.)
Benefit:- better full table scan.
3.Redolog Advisor and checkpointing
================================================================
now oracle will suggest the size of redo log file by V$INSTANCE_RECOVERY
SELECT OPTIMAL_LOGFILE_SIZE
FROM V$INSTANCE_RECOVERY
this value is influence with the value of FAST_START_MTTR_TARGET .
Checkpointing
Automatic checkpointing will be enable after setting FAST_START_MTTR_TARGET to non-zero value.
4.Multiple Temporary tablespace.
==================================
Now we can manage multiple temp tablespace under one group.
we can create a tablespace group implicitly when we include the TABLESPACE GROUP clause in the CREATE TEMPORARY TABLESPACE or ALTER TABLESPACE statement and the specified tablespace group does not currently exist.
For example, if group1 is not exists,then the following statements create this groups with new tablespace
CREATE TEMPORARY TABLESPACE temp1 TEMPFILE '/u02/oracle/data/temp01.dbf'
SIZE 50M
TABLESPACE GROUP group1;
--Add Existing temp tablespace into group by
alter tablespace temp2 tablespace group group1.
--we can also assign the temp tablespace group on database level as default temp tablespace.
ALTER DATABASE <db name> DEFAULT TEMPORARY TABLESPACE group1;
benefit:- Better I/O
One sql can use more then one temp tablespace
5.AWR(Automatic Workload Repository):-
================================== AWR is built in Repository and Central point of Oracle 10g.Oracle self managing activities
is fully dependent on AWR.by default after 1 hr, oracle capure all database uses information and store in AWR with the help of
MMON process.we called it Memory monitor process.and all these information are kept upto 7 days(default) and after that it automatically purge.
we can generate a AWR report by
SQL> @?/rdbms/admin/awrrpt
Just like statspack report but its a advance and diff version of statspack,it provide more information of Database as well as OS.
it show report in Html and Text format.
we can also take manually snapshot for AWR by
BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
END;
**The STATISTICS_LEVEL initialization parameter must be set to the TYPICAL or ALL to enable the Automatic Workload Repository.
[oracle@RMSORA1 oracle]$ sqlplus / as sysdba
SQL*Plus: Release 10.1.0.2.0 - Production on Fri Mar 17 10:37:22 2006
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> @?/rdbms/admin/awrrpt
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Name Inst Num Instance
4174002554 RMSORA 1 rmsora
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: text
Type Specified: text
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
* 4174002554 1 RMSORA rmsora RMSORA1
Using 4174002554 for database Id
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
Listing the last 3 days of Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
rmsora RMSORA 16186 16 Mar 2006 17:33 1
16187 16 Mar 2006 18:00 1
16206 17 Mar 2006 03:30 1
16207 17 Mar 2006 04:00 1
16208 17 Mar 2006 04:30 1
16209 17 Mar 2006 05:00 1
16210 17 Mar 2006 05:31 1
16211 17 Mar 2006 06:00 1
16212 17 Mar 2006 06:30 1
16213 17 Mar 2006 07:00 1
16214 17 Mar 2006 07:30 1
16215 17 Mar 2006 08:01 1
16216 17 Mar 2006 08:30 1
16217 17 Mar 2006 09:00 1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 16216
Begin Snapshot Id specified: 16216
Enter value for end_snap: 16217
End Snapshot Id specified: 16217
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_16216_16217.txt. To use this name,
press <return> to continue, otherwise enter an alternative.
Benefit:- Now DBA have more free time to play games.....................:-)
Advance version of statspack
more DB and OS information with self managing capabilty
New Automatic alert and database advisor with the help of AWR.
6.Active Session History:-
==========================
V$active_session_history is view that contain the recent session history.
the memory for ASH is comes from SGA and it can't more then 5% of Shared pool.
So we can get latest and active session report from v$active_session_history view and also get histortical data of
of session from DBA_HIST_ACTIVE_SESS_HISTORY.
v$active_session_history include some imp column like:-
~SQL identifier of SQL statement
~Object number, file number, and block number
~Wait event identifier and parameters
~Session identifier and session serial number
~Module and action name
~Client identifier of the session
7.Misc:-
========
Rename Tablespace:-
=================
in 10g,we can even rename a tablespace by
alter tablespace <tb_name> rename to <tb_name_new>;
This command will update the controlfile,data dictionary and datafile header,but dbf filename will be same.
**we can't rename system and sysaux tablespace.
Bigfile tablespace:-
====================
Bigfile tablespace contain only one datafile.
A bigfile tablespace with 8K blocks can contain a 32 terabyte datafile.
Bigfile tablespaces are supported only for locally managed tablespaces with automatic segment-space management.
we can take the advantage of bigfile tablespace when we are using ASM or other logical volume with RAID.
without ASM or RAID ,it gives poor response.
syntax:-
CREATE BIGFILE TABLESPACE bigtbs
Flushing Buffer Cache:-
======================
This option is same as flushing the shared pool,but only available with 10g.
but i don't know, whats the use of this command in prod database......
anyway we can check and try it on test server for tuning n testing some query etc....
SQL> alter system flush buffer_cache;
System altered.
++++++++++++++++++
8.Oracle Internal
++++++++++++++++++
Here is some stuff that is not related with 10g but have some intresting things.
a)undocumented parameter "_log_blocks_during_backup"
++++++++++++++++++++++++
as we know that oracle has generate more redo logs during hotbackup mode because
oracle has to maintain the a complete copy of block into redolog due to split block.
we can also change this behaviour by setting this parameter to False.
If Oracle block size equals the operating system block size.thus reducing the amount of redo generated
during a hot backup.
WITHOUT ORACLE SUPPORT DON'T SET IT ON PROD DATABASE.THIS DOCUMENT IS JUST FOR INFORMATIONAL PURPOSE.
b)some X$ views (X$messages)
++++++++++++++++
if you are intresting in oracle internal architecture then x$ view is right place for getting some intresting things.
X$messages :-it show all the actions that a background process do.
select * from x$messages;
like:-
lock memory at startup MMAN
Memory Management MMAN
Handle sga_target resize MMAN
Reset advisory pool when advisory turned ON MMAN
Complete deferred initialization of components MMAN
lock memory timeout action MMAN
tune undo retention MMNL
MMNL Periodic MQL Selector MMNL
ASH Sampler (KEWA) MMNL
MMON SWRF Raw Metrics Capture MMNL
reload failed KSPD callbacks MMON
SGA memory tuning MMON
background recovery area alert action MMON
Flashback Marker MMON
tablespace alert monitor MMON
Open/close flashback thread RVWR
RVWR IO's RVWR
kfcl instance recovery SMON
c)Internal Structure of Controlfile
++++++++++++++++++++++++++++++++++++
The contents of the current controlfile can be dumped in text form.
Dump Level Dump Contains
1 only the file header
2 just the file header, the database info record, and checkpoint progress records
3 all record types, but just the earliest and latest records for circular reuse record types
4 as above, but includes the 4 most recent records for circular reuse record types
5+ as above, but the number of circular reuse records included doubles with each level
the session must be connected AS SYSDBA
alter session set events 'immediate trace name controlf level 5';
This dump show lots of intresting information.
it also show rman recordes if we used this controlfile in rman backup.
Thanks
Kuljeet Pal SinghYou can find each doc in html and pdf format on the Documentation Library<br>
You can too download all the documentation in html format to have all on your own computer here (445.8MB)<br>
<br>
Nicolas. -
Client unable to connect to Oracle 10g on linux
I have installed Oracle 10g on an Intel box running RedHat AS 3.0. The database installation was succesful but I am unable to connect to it from the client on my laptop running Oracle 10g client and Winfdows XP Pro. The server ip is 192.168.1.10 and I can ping it from the client:
C:\>ping attila.n3kje.net
Pinging attila.n3kje.net [192.168.1.10] with 32 bytes of data:
Reply from 192.168.1.10: bytes=32 time<1ms TTL=64
Reply from 192.168.1.10: bytes=32 time<1ms TTL=64
Reply from 192.168.1.10: bytes=32 time<1ms TTL=64
Reply from 192.168.1.10: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.1.10:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Here is some info about the 2 environments:
[oracle@attila bin]$ uname -a
Linux attila.n3kje.net 2.4.21-9.0.1.ELsmp #1 SMP Mon Feb 9 22:26:51 EST 2004 i686 i686 i386 GNU/Linux
Server hosts file
======================================================
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 attila.n3kje.net attila localhost.localdomain localhost
hostname output
======================================================
[root@attila root]# hostname
attila.n3kje.net
ifconfig output
=======================================================
[root@attila root]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:C0:9F:1D:0C:C8
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13772171 errors:0 dropped:0 overruns:0 frame:0
TX packets:13748842 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1269613311 (1210.7 Mb) TX bytes:4065314800 (3876.9 Mb)
Interrupt:16 Base address:0xecc0 Memory:fe100000-fe120000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5513840 errors:0 dropped:0 overruns:0 frame:0
TX packets:5513840 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:865454291 (825.3 Mb) TX bytes:865454291 (825.3 Mb)
Client TNSNAMES.ORA
======================================================
# tnsnames.ora Network Configuration File: C:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLE10G =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DEV10G)
PRDSRR =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = dev10g)
Client SQLNET.ORA
======================================================
# sqlnet.ora Network Configuration File: C:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (EZCONNECT, TNSNAMES)
Server TNSNAMES.ORA
======================================================
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.1.0/db_1/n
etwork/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DEV10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = attila.n3kje.net)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DEV10G)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
Server LISTENER.ORA
======================================================
# listener.ora Network Configuration File: /u01/app/oracle/product/10.1.0/db_1/n
etwork/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
(PROGRAM = extproc)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = attila.n3kje.net)(PORT = 1521))
Results from the TNSPING command issued at the client
=================================================================
C:\>tnsping prdsrr
TNS Ping Utility for 32-bit Windows: Version 10.1.0.2.0 - Production on 02-APR-2
004 09:26:11
Copyright (c) 1997, 2003, Oracle. All rights reserved.
Used parameter files:
C:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.1.10)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = dev10g)))
TNS-12541: TNS:no listener
C:\>tnsping oracle10g
TNS Ping Utility for 32-bit Windows: Version 10.1.0.2.0 - Production on 02-APR-2
004 09:26:38
Copyright (c) 1997, 2003, Oracle. All rights reserved.
Used parameter files:
C:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.1.10)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVI
CE_NAME = DEV10G)))
TNS-12541: TNS:no listener
C:\>
Trying to connect to the database from the server
==================================================
[oracle@attila bin]$ echo $ORACLE_SID
DEV10G
[oracle@attila bin]$ ./sqlplus system
SQL*Plus: Release 10.1.0.2.0 - Production on Fri Apr 2 12:22:29 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Pr
oduction
With the Partitioning, OLAP and Data Mining options
[oracle@attila bin]$ ./sqlplus system@dev10g
SQL*Plus: Release 10.1.0.2.0 - Production on Fri Apr 2 12:23:09 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Enter password:
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
tnsping issued at the server
======================================================
[oracle@attila bin]$ tnsping dev10g
TNS Ping Utility for Linux: Version 10.1.0.2.0 - Production on 02-APR-2004 12:3
:44
Copyright (c) 1997, 2003, Oracle. All rights reserved.
Used parameter files:
/u01/app/oracle/product/10.1.0/db_1/network/admin/sqlnet.ora
TNS-03505: Failed to resolve name
What am I doing wrong?
Thanks
RenatoOk, I was able to succesfully connect to the database from the client. I made the following changes to the sqlnet.ora, tnsnames and listener. Here are the changes I made:
sqlnet.ora
==============================
# SQLNET.ORA Network Configuration File: /u01/app/oracle/product/9.2.0.1.0/netwo
rk/admin/sqlnet.ora
# Generated by Oracle configuration tools.
# NAMES.DIRECTORY_PATH= (EZCONNECT)
NAMES.DIRECTORY_PATH= (EXCONNECT, TNSNAMES, ONAMES, HOSTNAME)
listener.ora
==============================
# listener.ora Network Configuration File: /u01/app/oracle/product/10.1.0/db_1/n
etwork/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = DEV10G)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
(SID_NAME = DEV10G)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
tnsnames.ora
===========================================
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.1.0/db_1/n
etwork/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DEV10G =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = DEV10G)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
Here is the new problem!
I start the dbconsole using the folowing command:
[oracle@attila bin]$ ./emctl start dbconsole
TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://attila.n3kje.net:5500/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ........................
... started.
Logs are generated in directory /u01/app/oracle/product/10.1.0/db_1/attila.n3kje
.net_DEV10G/sysman/log
When I try and access it from the client I get the following error message:
"The database status is currently unavailable. It is possible that the database is in mount or nomount state. Click 'Startup' to obtain the current status and open the database. If the database cannot be opened, click 'Perform Recovery' to perform an appropriate recovery operation."
What am I doing wrong this time?
Your help would be greatly appreciated
Thanks
Renato -
Oracle 10g to 11g Upgrade - Oracle Clusterware problem
Oracle10g RAC (2 Nodes) RHEL 4 64bit
Hi All,
I have began the procedure for upgrading Oracle Clusterware to 11g. However, during the install OUI was giving me certain error messages like it couldn't transfer the OUI installlogs to node 2. Well, I kept pushing through the install and after I ran the last rootupgrade script on node 2 it gave me the following error:
Checking the existence of nodeapps on this node
Exception in thread "main" java.lang.UnsupportedClassVersionError: oracle/ops/opsctl/OPSCTLDriver (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Creating '/crs/home/install/paramfile.crs' with data used for CRS configuration
Exception in thread "main" java.lang.UnsupportedClassVersionError: oracle/ops/opsctl/OPSCTLDriver (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Failed to retrieve VIP details
Exception in thread "main" java.lang.UnsupportedClassVersionError: oracle/ops/opsctl/OPSCTLDriver (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Failed to retrieve VIP details
Setting CRS configuration values in /crs/home/install/paramfile.crs
So I ignored the error for the time being and after that I checked the status of crs and it gave me the following:
[oracle@vtl-rac2 crsd]$ crsstatus
HA Resource Target State
ora.VMRACDEV.VMRACDEV1.inst ONLINE ONLINE on vtl-rac1
ora.VMRACDEV.VMRACDEV2.inst ONLINE ONLINE on vtl-rac2
ora.VMRACDEV.db ONLINE ONLINE on vtl-rac1
ora.vtl-rac1.ASM1.asm ONLINE ONLINE on vtl-rac1
ora.vtl-rac1.LISTENER_VTL-RAC1.lsnr ONLINE ONLINE on vtl-rac1
ora.vtl-rac1.gsd ONLINE ONLINE on vtl-rac1
ora.vtl-rac1.ons ONLINE OFFLINE
ora.vtl-rac1.vip ONLINE ONLINE on vtl-rac1
ora.vtl-rac2.ASM2.asm ONLINE ONLINE on vtl-rac2
ora.vtl-rac2.LISTENER_VTL-RAC2.lsnr ONLINE ONLINE on vtl-rac2
ora.vtl-rac2.gsd ONLINE ONLINE on vtl-rac2
ora.vtl-rac2.ons ONLINE OFFLINE
ora.vtl-rac2.vip ONLINE ONLINE on vtl-rac2
So i tried to bring it back up by doing a crs_stop -all and crs_start -all and it gave me the following error:
vtl-rac1 : CRS-1019: Resource ora.vtl-rac2.ons (application) cannot run on vtl-rac1
Start of `ora.vtl-rac1.ons` on member `vtl-rac1` failed.
vtl-rac2 : CRS-1019: Resource ora.vtl-rac1.ons (application) cannot run on vtl-rac2
CRS-0223: Resource 'ora.VMRACDEV.db' has placement error.
CRS-0215: Could not start resource 'ora.vtl-rac1.ons'.
CRS-0215: Could not start resource 'ora.vtl-rac2.ons'.
I am thinking that all of this is caused by the various issues I had with the install. If I am incorrect, then please let me know. If it is true, I would like to know if there are any 11g docs on how to clean up a failed clusterware upgrade. Any advice would be greatly appreciated on any of the situations I am having.
Thank youHi Chandra,
Did CVU report any problems before the upgrade?No, there were no errors reported by CVU before the upgrade.
I don't there is note out there for cleaning 11g CRS
install...and I think can very use the 10g CRS note -
239998.1.Yeah I might have to go that way.
I have both the 11g CRS install and upgrade from 10g
to 11CRS at
http://chandradba.blogspot.com/2007/08/oracle-11g-rac-
install-on-red-hat-50.html
and
http://chandradba.blogspot.com/2008/02/oracle-10g-crs-
upgrade-to-11g-crs.html
see if it helps.Yup, your guide is very simple, clear and error proof :) That's how mine when pretty much except right around 75% I started getting these strange errors of files not being able to be transferred to node 2. Anyways, it shouldn't be a problem as none of those errors were configuration related...or else I would have a messed up cluster.
Well, I actually rebooted both machines and now the whole CRS stack is up!! So I guess I am ok. We'll just have to wait and see.
Thanks for your help Chandra...I always appreciate it.
Maybe you are looking for
-
I do have another NewTrent charger that works okay, not great, because sometimes the connection is intermittent and it keeps connecting and disconnecting over and over. So I was looking forward to trying this new charger, but Apple is blocking it fo
-
How to remove Mozilla from off my other files so I can open them?
Mozilla image is placed on all of the ext. to all my files and programs ( even in the sub-folders ). Every time I try to open a program the internet comes up. This is happening on my user account,and I have to work on my guest user account to use my
-
Hi All, Application runs perfectly fine in online mode. We have installed POS server and client on different machine. Now if we remove the network cable for testing offline mode , application hangs and need to restart the client and then application
-
I imported digital photos but cannot attach to email for send off
I do not know what happened. I imported digital photos from my Olympus into Iphoto without trouble, but when I try to send as an attachment thru email, the items cannot be opened as photos . I had no trouble in the past. What happened?
-
Hi I would like to extract data with criteria between 'J09' and 'J18'. These are hierarichical disease codes. Therefore you can have J091 to J189. This is my query below. Select * from inpatient_table where Diagnosis_code like 'J[09-18]%'; the query