UTL_FILE.FGETATTR - Different in 10g?
Hello,
We have implemented Oracle E-Business Suite in 9i environment and it is up and running for 3+ years. We are migrating to a 10g environment and currently performing an end-to-end testing.
We have a custom PL/SQL program that works perfectly in 9i environment but not so in 10g. The point of failure is UTL_FILE.FGETATTR. We use this procedure to derive the filesize and pass it to another program. In 10g, the filesize returned is NULL and so the program fails.
It would be grateful if someone let me know of any changes in the procedure between 9i and 10g.
Regards,
Bala
Thanks for the reply.
But I found the following link that specifically answers to my question.
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:3481564363142
Similar Messages
-
Dbms_lob.fileopen failed though utl_file.fgetattr works fine
Hi ,
I am using Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod.
I am working on loading MS .doc into Oracle.
I have created dir using following code:
BEGIN
EXECUTE IMMEDIATE
'CREATE OR REPLACE DIRECTORY TEST_SN1 AS'||
'''\\inecg-sdc11\XYZ_ABC2\DT-AUTOMATION\DUMMY_12LNEW''';
END;
I have verified the existence of file(Status.doc) using utl_file.fgetattr using the following code:
DECLARE
ex BOOLEAN;
flen NUMBER;
bsize NUMBER;
BEGIN
utl_file.fgetattr('TEST_SN1', 'Status.doc', ex, flen, bsize);
IF ex THEN
insert into test_msg values('File Exists');
ELSE
insert into test_msg values('File Does Not Exist');
END IF;
insert into test_msg values('File Length: ' || TO_CHAR(flen));
insert into test_msg values('Block Size: ' || TO_CHAR(bsize));
commit;
END;
the code succuessfully returns the msg 'File exists' along with the file length .
I have also tried opening the file using utl_file and dbmc_lob package+
SQL> DECLARE
2 vInHandle utl_file.file_type;
3 vNewLine VARCHAR2(250);
4 BEGIN
5 vInHandle:= utl_file.fopen('TEST_SN1', 'Status.doc', 'R');
6 utl_file.fclose(vInHandle);
7 END;
8 /
PL/SQL procedure successfully completed.
But the following code still produces error ORA-22288:+
This is what the output was:
SQL> declare
2 l_bfile bfile;
3 begin
4 l_bfile := bfilename( 'TEST_SN1', 'Status.doc' );
5 dbms_lob.fileopen( l_bfile );
6 dbms_lob.fileclose( l_bfile );
7 end;
8 /
declare
ERROR at line 1:
ORA-22288: file or LOB operation FILEOPEN failed
ORA-06512: at "SYS.DBMS_LOB", line 523
ORA-06512: at line 5
Even though the file exists and Oracle is able to identify the file, I cant figure out what is
stopping my code to open that file.
Please help me to figure out the problem.
For more undertstanding ,You can also refer the my conversation with Tom Kyte at following link:
http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:636223754581#2815252100346024210
Thanks a million tons!
Regards
Saurabh Nolakha,
BangaloreHi,
Thanks for your quick response.
The file Status.doc which I am trying to access is in remote server at path *\\inecg-sdc11\XYZ_ABC2\DT-AUTOMATION\DUMMY_12LNEW* .Though the path is not mapped to the WINDOWS system where Oracle is installed but I am able to access the file(open and read) from that system.
Do you mean that I need to map the network drive to that system?*
if yes, then why UTL_FILE is working perfectly?*
Also, in my requirement, theres a high possibility that the path(of remote server) may change in future(if mapped).So ,is there any alternative for that?*
Please provide your useful suggestions
Regards
Saurabh Nolakha -
UTL_FILE.FGETATTR
I need to read a file on the DIR ( UTL_FILE_DIR = location ) , and make sure that exists, so :
1 - Situation "A"a given file name :
SQL> set serveroutput on
SQL> DECLARE
2
3 ex BOOLEAN;
4 flen NUMBER;
5 bsize NUMBER;
6
7 BEGIN
8 utl_file.fgetattr('FLATFILES', 'test.txt', ex, flen, bsize);
9
10 IF ex THEN
11 dbms_output.put_line('File Exists');
12 ELSE
13 dbms_output.put_line('File Does Not Exist');
14 END IF;
15 dbms_output.put_line('File Length: ' || TO_CHAR(flen));
16 dbms_output.put_line('Block Size: ' || TO_CHAR(bsize));
17 END fgetattr;
18 /
File Exists
File Length: 314
Block Size: 0
OK OK OK OK , no problem here ...
2 - Situation "B"No names ...
SQL> set serveroutput on
SQL>
SQL> DECLARE
2
3 ex BOOLEAN;
4 flen NUMBER;
5 bsize NUMBER;
6
7 BEGIN
8 utl_file.fgetattr('FLATFILES', '*.txt', ex, flen, bsize);
9
10 IF ex THEN
11 dbms_output.put_line('File Exists');
12 ELSE
13 dbms_output.put_line('File Does Not Exist');
14 END IF;
15 dbms_output.put_line('File Length: ' || TO_CHAR(flen));
16 dbms_output.put_line('Block Size: ' || TO_CHAR(bsize));
17 END fgetattr;
18 /
File Does Not Exist
File Length: 0
Block Size: 0
Ups... can't search by extension ...
Please any Ideias ...UTL_FILE can only work with named files. It is not intended to work with OS directories. This is a good situation to use a Java Stored Procedure. The inestimable Mr Kyte has an example on his AskTom web site.
Cheers, APC -
Utl_file.fgetattr not working in Oracle Reports
Hi there,
I try to use the utl_file.fgetattr function in an Oracle Report program unit as below, but it returns that the file does not exist. However executing it in TOAD or SQL Developer it return that the file exists.
utl_file.fgetattr('directory', 'filename.ext', v_exists, v_length, v_blocksize);
IF v_exists THEN
srw.message(100, 'The file exists.');
ELSE
srw.message(100, 'The file does not exist.');
END IF;
What could be the problem?
Thanks in advance!
Edited by: user13428604 on 2012.02.13. 9:26You have to use utl_file inside the database. So, move your code to a stored procedure and call that procedure from Reports.
-
Materialized View UNION different tables 10g.
I am trying to create a materialized view from 2 different tables. According the documentation for 10G it should be available.
Here is my script.
DROP MATERIALIZED VIEW PERSON_MV_T16;
CREATE MATERIALIZED VIEW PERSON_MV_T16 refresh complete on demand
AS
SELECT
CAST(P.MARKER AS VARCHAR2(4)) AS MARKER,
P.ROWID P_ROW_ID,
CAST(P.ACTIVE_IND_DT AS DATE) AS ACTIVE_IND_DT
FROM PERSON_ORGS_APEX_MV P
UNION
SELECT
CAST(P.MARKER AS VARCHAR2(4)) AS MARKER,
P.ROWID P_ROW_ID,
CAST(P.ACTIVE_IND_DT AS DATE) AS ACTIVE_IND_DT
FROM PERSON_ORGS_APVX_MV P
delete from mv_capabilities_table;
begin
dbms_mview.explain_mview('PEOPLE.PERSON_MV_T16');
end;
select *
from mv_capabilities_table where capability_name not like '%PCT%' and capability_name = 'REFRESH_FAST_AFTER_INSERT';
I get the following error.
CAPABILITY_NAME = REFRESH_FAST_AFTER_INSERT
POSSIBLE = N
MSGTEXT = tables must be identical across the UNION operator
I wrapped them in CAST operations just to be sure they are the same type and size.As far as I'm aware, you can create MV in standard and also there is no limitation that I'm aware off
Standard and Enterprise Edition
A. Basic replication (MV replication)
\- transaction based
- row-level
- asynchronous from master table to MV (Materialized View)
- DML replication only
- database 7 / 8.0 / 8i / 9i / 10g
Variants:
1. Read-only MV replication
2. Updateable MV replication:
2.1 asynchronous from MV to master
2.2 synchronous from MV to master
3. Writeable MV replication
Enterprise Edition only
B. Multimaster replication
\- transaction based
- row-level or procedural
- asynchronous or synchronous
- DML and DDL replication
- database 7 / 8.0 / 8i / 9i / 10g
- Enterprise Edition only
Variants:
1. row-level asynchronous replication
2. row-level synchronous replication
3. procedural asynchronous replication
4. procedural synchronous replication
C. Streams replication
(Standard Edition 10g can execute Apply process)
\- (redo) log based
- row-level
- asynchronous
- DML and DDL replication
- database 9i / 10g (10g has Down Streams Capture) -
Forms HOST command no longer works after database upgrade from 10g to 11g
Hi,
After upgrading the database 10g to 11g the forms HOST command no longer works on Unix server. The form used to work fine prior the upgrade. I read all the threads I could find and did not see any solutions. Adding PATH and LD_LIBRARY_PATH does not work because it does not even run a basic shell script. (I saw this solution, adding PATH and LD_LIBRARY_PATH, in many questions / threads).
1. I wouldn't expect the database upgrade to be an issue, but it is the only change we had.
2. Note, 11g is Oracle Fusion Middleware which is quite a bit different than 10g.
I even tried the most basic commands like "echo" which is a build-in Unix command and there is no directory for it (ie. no /usr/bin - so variable PATH is irrelvent). i.e HOST('echo hi'); and HOST('echo "hi" '); and even HOST ('echo hi > /my_file.txt'); all returns FORMS_FAILURE (actually the if is IF FORM_SUCCESS THEN ... else ... and the else part always runs now - whereas it didn't before.).
Or basic commands like /usr/bin/ls as in HOST(/usr/bin/ls). At that point I was just testing the Unix command would return FORM_SUCCESS even though I could not see the results (because they weren't writing to a log file). Notice that I'm using the direct path /usr/bin so no Unix environment variables were needed.
The form does use webutil but that part works. For example, we have webutil_file_transfer( ....) The file shows up on the application server and in the expected directory.
Here's the main goal. Upload a file from clients local PC to the datebase server. The form uploads the file to the Application server, then we have a Unix script to scp (secure copy) the file from the application server to the database server. IF webutil, or any other Oracle functions could put the file on the database server that would be better. But, I don't know of any procedures that do that - or would have done it cleanly (i.e. storing to database and write back to server and then using a blob etc. )
Anyway, I was hoping someone would help with either of these.
1) Get the HOST command to work. - If we can get that to work then I wouldn't need any more help. We can just call the already existing Unix script to copy the file from the application server to the database.
2) OR be able to upload directly to the database server - wanted to do that originally
Any help would be appreciatedSolution for those interested and for anyone else searching this forum for a solution
I found this on My Oracle Support:
<h3>Host Command from Forms Not Working in 11g in Sun Solaris Sparc OS [ID 1157346.1]</h3>
Applies To: Oracle Forms - Version 11.1.1.1.0 and later
Sun SPARC Sun OS
Symptoms:
When trying to execute a Shell script or any OS command using the host() Built-in from Forms 11g, the host()command is not getting executed. The same functionality works on other operating systems and in previous versions like 10gR2.
Steps to be followed:
1) Take a backup and edit the $DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.1/config/default.env or any custom environment file.
2) Locate the following environment variable:
LD_PRELOAD=/ora10gas/app/11.1.0/Middleware/as_1/jdk/jre/lib/sparcv9/libjsig.so
3) Comment out this variable. After the changes, it will look like the following:
#LD_PRELOAD=/ora10gas/app/11.1.0/Middleware/as_1/jdk/jre/lib/sparcv9/libjsig.so
3) a) Instead of LD_PRELOAD, kindly use LD_PRELOAD_64 as given below :
LD_PRELOAD_64=/ora10gas/app/11.1.0/Middleware/as_1/jdk/jre/lib/sparcv9/libjsig.so
(This makes HOST AND RUN_REPORT_OBJECT work fine).
4) Save the file and execute your forms. The Host() built-in will work as expected
The LD_PRELOAD setting in default.env is only required for the working of signal chaining facility in JVM version 1.5 and later. If you are not using theSignal chaining facility, this variable is not required. For more information, refer to the following documentation
http://download.oracle.com/docs/cd/E14571_01/doc.1111/e14772/forms.htm#CJAJGAFF -
"ORA-01704: string literal too long" in Oracle 10g
I would like to explain my problem with an example, let's create the following table:
CREATE TABLE longtest
(text LONG);
I have to insert lots of data into this table and when I run this command:
INSERT INTO LONGTEST VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
..................more than 4000 characters..................
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
I get the following error:
ORA-01704: string literal too long
To workaround this, I used bind variables, like this:
BEGIN
EXECUTE IMMEDIATE 'INSERT INTO LONGTEST VALUES (:a) '
using
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
..............(repeat more than 32768 characters)..............
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
COMMIT;
END;
This worked fine with Oracle 9.2.0.4 but when I do the same thing
in Oracle 10.2.0.2 there is a 32768 characters limit.
I am planning to upgrade the database but I need a workaround for
this, anyone knows why Oracle behaves differently in 10g??So, I wonder if anyone can explain why the following code works fine in Oracle 9.2.0.4 but not in Oracle 10.2.0.2:
CREATE TABLE longtest
(text LONG);
BEGIN
EXECUTE IMMEDIATE 'INSERT INTO LONGTEST VALUES (:a) '
using
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
..............(repeat more than 32768 characters)..............
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
COMMIT;
END;
Regards,
Cassiano -
Little help needed on utl_file
Hi
I am trying to write a small stored procedure for recording some information to a text file, and I need a little help. However, beforehand, let me give you what I have done:
procedure create_record (order_id IN VARCHAR2) IS
l_dir VARCHAR2(10) 'c:/orders';
l_filename VARCHAR2(25) := 'orderlist';
l_datetime DATE := sysdate;
l_output utl_file.file_type;
begin
l_output := utl_file.fopen(l_dir, l_filename, 'w');
if !utl_file.fopen(l_output) THEN
utl_file.put_line(l_output, l_datetime || order_id);
utl_file.fclose(l_output);
else
utl_file.fclose(l_output);
l_output := utl_file.fopen(l_dir, l_filename, 'a');
end if;
end;
Now for questions, firstly, I am not entirely sure that the if statement for checking to see if an existing text file exists is the correct way, and would welcome some help on this, and correction.
Secondly, I need to add a second statement to the if, which if the file exists and the date on that file is the same as the system date, then to open and append some information to it, else create a new file.
Unfortunately, for me, I am not sure how to do this.
Can anyone show me how this can be done?
ThanksHope you can read my coding correctly.
ps: not tested
DECLARE
myFileExist BOOLEAN;
myFileLength NUMBER;
myFileBlockSize BINARY_INTEGER;
myText VARCHAR2(1000):= NULL;
myInstr NUMBER;
l_dir VARCHAR2(10) 'c:/orders';
l_filename VARCHAR2(25) := 'orderlist';
l_datetime DATE := trunc(sysdate);
l_output utl_file.file_type;
BEGIN
utl_file.fgetattr(l_dir, l_filename, myFileExist, myFileLength, myFileBlockSize);
if not myFileExist then -- file not exist
<ul>l_output := utl_file.fopen(l_dir, l_filename, 'w');
utl_file.put_line(l_output, l_datetime || order_id);</ul>
else --file exist
<ul>
l_output := utl_file.fopen(l_dir, l_filename, 'r');
LOOP
<ul>
--------------------------------------------------------------------start loop
UTL_FILE.GET_LINE(l_output,myText) ;
SELECT instr(UPPER(myText),UPPER(trunc(SYSDATE))) into myInstr FROM dual;
IF myText IS NULL THEN
<ul>
EXIT;
</ul>
END IF;
if myInstr > 0 then
<ul>
utl_file.fclose(l_output);
l_output := utl_file.fopen(l_dir, l_filename, 'a');
</ul>
else
<ul>
utl_file.fclose(l_output);
l_filename:='newfilename';
l_output := utl_file.fopen(l_dir, l_filename, 'w');
</ul>
end if;
--------------------------------------------------------------------end loop
</ul>
END loop;
utl_file.put_line(l_output, l_datetime || order_id);
</ul>
end if;
utl_file.fclose(l_output);
END;
Edited by: Lie Ching Te on 12-Feb-2010 12:34 PM
Edited by: Lie Ching Te on 12-Feb-2010 1:01 PM -
Problem in importing data in oracle 10g from 9i backup
Hi ,
Am trying to import data in oracle 10g..but it does not importing constraints, and stop doing anything by the msg.
About to enable constraints.....
after this msg it does not work.
plz help,
Regards,
NehaHi Neha,
You have a lot of options. I'll supose you can test first, and you're using an export file.
First forget about the data, think in your database structure. So you can do this:
exp userid=... file=exp_norows.dmp full=y rows=n statistics=none
Now you have the structure of your database. Create the database, in 10g, empty, check you have all filesystem, etc. for you new datafiles. And do the import with parameter ignore=y, you'll see a lot off errors on SYSTEM schema, don't worry about it.
Now you have the structure of you database in 10g. You can take a look in the import log file, looking for some possible errors come from your schemas. so check the objects, and check the schemas.
Bear in mind things like CONNECT role in 9i it's different in 10g, you can't create db_links in 10g with "IDENTIFIED BY VALUES" because you'll get an ORA-00600, etc.
Well, fix all problems on source database (9i) and repeate this procedure until you don't recieve any more errors (not a SYSTEM schema errors).
When you have everything solved, you can try to import the data.
I hope, this method can help you. If you have any problem do not hesitate to ask me.
John Ospino Rivas -
Change directory path dynamically using UTL_FILE
I have a directory TEST_DIR which points to /test/files/
CREATE OR REPLACE PROCEDURE file_exist (v_country in varchar2) is
v_check_file_exist BOOLEAN;
v_dir VARCHAR2 (256) := 'TEST_DIR';
begin
UTL_FILE.fgetattr (V_DIR || V_COUNTRY,'file123' ||'.txt', v_check_file_exist, v_a,v_b);
IF NOT v_check_file_exist THEN
DBMS_OUTPUT.put_line (TO_CHAR(from_date,'YYYYMMDD')||'.rds');
END IF;
END LOOP;
I would like to change the directory path based on the country which is passed as input to the procedure
exec file_exist('IND'), so in this case I want the procedure to look for file 'file123.txt' under path /test/files/IND.
But this is not working..
But when I change the directory to
create or replace directory TESTDIR as '/test/files/IND' and then change my UTL_FILE.fgetattr (V_DIR,'file123' ||'.txt', v_check_file_exist, v_a,v_b)(removing || v_country, this time it works.
am trying this as I have many country folders under the path like
/test/files/IND
/test/files/USA
/test/files/AFR
and want to change the direcotry path dynamically according to input given.
Any suggestionsMake sure that the directories you are trying to write to have been set up for UTL_FILE.
Refer to UTL_FILE_DIR parameter or CREATE DIRECTORY privilege depending on what DB version you are on.
HTH
--Johnnie -
Can Not Download Oracle Database 10g Express Edition Beta Release
When I try to download the 10g Express Edition, I can not get past the License page! After I answer all the questions and hit Accept, the Download page comes up for about three seconds, then it reverts to the License page. This happens constantly on Netscape 7.2, FireFox1.0, and IE 6.
I am experiencing the same problem. Have tried different browsers and also downloading different versions (10g enterprise, 9i).
-
Utl_file how to start reading from a certain position?
Hi all,
i'm currently using utl_file to read a text file and import to db. i have managed to do it. however i would like to avoid reading the first line as it is the header. i would also like to avoid the last line as it is the footer.
how do i use the function of get line to start reading at a certain position? i am also able to get the length but i do not know how to make it start reading from a certain position.
the length of the first line will always be 9 and length for the last line would be 51.
here's my code so far:
set serveroutput on
declare
vSFile utl_file.file_type;
vNewLine VARCHAR2(4000);
file_name VARCHAR2(200) := 'read.txt';
v_exist BOOLEAN;
v_length number;
blocksize NUMBER;
temp_value varchar2 (4000);
BEGIN
vSFile := utl_file.fopen('MYDIR', file_name,'r');
IF utl_file.is_open(vSFile) THEN
LOOP
BEGIN
utl_file.get_line(vSFile, vNewLine);
IF vNewLine IS NULL THEN
EXIT;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
EXIT;
END;
END LOOP;
UTL_FILE.FGETATTR('MYDIR',file_name,v_exist,v_length,blocksize);
dbms_output.put_line(v_length);
COMMIT;
END IF;
utl_file.fclose(vSFile);
END read_demo;Hi,
utl_file has an fseek procedure for moving the file pointer around in a file, either absolute or relative number of bytes.
It's in the documentation, I'm surprised you didn't see it there when you looked before going to the hassle of asking us a question.
Andre -
Same query returns differenent result sets in oracle 9i and 10g
Could anyone please clarify the issue i am having on a query. I have query that is returning around 2000 records in oracle db 9.2.0.8.0, at the same time with same data if run on 10.2.0.1.0 is returning only 12 records.
what might be the reason for this descrepancy, is something in 9i is considered differently in 10g?
Here is the query.
SELECT
0
,ot_req_head.rh_sys_id
,ot_req_head.rh_comp_code
,ot_req_head.rh_txn_code
,ot_req_head.rh_no
,ot_req_head.rh_appr_uid
,'Action to be taken' action
,ot_req_head.rh_appr_dt
,NULL AUTH_TO_UID
,NULL
,NULL
,NULL from_remarks
,NULL
,NULL
,'REQ'
,ot_req_head.rh_amd_no
,ot_req_head.rh_amd_dt
,ot_req_head.rh_cr_uid
,DECODE(ot_req_head.rh_charge_area_num,6,ot_req_head.rh_locn_code,1,ot_req_head.rh_charge_code,NULL)
,ot_req_head.rh_cr_dt
,NULL
FROM
orioni.om_txn_setup,
orioni.ot_req_head,
iscoit.isco_txn_auth,
SELECT DISTINCT rh_sys_id
FROM orioni.pending_mr
)pending_mr
WHERE
ot_req_head.rh_txn_code=txns_txn_code
AND
auth_comp_code(+)=ot_req_head.rh_comp_code
AND
auth_action_to_type(+) IS NULL
AND
auth_head_sys_id(+)=ot_req_head.rh_sys_id
AND
auth_txn_code(+)=ot_req_head.rh_txn_code
AND
ot_req_head.rh_clo_status IS NULL
AND
ot_req_head.rh_comp_code='001'
AND
txns_txnp_code='PURREQ'
AND
txns_values='N'
AND
ot_req_head.rh_appr_status=3
AND
ot_req_head.rh_sys_id = pending_mr.rh_sys_id
AND NOT EXISTS
SELECT 'X'
FROM
iscoit.isco_txn_auth A
WHERE
a.auth_head_sys_id = isco_txn_auth.auth_head_sys_id
AND
a.auth_action_from_uid = ot_req_head.rh_appr_uid
AND
a.auth_action_from_type = 'Action to be taken'
AND
a.auth_action_from_dt = ot_req_head.rh_appr_dt
AND
NVL(a.auth_txn_amend_no,0) = NVL(ot_req_head.rh_amd_no,0)
AND
a.auth_action_to_type = 'REJECT'
AND
ot_req_head.rh_cr_dt > TO_DATE('16-MAR-2008','DD-MON-YYYY')
Edited by: unus on Oct 19, 2009 3:56 AM
Edited by: unus on Oct 19, 2009 4:18 AMHere's what I got on 9i and 10G:
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production
SQL> CREATE TABLE T_1(VAL1 NUMBER,VAL2 VARCHAR2(10));
Table created.
SQL> CREATE TABLE T_2(VAL1 NUMBER,VAL2 VARCHAR2(10));
Table created.
SQL> INSERT INTO T_1 VALUES(1,'FIRST');
1 row created.
SQL> INSERT INTO T_1 VALUES(2,'SECOND');
1 row created.
SQL> INSERT INTO T_2 VALUES(1,'FIRST');
1 row created.
SQL> INSERT INTO T_2 VALUES(2,'SECOND');
1 row created.
SQL> INSERT INTO T_1 VALUES(3,'THIRD');
1 row created.
SQL> INSERT INTO T_1 VALUES(4,'FOURTH');
1 row created.
SQL> INSERT INTO T_1 VALUES(5,'FIFTH');
1 row created.
SQL> commit;
Commit complete.
SQL> SELECT A.VAL1,B.VAL1 FROM
2 T_1 A,T_2 B
3 WHERE A.VAL1=B.VAL1;
VAL1 VAL1
1 1
2 2
SQL> SELECT A.VAL1,B.VAL1 FROM
2 T_1 A,T_2 B
3 WHERE A.VAL1=B.VAL1(+);
VAL1 VAL1
1 1
2 2
3
4
5
SQL> SELECT A.VAL1,B.VAL1 FROM
2 T_1 A,T_2 B
3 WHERE A.VAL1=B.VAL1(+)
4 AND
5 NOT EXISTS (SELECT 'X' FROM t_2 C WHERE c.val1=b.val1);
VAL1 VAL1
3
4
5
SQL> select name, value from v$parameter where name like '%optimizer%' or name like '%cursor_sharing
NAME VALUE
cursor_sharing EXACT
optimizer_features_enable 9.2.0
optimizer_mode CHOOSE
optimizer_max_permutations 2000
optimizer_index_cost_adj 100
optimizer_index_caching 0
optimizer_dynamic_sampling 1
-- 10G
Verbonden met:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> SELECT A.VAL1,B.VAL1 FROM
2 T_1 A,T_2 B
3 WHERE A.VAL1=B.VAL1;
VAL1 VAL1
1 1
2 2
SQL> SELECT A.VAL1,B.VAL1 FROM
2 T_1 A,T_2 B
3 WHERE A.VAL1=B.VAL1(+);
VAL1 VAL1
1 1
2 2
5
4
3
SQL> SELECT A.VAL1,B.VAL1 FROM
2 T_1 A,T_2 B
3 WHERE A.VAL1=B.VAL1(+)
4 AND
5 NOT EXISTS (SELECT 'X' FROM t_2 C WHERE c.val1=b.val1);
VAL1 VAL1
3
4
5( Please use the tag before and after your example, so we're sure we're looking at your complete example ) -
Dear Frineds
previously i am usning 10g rt now i have installed 11g
can u tell me the exact differance between 10g and 11g
how can i find this practilcally,
thanksArbar Mehaboob - user553581 wrote:
how can i find this practilcally,At http://tahiti.oracle.com are a few manuals.
At the beginning of (almost) every manual is a "What's New" section that describes the practical differences for specific features from the previous version. There is also one that provides some high level information, called the "New Features Guide" that provides some high level information about newly introduced features, but doesn't dig much into details of changed features.
So 'practically', you as DBA or Developer need to understand which features you are using and spend some time reading the manuals to understand what has changed.
Since Oracle has literally thousands of individual features, and since you are responsible for a subset of those in production, it might not be a bad idea to become familiar with them. ;-) -
How to Configure the system to use an firm's accepted warning banner in 10g
Hello.
I need to configure the system (oracle 10.2) to use an firm's accepted warning banner. I was able to do it in version 11 by putting entries in sqlnet.ora file. It then displayed when connectting as user (sys, system). I tried the same with 10.2 version and it doesnt display. Do i need to do anything different in 10g. I could not find the lead on googling it.
I used theses entries in sqlnet.ora for 11g
SEC_USER_UNAUTHORIZED_ACCESS_BANNER = <path>\banner2.txt
SEC_USER_AUDIT_ACTION_BANNER = <path>\banner.txt
Do we have to do differenetly in 10g. please help
Thank you very muchmaggie wrote:
Thanks for responding. Is there a way to create a banner in 10.2 version of oracle. I need to didpaly it as part of checklist i am working on for 10g.
ThanksUnfortunately, auditors and security nazis dream up "requirements" without ever considering the capabilities and limitations of the selected technology. A lot of these guys get their technical knowledge from American Airlines Magazine when they get tired of reading the SkyMall catalog.
Sometimes you just have to document the exception, get a manager's signature, and keep it on file.
Maybe you are looking for
-
Comprehensive integration approach for photos across multiple computers?
Hi All-- I've been wading through the discussion boards and have multiple partial pieces of info. However, I am looking for a state-of-the-art solution to an old problem because I want to integrate all of my photos onto a single drive and (probably)
-
Need urgent help on JTable and cell
Hi, I've got problem in validating the cell in Table. If user enters data in a cell i would like to validate the data in cell and if it is wrong i would like to give a dialog and keep the cursor in the same cell. So that i can restrict the user to en
-
Help on Radio Buttons - Retreiving the value in a Servlet
I am trying to use a Servlet to get values of list of Radio buttons in from a JSP. The problem is that I am getting a "null" My JSP has the following: <form name="AddNewClient" action="AddNewClient" method="POST"> <input type="radio" name="TypeOfBusi
-
My Iphone 5 is off by at least 15 or 20 minutes for periods throughout the day. Seems like when connected to LTE. Corrects itself periodically. This makes my calendar and appointments unreliable at best and useless at worst. If I switch LTE off s
-
Nokia Messaging - Broken; Default Nokia email clie...
I've had the e65, e71 and now the N97. Great phones, they just can't do email. So, first I want to congratulate the idiot product manager at nokia that thought that removing support for IMAP IDLE in the default Nokia email client would make the Nok