ROWID in Oracle 10g XE
Hello! I've just installed Oracle 10g XE and I've noticed that ROWID pseudocolumn is null for the rows in the test table that I've created. Does that mean that ROWID is not implemented in this edition. Will it be supported in production releases?
My mistake. I was looking at the wrong column
Similar Messages
-
What is the major change of using ROWID from 9i to 10g?
For tables in a default "smallfile" tablespace the rowid format has not changed. The rowid format does change for tables stored in the new "bigfile" tablespace.
A bigfile tablespace has only one file and the relative file number is always the same (1024 on most platforms).
The dbms_utility procedures DATA_BLOCK_ADDRESS_FILE and DATA_BLOCK_ADDRESS_BLOCK should not be used with bigfiles.
The dbms_rowid package has been modified and several of its routines accept "bigfile" as a parameter. But you have to identify the input rowid is for a bigfile to get back correct results.
HTH -- Mark D Powell -- -
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 -
Procedure execution time difference in Oacle 9i and Oracle 10g
Hi,
My procedure is taking time on
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 is 14 min.
same procedure is taking time on oracle Release 9.2.0.1.0 is 1 min.
1) Data is same in both environment.
2) Number of records are same 485 rows for cursor select statement.
3)Please guide me how to reduce the time in oracle 10g for procedure?
i have checked the explain plan for that cursor query it is different in both enviroment.
so i have analysis that procedure is taking time on cursor fetch into statement in oracle 10g.
example:-
create or replace procedure myproc
CURSOR cur_list
IS select num
from tbl
where exist(select.......
EXECUTE IMMEDIATE 'ALTER SESSION SET SQL_TRACE = TRUE';
EXECUTE IMMEDIATE 'ALTER SESSION SET TIMED_STATISTICS = TRUE';
OPEN cur_list;
LOOP
FETCH cur_list INTO cur_list; -----My procedure is taking time in this statement only for some list number. there are 485 list number.
end loop;
TRACE file for oracle 10g is look like this:-
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.37 0.46 0 2 0 0
Fetch 486 747.07 730.14 1340 56500700 0 485
total 488 747.45 730.60 1340 56500702 0 485
ORACLE 9i EXPLAIN PLAN FOR cursor query:-
Plan
SELECT STATEMENT CHOOSECost: 2 Bytes: 144 Cardinality: 12
18 INDEX RANGE SCAN UNIQUE LISL.LISL_LIST_PK Cost: 2 Bytes: 144 Cardinality: 12
17 UNION-ALL
2 FILTER
1 TABLE ACCESS FULL SLD.P Cost: 12 Bytes: 36 Cardinality: 1
16 NESTED LOOPS Cost: 171 Bytes: 141 Cardinality: 1
11 NESTED LOOPS Cost: 169 Bytes: 94 Cardinality: 1
8 NESTED LOOPS Cost: 168 Bytes: 78 Cardinality: 1
6 NESTED LOOPS Cost: 168 Bytes: 62 Cardinality: 1
4 TABLE ACCESS BY INDEX ROWID SLD.L Cost: 168 Bytes: 49 Cardinality: 1
3 INDEX RANGE SCAN UNIQUE SLD.PK_L Cost: 162 Cardinality: 9
5 INDEX UNIQUE SCAN UNIQUE SLD.SYS_C0025717 Bytes: 45,760 Cardinality: 3,520
7 INDEX UNIQUE SCAN UNIQUE SLD.PRP Bytes: 63,904 Cardinality: 3,994
10 TABLE ACCESS BY INDEX ROWID SLD.P Cost: 1 Bytes: 10,480 Cardinality: 655
9 INDEX UNIQUE SCAN UNIQUE SLD.PK_P Cardinality: 9
15 TABLE ACCESS BY INDEX ROWID SLD.GRP_E Cost: 2 Bytes: 9,447 Cardinality: 201
14 INDEX UNIQUE SCAN UNIQUE SLD.PRP_E Cost: 1 Cardinality: 29
13 TABLE ACCESS BY INDEX ROWID SLD.E Cost: 2 Bytes: 16 Cardinality: 1
12 INDEX UNIQUE SCAN UNIQUE SLD.SYS_C0025717 Cost: 1 Cardinality: 14,078
ORACLE 10G EXPLAIN PLAN FOR cursor query:-
SELECT STATEMENT ALL_ROWSCost: 206,103 Bytes: 12 Cardinality: 1
18 FILTER
1 INDEX FAST FULL SCAN INDEX (UNIQUE) LISL.LISL_LIST_PK Cost: 2 Bytes: 8,232 Cardinality: 686
17 UNION-ALL
3 FILTER
2 TABLE ACCESS FULL TABLE SLD.P Cost: 26 Bytes: 72 Cardinality: 2
16 NESTED LOOPS Cost: 574 Bytes: 157 Cardinality: 1
14 NESTED LOOPS Cost: 574 Bytes: 141 Cardinality: 1
12 NESTED LOOPS Cost: 574 Bytes: 128 Cardinality: 1
9 NESTED LOOPS Cost: 573 Bytes: 112 Cardinality: 1
6 HASH JOIN RIGHT SEMI Cost: 563 Bytes: 315 Cardinality: 5
4 TABLE ACCESS FULL TABLE SLD.E Cost: 80 Bytes: 223,120 Cardinality: 13,945
5 TABLE ACCESS FULL TABLE SLD.GRP_E Cost: 481 Bytes: 3,238,582 Cardinality: 68,906
8 TABLE ACCESS BY INDEX ROWID TABLE SLD.L Cost: 2 Bytes: 49 Cardinality: 1
7 INDEX UNIQUE SCAN INDEX (UNIQUE) SLD.PK_L Cost: 1 Cardinality: 1
11 TABLE ACCESS BY INDEX ROWID TABLE SLD.P Cost: 1 Bytes: 16 Cardinality: 1
10 INDEX UNIQUE SCAN INDEX (UNIQUE) SLD.PK_P Cost: 0 Cardinality: 1
13 INDEX UNIQUE SCAN INDEX (UNIQUE) SLD.SYS_C0011870 Cost: 0 Bytes: 13 Cardinality: 1
15 INDEX UNIQUE SCAN INDEX (UNIQUE) SLD.PRP Cost: 0 Bytes: 16 Cardinality: 1
so Please guide me how to reduce the time in oracle 10g for procedure?
1) Is this envrionment setting parameter?
2) I have to tune the query? but which is executing fine on oracle 9i?
so how to decrease the execution time?
Thanks in advance.SELECT l_nr
FROM x.ls b
WHERE b.cd = '01'
AND b.co_code = '001'
AND EXISTS (
SELECT T_L
FROM g.C
WHERE C_cd = '01'
AND C_co_code = '001'
AND C_flg = 'A'
AND C_eff_dt <= sysdate
AND C_end_dt >=
sysdate
AND C_type_code <> 1
AND C_type_code <> 1
AND targt_ls_type = 'C'
AND T_L <> 9999
AND T_L = b.l_nr
UNION ALL
SELECT l.T_L
FROM g.C C,
g.ep_e B,
g.ep ep,
g.e A,
g.lk_in l
WHERE l.cd = '01'
AND l.co_code = '001'
AND l.cd = C.C_cd
AND l.co_code = C.C_co_code
AND l.C_nbr = C.C_nbr
AND l.targt_ls_type = 'C'
AND lk_in_eff_dt <=
sysdate
AND lk_in_end_dt >=
( sysdate
+ 1
AND ( (logic_delte_flg = '0')
OR ( logic_delte_flg IN ('1', '3')
AND lk_in_eff_dt <> lk_in_end_dt
AND l.cd = ep.C_cd
AND l.co_code = ep.C_co_code
AND l.C_nbr = ep.C_nbr
AND l.ep_nbr = ep.ep_nbr
AND l.cd = A.e_cd
AND l.co_code = A.e_co_code
AND l.e_nbr = A.e_nbr
AND l.cd = B.cd
AND l.co_code = B.co_code
AND l.C_nbr = B.C_nbr
AND l.ep_nbr = B.ep_nbr
AND l.e_nbr = B.e_nbr
AND l.ep_e_rev_nbr = B.ep_e_rev_nbr
AND B.flg = 'A'
AND EXISTS (
SELECT A.e_nbr
FROM g.e A
WHERE A.e_cd = B.cd
AND A.e_co_code = B.co_code
AND A.e_nbr = B.e_nbr
AND A.e_type_code ^= 8)
AND C_type_code <> 10
AND C.C_type_code <> 13
AND l.T_L = b.l_nr)
--yes index is same -
How to delete duplicates in oracle 10g ( strange behaviour)
Recently we migrated from oracel 8i to oralce 10g and we face this problem.
When we try to delete duplicates using rowid ( analytical functions row_number()/
or normal delete ) and commit the same , still we find some duplicates to be existing because of which we are not able to enable costriants and resulting in process failure.
When we run the same delete statement next time it removes more duplicates than the required or sometimes required duplicates resulting in abnormal behaviour.
I don not understand this strange behaviour after upgrading to oracle 10g.
It'd be great if some one who has idea on this can throw light on the same.
thanksGasparotto,
Thanks a lot for letting me know a new procedure to delete duplicates sing lead function.
I've tried this code on a temp table and it worked, let me use the same query on the prodn side and test the same.
Procedure for deletion of duplicates using lead analytical function.
create table temp ( col1 number(2) , col2 number(2) , col3 number(2));
insert into temp values ( 1,2,10);
insert into temp values ( 1,2,20);
insert into temp values ( 1,2,30);
insert into temp values ( 3,2,10);
insert into temp values ( 3,4,12);
insert into temp values ( 3,4,45);
commit;
COL1 COL2 COL3
1 2 10
1 2 20
1 2 30
3 2 10
3 4 12
3 4 45
select col1,col2 , col3, LEAD(rowid) OVER (PARTITION BY col1,col2 order by null) from temp;
COL1 COL2 COL3 LEAD(ROWID)OVER(PA
1 2 10 AAAVBjAApAAAFyGAAB
1 2 20 AAAVBjAApAAAFyGAAC
1 2 30
3 2 10
3 4 12 AAAVBjAApAAAFyGAAF
3 4 45
6 rows selected.
select rowid , temp.* from temp ;
ROWID COL1 COL2 COL3
AAAVBjAApAAAFyGAAA 1 2 10
AAAVBjAApAAAFyGAAB 1 2 20
AAAVBjAApAAAFyGAAC 1 2 30
AAAVBjAApAAAFyGAAD 3 2 10
AAAVBjAApAAAFyGAAE 3 4 12
AAAVBjAApAAAFyGAAF 3 4 45
SQL> DELETE temp
WHERE rowid IN
( SELECT LEAD(rowid) OVER (PARTITION BY col1, col2 ORDER BY null)
FROM temp ); 2 3 4
3 rows deleted.
SQL> select rowid , temp.* from temp ;
ROWID COL1 COL2 COL3
AAAVBjAApAAAFyGAAA 1 2 10
AAAVBjAApAAAFyGAAD 3 2 10
AAAVBjAApAAAFyGAAE 3 4 12
Thanks for the reply -
I have following queries to be solved please help me out....
1) Difference / Limitation of Oracle Standard Edition / Enterprise Edition 10..... latest ?
2) Can Data of Oracle 8. ..... Expo File will be Imported to 10....... latest ?
If not than what steps we have to take. Basically I would like my current DB of 8 to be moved to 10G
3) From which AIX Ver Oracle 10 ...... is Supported ?
4) if the customer has 8... Ver Lic When if goes for New Ver than media will have full Ver or only Upgrade files. ?
5) If the Customer has Old ver Lic and he goes for upgrade Lic Than we have to first Install Old Lic Ver & than Upgrade or directly we can load Latest Lic Ver on New Server and work. ? What I mean is if I have to go ahead from Oracle 8 to Oracle 10G how should I go about.
6) Is Oracle Media ver Compatible for Aix ?
7) Oracle Lic Policy / Product Information Web Link ?
Thanks & Regards
Shivanand S SThis is a perfectly valid way to query the data. Here's an example on my own production tables. This one has about 300 million rows:
select *
from prod.tran_history
where tran_date >= to_date(add_months(sysdate, -2))
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 11M| 863M| 146K|
| 1 | TABLE ACCESS BY INDEX ROWID| TRAN_HISTORY | 11M| 863M| 146K|
|* 2 | INDEX RANGE SCAN | TRAN_HIST_DATE_IDX | 2144K| | 2098 |
-------------------------------------------------------------------------------------------- -
View problem in Oracle 10g migration
Hi,
I am involved in Oracle migration from 9 to 10g.
I have a problem with a view that works in Oracle 9 but in Oracle 10g raise the following error:
ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY etc.
In the view source there is a call to another view and in the last one another call to a view with a group by keyword because I need the max() column value in a table, so I need the group by keyword!!!
Any suggestion/work around to get the max() value without group by???
thanksHi,
Yes, MAX (and almost all the other aggregate functions) have analytic counterparts.
For example,
MAX (column_1) OVER (PARTITION BY column_2)calculates the same MAX that you would get with
MAX (column_1)
GROUP BY column_2But without grouping.
(I suppose you'll still want to get only one row per group in your view, but there are ways to do that without using GROUP BY.)
If you need help, post:
some sample data (from the base tables),
the output you want from that data (that is, the contents of the view), and
your existing view definition. -
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 -
Error while installing Oracle 10g on Fedora Core 1
Error while installing Oracle 10g on Fedora Core 1. After 40% of the Installation is thru, the progress bar is showing 40%, it gives error "Not connected to Oracle" and the installation has to be terminated.
We have tried by using the on-line procedure and changing the required script to make believe it as said.Are you createing DB also???
-
Error while sending a mail using UTP_MAIL package in Oracle 10g
Hi,
We are using UTP_MAIL package to send a mail from Oracle 10g.We have follwed the following steps ...
SQL> connect sys/password as sysdba
Connected.
SQL> @$ORACLE_HOME/rdbms/admin/utlmail.sql
Package created.
Synonym created.
SQL> @$ORACLE_HOME /rdbms/admin/prvtmail.plb
Package body created.
SQL > alter system set smtp_out_server = '<mail_server_ip:25>' scope =spfile;
System altered..
Now we try the code
begin
utl_mail.send(
sender => 'sender's mail',
recipients => 'receiver mail',
CC => 'optional',
subject => 'Testing utl_mail',
message => 'Test Mail'
end;
But we get the following error...
ERROR at line 1:
ORA-29278: SMTP transient error: 421 Service not available
ORA-06512: at "SYS.UTL_SMTP", line 21
ORA-06512: at "SYS.UTL_SMTP", line 97
ORA-06512: at "SYS.UTL_SMTP", line 139
ORA-06512: at "SYS.UTL_MAIL", line 405
ORA-06512: at "SYS.UTL_MAIL", line 594
ORA-06512: at line 2
We also tried connecting to the mail server through telnet .But it is not getting connected..
Please help us to solve the issue.From your own posting you may have the clue, if you try to access your mail server through telnet and it is not successful, it means the service is down or there are networking issues.
On pre 10gR2 versions there was a bug 4083461.8. It could affect you if you are on 10gR1
"Bug 4083461 - UTL_SMTP.OPEN_CONNECTION in shared server fails with ORA-29278 Doc ID: Note:4083461.8"
This was fixed on 10gR2 base and on 9.2.0.8.0
~ Madrid -
FRM-41211 Integration Error SSL - OracleAS 10g
Hi.
I have error Frm-41211 Integration Error SSL Failure Running Another Product error while calling a report from web form in oracleAS 10g.
I have problem with RUN_REPORT_OBJECT in web forms.
I have error: FRM-41211 SSL integration error .....
OracleAS server began on Windoes XP SP2.
Do you help me ?Hi,
I remember having seen this issue in teh apst. My best recommendation is to work with customer support (metalink.oracle.com)
Frank -
Stopping the Enterprise Manager Console (Oracle 10g on SuSE 9.1)
I'm trying to stop the Enterprise Manager Console by issuing the command:
${ORACLE_HOME}/bin/emctl stop dbconsole
Unfortunately, the command fails to stop the EM Console. Here's the output I get:
TZ set to US/Pacific
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://<hostname>:5505/em/console/aboutApplication
Stopping Oracle Enterprise Manager 10g Database Control ...
--- Failed to shutdown DBConsole Gracefully ---
failed.
The only way I can stop the EM Console (and related services--i.e., emagent) is to kill its process.
Everything (Listener, DB Instance, EM Console) starts fine. I can stop the Listener and DB Instance without any problems. It's just the EM Console shutdown that doesn't happen cleanly.
Has anyone else encountered the same condition? If so, what was the solution?
Here's my operating environment:
SuSE 9.1 (Kernel 2.6.5-7.108-default)
Oracle 10g
Thanks in advance for any help/insight.Has anyone else encountered the same condition? If so, what was the solution?Yes. Shutdown/reboot of the system made the error go away.
Sorry, no better clues,
Toni -
Migration from Oracle 9i 32 bit to Oracle 10G 64 bit on Windows 2003 Server
I am working on migrating Oracle 9i 32 bit to Oracle 10G 64 bit on Windows 2003 from Old server to new server. We have db around 500 GB and 3 schemas. I installed Oracle 10G on new server, created tablespaces, schema's blah blah and now doing export and import at schema level from old server to new server.
Import is taking more than 4 to 5 hours on new server. My manager is saying, window time is bit longer and he wants me to try possiblities to make this process faster. Can some one help me on this, to use the best possible method to complete this process faster?
Will below step work, if I try?
If I install, oracle 9i and 10g both on new server in different home directories and take the hot backup from old machine and restore on new machine in 9i home directory and use the upgrade configuration assistant from 10g and do the upgrade? Pls advice.
Thanks in advance,
Hari babu
Edited by: user6367891 on Mar 2, 2010 5:28 AMIt looks good.
I have one question in below steps:
To migrate an Oracle9i or older database to an Oracle Database 10g Release 1 (10.1) database for 64-bit Windows:
1 Perform steps 1 - 11 in "Migrating an Oracle Database 10g Release 1 (10.1) Database".
2 Shut down the database on the 64-bit computer:
SQL> SHUTDOWN IMMEDIATE;
3 Start the database migration:
SQL> STARTUP MIGRATE;
4 Migrate the database as described in Chapter 3, "Upgrading a Database to the New Oracle Database 10g Release" in Oracle Database Upgrade Guide.
In step 4, it says, migrate database as described in chapter 3. In chapter 3, it says, to do the upgrade the process using dbca or manually. Pls confirm whether do the upgrade process after issuing startup migrate or not.
Thanks in advance. -
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. -
Oracle 10g - Defining the column name in Non English
Hi Experts,
I have an exisitng application which is developed on Windows using ASP Technology and uses Oracle 10g 10.1.0.2.0.
The application is supported with an instance of Data Base within which multiple tablespaces are created for different clients. The application is developed in such a way that some of the tables arecreated dynamically and the columns are named using the data entered through the UI.
This application needs to be globalized now. The problem is, the column name entered through the UI can be in any language based on the client's settings and those values in turn will be used for naming the columns in the tables.
1) Can I have the column names to be named using non english characters in Oracle 10g DB? If so,
1.1) what should I do to configure the exisiting Oracle instance to support it?
1.2) To what level is that configuration possible, is it per DB instance level (or) can it be done at Tablespace level. I would like to configure each tablespace to host tables with columns defined with different languages, say for example, tablespace 1 will have tables with Japaenese column names and tablespace 2 will have tables with German column names?
2) What should I do to make my entire DB to support unicode data i.e., to accept any language strings. Currently all strings are declared as VarChar2, should I change all VarChar2 to NVarChar2 (or) is there a way to retain the VarChar2 as is and make some database wide setting?
Please note that I do not have an option of retaining the column in English as per the Business Requirement.
Envionment:
OS - Windows 2003 32 bit
Oracle 10g 10.1.0.2.0
UI forms in ASP
TIA,
Prem1. Yes, you can.
SQL> create table ÜÝÞ( ßàá number(10));
Table created.
SQL> insert into ÜÝÞ values (10);
1 row created.1.1 and 1.2 and 2. You can choose UTF as your default character set. It allows the user of non-English characters in VARCHAR columns in your whole database. It is not per tablespace.
SQL> create table ÜÝÞ( ßàá varchar2(100));
Table created.
SQL> insert into ÜÝÞ values ('âãäçìé');
1 row created.
Maybe you are looking for
-
Need help in installing Snow Leopard without DVD drive
Hi, I have a White Macbook 2008 model with 2.1 ghz processor and 1 GB Ram. The dvd rom is not working in my machine. It spits out the dvd's 99 out of 100 times. I need to upgrade from 10.5.8 to 10.6. Apple has sent me a single disk to install snow le
-
My screen on my iphone 4 stopped to work.
Hey. For a few days ago my iphone 4 started to mess with me. When i trying to lock it up (from the screensaver) im just getting a blank screen. I can see that iphone reacats and it lights up, but the screen is still blank... If i put the sound on, i
-
Center Page Title with a bullet
Here is my CSS I want my page titles to be center with a decorative bullet to the left. I would like to use css to define the bullet. but I can't get it to appear to the left of my title when the title is centered. If the title is left then I just ad
-
Hi everybody. I've just buyed a Macbook Pro with retina display, 128gb SSD and 8gb RAM. Now, I see that the using RAM is 5,6gb: the problem is that I haven't anything opened!!! Everything is on Background. Everytme I kill processes, shut down and tur
-
Hi All, I am using SAP OLAP Universe data is different for some objects when i am comparing with Cube Data with Report Data. please suggest where i went erong. Thnx In advance