"ORA-00054 Resource Busy Error" when running SQL*Loader in Parallel
Hi all,
Please help me on an issue. We are using Datastage which uses sql*loader to load data into an Oracle Table. SQL*Loader invokes 8 parallel sessions for insert on the table. When doing so, we are facing the following error intermittently:
SQL*Loader-951: Error calling once/load initialization
ORA-00604: error occurred at recursive SQL level 1
ORA-00054: resource busy and acquire with NOWAIT specifiedSince the control file is generated automatically by datastage, we cannot modify/change the options and test. Control File for the same is:
OPTIONS(DIRECT=TRUE, PARALLEL=TRUE, SKIP_INDEX_MAINTENANCE=YES)
LOAD DATA INFILE 'ora.2958.371909.fifo.1' "FIX 1358"
APPEND INTO TABLE X
x1 POSITION(1:8) DECIMAL(15,0) NULLIF (1:8) = X'0000000000000000',
x2 POSITION(9:16) DECIMAL(15,0) NULLIF (9:16) = X'0000000000000000',
x3 POSITION(17:20) INTEGER NULLIF (17:20) = X'80000000',
IDNTFR POSITION(21:40) NULLIF (21:40) = BLANKS,
IDNTFR_DTLS POSITION(41:240) NULLIF (41:240) = BLANKS,
FROM_DATE POSITION(241:259) DATE "YYYY-MM-DD HH24:MI:SS" NULLIF (241:259) = BLANKS,
TO_DATE POSITION(260:278) DATE "YYYY-MM-DD HH24:MI:SS" NULLIF (260:278) = BLANKS,
DATA_SOURCE_LKPCD POSITION(279:283) NULLIF (279:283) = BLANKS,
EFFECTIVE_DATE POSITION(284:302) DATE "YYYY-MM-DD HH24:MI:SS" NULLIF (284:302) = BLANKS,
REMARK POSITION(303:1302) NULLIF (303:1302) = BLANKS,
OPRTNL_FLAG POSITION(1303:1303) NULLIF (1303:1303) = BLANKS,
CREATED_BY POSITION(1304:1311) DECIMAL(15,0) NULLIF (1304:1311) = X'0000000000000000',
CREATED_DATE POSITION(1312:1330) DATE "YYYY-MM-DD HH24:MI:SS" NULLIF (1312:1330) = BLANKS,
MODIFIED_BY POSITION(1331:1338) DECIMAL(15,0) NULLIF (1331:1338) = X'0000000000000000',
MODIFIED_DATE POSITION(1339:1357) DATE "YYYY-MM-DD HH24:MI:SS" NULLIF (1339:1357) = BLANKS
)- it occurs intermittently. When this job runs, no one will be accessing the database or the tables.
- When we do not run in parallel, then we are not facing the error but it is very slow (obviously).
Just in case, I am also attaching the Datastage Logs:
Item #: 466
Event ID: 1467
Timestamp: 2009-06-02 23:03:19
Type: Info
User Name: dsadm
Message: main_program: APT configuration file: /clu01/datastage/Ascential/DataStage/Configurations/default.apt
node "node1"
fastname "machine_name"
pools ""
resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
node "node2"
fastname "machine_name"
pools ""
resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
node "node3"
fastname "machine_name"
pools ""
resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
node "node4"
fastname "machine_name"
pools ""
resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
node "node5"
fastname "machine_name"
pools ""
resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
node "node6"
fastname "machine_name"
pools ""
resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
node "node7"
fastname "machine_name"
pools ""
resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
node "node8"
fastname "machine_name"
pools ""
resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
Item #: 467
Event ID: 1468
Timestamp: 2009-06-02 23:03:20
Type: Warning
User Name: dsadm
Message: main_program: Warning: the value of the PWD environment variable (/clu01/datastage/Ascential/DataStage/DSEngine) does not appear to be a synonym for the current working directory (/clu01/datastage/Ascential/DataStage/Projects/Production). The current working directory will be used, but if your ORCHESTRATE job does not start up correctly, you should set your PWD environment variable to a value that will work on all nodes of your system.
Item #: 468
Event ID: 1469
Timestamp: 2009-06-02 23:03:32
Type: Warning
User Name: dsadm
Message: Lkp_1: Input dataset 1 has a partitioning method other than entire specified; disabling memory sharing.
Item #: 469
Event ID: 1470
Timestamp: 2009-06-02 23:04:22
Type: Warning
User Name: dsadm
Message: Lkp_2: Input dataset 1 has a partitioning method other than entire specified; disabling memory sharing.
Item #: 470
Event ID: 1471
Timestamp: 2009-06-02 23:04:30
Type: Warning
User Name: dsadm
Message: Xfmer1: Input dataset 0 has a partitioning method other than entire specified; disabling memory sharing.
Item #: 471
Event ID: 1472
Timestamp: 2009-06-02 23:04:30
Type: Warning
User Name: dsadm
Message: Lkp_2: When checking operator: Operator of type "APT_LUTProcessOp": will partition despite the
preserve-partitioning flag on the data set on input port 0.
Item #: 472
Event ID: 1473
Timestamp: 2009-06-02 23:04:30
Type: Warning
User Name: dsadm
Message: SKey_1: When checking operator: A sequential operator cannot preserve the partitioning
of the parallel data set on input port 0.
Item #: 473
Event ID: 1474
Timestamp: 2009-06-02 23:04:30
Type: Warning
User Name: dsadm
Message: SKey_2: When checking operator: Operator of type "APT_GeneratorOperator": will partition despite the
preserve-partitioning flag on the data set on input port 0.
Item #: 474
Event ID: 1475
Timestamp: 2009-06-02 23:04:30
Type: Warning
User Name: dsadm
Message: buffer(1): When checking operator: Operator of type "APT_BufferOperator": will partition despite the
preserve-partitioning flag on the data set on input port 0.
Item #: 475
Event ID: 1476
Timestamp: 2009-06-02 23:04:30
Type: Info
User Name: dsadm
Message: Tgt_member: When checking operator: The -index rebuild option has been included; in order for this option to be
applicable and to work properly, the environment variable APT_ORACLE_LOAD_OPTIONS should contain the options
DIRECT and PARALLEL set to TRUE, and the option SKIP_INDEX_MAINTENANCE set to YES;
this variable has been set by the user to `OPTIONS(DIRECT=TRUE, PARALLEL=TRUE, SKIP_INDEX_MAINTENANCE=YES)'.
Item #: 476
Event ID: 1477
Timestamp: 2009-06-02 23:04:35
Type: Info
User Name: dsadm
Message: Tgt_member_idtfr: When checking operator: The -index rebuild option has been included; in order for this option to be
applicable and to work properly, the environment variable APT_ORACLE_LOAD_OPTIONS should contain the options
DIRECT and PARALLEL set to TRUE, and the option SKIP_INDEX_MAINTENANCE set to YES;
this variable has been set by the user to `OPTIONS(DIRECT=TRUE, PARALLEL=TRUE, SKIP_INDEX_MAINTENANCE=YES)'.
Item #: 477
Event ID: 1478
Timestamp: 2009-06-02 23:04:41
Type: Warning
User Name: dsadm
Message: Lkp_2,6: Ignoring duplicate entry at table record 1; no further warnings will be issued for this table
Item #: 478
Event ID: 1479
Timestamp: 2009-06-02 23:04:41
Type: Warning
User Name: dsadm
Message: Tgt_member_idtfr,0: SQL*Loader-951: Error calling once/load initialization
Item #: 479
Event ID: 1480
Timestamp: 2009-06-02 23:04:41
Type: Warning
User Name: dsadm
Message: Tgt_member_idtfr,0: ORA-00604: error occurred at recursive SQL level 1
Item #: 480
Event ID: 1481
Timestamp: 2009-06-02 23:04:41
Type: Warning
User Name: dsadm
Message: Tgt_member_idtfr,0: ORA-00054: resource busy and acquire with NOWAIT specified
Item #: 481
Event ID: 1482
Timestamp: 2009-06-02 23:04:41
Type: Warning
User Name: dsadm
Message: Tgt_member_idtfr,6: SQL*Loader-951: Error calling once/load initialization
Item #: 482
Event ID: 1483
Timestamp: 2009-06-02 23:04:41
Type: Warning
User Name: dsadm
Message: Tgt_member_idtfr,6: ORA-00604: error occurred at recursive SQL level 1
Item #: 483
Event ID: 1484
Timestamp: 2009-06-02 23:04:41
Type: Warning
User Name: dsadm
Message: Tgt_member_idtfr,6: ORA-00054: resource busy and acquire with NOWAIT specified
Item #: 484
Event ID: 1485
Timestamp: 2009-06-02 23:04:41
Type: Fatal
User Name: dsadm
Message: Tgt_member_idtfr,6: The call to sqlldr failed; the return code = 256;
please see the loader logfile: /clu01/datastage/Ascential/DataStage/Scratch/ora.23335.478434.6.log for details.
Item #: 485
Event ID: 1486
Timestamp: 2009-06-02 23:04:41
Type: Fatal
User Name: dsadm
Message: Tgt_member_idtfr,0: The call to sqlldr failed; the return code = 256;
please see the loader logfile: /clu01/datastage/Ascential/DataStage/Scratch/ora.23335.478434.0.log for details.
Similar Messages
-
Adding default constraint causes ORA-00054: resource busy
Hi,
i ran a script and got error below. Why am i getting error "ORA-00054: resource busy" when adding a default constraint to table? On other evironments such error didn't occure, only in particualr special one the error occured.
Is it possible that table has too much traffic/locks i nthat environment? How can i rewrite my script?
Should i instal lthe script in OFFLINE mode?
In Oracle 11g, Linux Os i runned such script (in Online mode, system not offline):
ALTER TABLE Casino.Physicaltables ADD WinnerListEnabled NUMBER(1);
COMMENT ON COLUMN Casino.Physicaltables.WinnerListEnabled IS '<BOOLEAN> Defines if winner list is turned on or off.';
ALTER TABLE Casino.Physicaltables MODIFY WinnerListEnabled DEFAULT 0;
ALTER TABLE Casino.Physicaltables MODIFY (WinnerListEnabled CONSTRAINT NC_Pts_WinnerListEnabled NOT NULL NOVALIDATE);
UPDATE Casino.Physicaltables SET WinnerListEnabled = 0 WHERE WinnerListEnabled IS NULL;
COMMIT;
ALTER TABLE Casino.Physicaltables MODIFY CONSTRAINT NC_Pts_WinnerListEnabled ENABLE VALIDATE;And output was such:
\\dserver\Live\release\12.6\0.10\sql\live_sql_12.4.0.5_to_12.6.0.10.zip
Elapsed: 00:00:00.09
ALTER TABLE Casino.Physicaltables MODIFY WinnerListEnabled DEFAULT 0
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specifiedAny DDL will cause an exclusive lock on the corresponding record in the dictionary. The error message indicates the object is in use by someone else.
Solutions:
1 Apply the code in a maintenance window when no one is there. DDL should NOT be run in a live system during production.
2 Put the database in restricted mode, provided no one has the restricted session privilege
3 Make sure your application uses a non-default service (ie service <> database name) and shut down that service using srvctl and/or dbms_service.
There is no such thing as 'OFFLINE mode'
Sybrand Bakker
Senior Oracle DBA -
How to find process causing "ORA-00054: resource busy and acquire with NOWAIT specified"
Hello there,
ENV: Oracle 10gR2 64bit on ASM, RHEL 64bit
Application team has reported "ORA-00054: resource busy and acquire with NOWAIT specified" during the batch process in production env. This is happening for last couple of days. When this batch process is restarted in the morning, this error does not appear.
I understand that this error is raised when one process tries to eecute some DDL on a table while another process is performing DML (or hasn't issued COMMIT/ROLLBACK after the DDL).
Since this error is occurring at night (around 3:00am) during the batch process, is there a way to find out on table/object is contention happening OR which process is causing this error? The batch process cannot be modified to add debug messages because it is in Production.
Please advise.
Best regardsuser130038 wrote:
Hello there,
ENV: Oracle 10gR2 64bit on ASM, RHEL 64bit
Application team has reported "ORA-00054: resource busy and acquire with NOWAIT specified" during the batch process in production env. This is happening for last couple of days. When this batch process is restarted in the morning, this error does not appear.
I understand that this error is raised when one process tries to eecute some DDL on a table while another process is performing DML (or hasn't issued COMMIT/ROLLBACK after the DDL).
Since this error is occurring at night (around 3:00am) during the batch process, is there a way to find out on table/object is contention happening OR which process is causing this error? The batch process cannot be modified to add debug messages because it is in Production.
Please advise.
Best regards
>The batch process cannot be modified to add debug messages because it is in Production.
I suspect more than one job is running concurrently against the DB; otherwise not error would occur.
Of course the batch process CAN be modified, but some PHB has decided to eliminate that option.
The Oracle database is at the mercy of the application code.
If the application code is poorly instrumented, then live with what exists or improved the code to facilitate isolating the bug.
You could delay the start of one of the jobs & then hope the error no longer occurs. -
ORA-00054: resource busy and acquire with NOWAIT specified
We are frequently getting ORA-00054: resource busy and acquire with NOWAIT specified error in production database for a application user group. Production database is oracle 10g R 10.2.0.5.0 on sun solaris. The app user group is telling that the code is not changed from many years. They wants this to be resolved on h.priority. The tables which are getting this error has clob fields. I rebuilded indexes in QA environment & they ran it again they are getting the same error.
I asked to see select for update nowait clause's carefully. They said everything is fine. Please let me know any solution if any one is getting this kind of error. Thanks.Has anything changed compared to previously when these errors didn't happen?
Not necessarily application code but
- Database version
- patches
- indexes
- data volumes
- number of clients
etc, etc
What led you to rebuild the indexes?
As for suggested solutions, they completely depend on the specifics of your situation.
Do you know that the SELECT FOR UPDATE is raising the ORA-00054?
Something else has the relevant resource locked in a non-shareable way - you need to find out what.
It sounds like the most likely candidate is another session that has issued a SELECT FOR UPDATE and locked some of the same row(s).
It's good that you can reproduce on QA rather than just production.
Maybe you can manually issue the failing SELECT FOR UPDATE statement but with WAIT rather than NOWAIT and see if that helps you figure out blockers, etc.
Further analysis required at your end. -
Can't drop text index (ORA-00054: resource busy) - causes?
Thanks, you were right! It works now, but I have another issue. I only added about 75 MB of PDFs (20 files) into my table, and indexed it. Indexing took about 4 minutes. But now, whenever I try to drop the index, I get this error:
ORA-00054: resource busy and acquire with NOWAIT specified
I tried waiting an hour, and it still gives me the error - it really shouldn't be doing anything. Would a memory or storage space issue cause this? I'd appreciate any help you could give. Thanks.Try drop index <name> force
-
Getting Error when running sql from concurrent program in R12
Hi All,
I created concurrent program and attached EXECUTABLE which executable method as SQL plus .
Using this program I am running one SQL file in R12 when I am running I am getting below error .
Same king of program I have define in 11i and running it is running can anyone please help me if I need to do any set ups or security thing to resave this problem.
ERROR:
ORA-01017: invalid username/password; logon denied
SP2-0306: Invalid option.
Usage: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}]
where <logon> ::= <username>[<password>][@<connect_identifier>] | /
SP2-0306: Invalid option.
Usage: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}]
where <logon> ::= <username>[<password>][@<connect_identifier>] | /
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
Concurrent Manager encountered an error while running SQL*Plus for your concurrent request 3162719.
Review your concurrent request log and/or report output file for more detailed information.
Executing request completion options...
Finished executing request completion options.
Regrds,
Sridhar.user12000862 wrote:
Hi all,
Thanks a lot giving replay below simple code I have put in my SQL file for testing Eventhough it is giving error .
Table which i am using in Apps schema only.
declare
BEGIN
insert into BRCD_HZ_DNB_XTBL_TEST values (666,'Y','547','Y','12254','TESTING','N','Y');
commit;
END;
/Try this instead
WHENEVER SQLERROR EXIT FAILURE ROLLBACK;
WHENEVER OSERROR EXIT FAILURE ROLLBACK;
insert into BRCD_HZ_DNB_XTBL_TEST values (666,'Y','547','Y','12254','TESTING','N','Y');
commit;
exit;HTH
Srini -
Sqlldr direct got ORA-00054: resource busy and acquire with NOWAIT specifie
I have multi-threaded application to kick off multiple sqlldr sessions that will try to insert 200K rows of data into same table from each session. I am using direct path with parallel enabled. The target table has no index, not even a PK, but I got this ORA-00054 error.
Sample control file template:
OPTIONS (SKIP=1, DIRECT=TRUE, PARALLEL=TRUE, SILENT=ALL, MULTITHREADING=TRUE, SKIP_INDEX_MAINTENANCE=TRUE, SKIP_UNUSABLE_INDEXES=TRUE)
UNRECOVERABLE
LOAD DATA
INFILE '&DATA_FILE_NAME'
BADFILE '&BAD_FILE_NAME'
DISCARDFILE '&DISCARD_FILE_NAME'
INTO TABLE TARGET_TABLE
APPEND
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
( SESSION_ID CONSTANT &SESSION_ID,
FIELD00,
FIELD01,
FIELD02,
FIELD03,
FIELD04,
FIELD05,
FIELD06
The definition of TARGET_TABLE:
CREATE TABLE TARGET_TABLE
SESSION_ID NUMBER(12),
FIELD00 VARCHAR2(4000 BYTE),
FIELD01 VARCHAR2(4000 BYTE),
FIELD02 VARCHAR2(4000 BYTE),
FIELD03 VARCHAR2(4000 BYTE),
FIELD04 VARCHAR2(4000 BYTE),
FIELD05 VARCHAR2(4000 BYTE),
FIELD06 VARCHAR2(4000 BYTE),
FIELD07 VARCHAR2(4000 BYTE),
FIELD08 VARCHAR2(4000 BYTE),
FIELD09 VARCHAR2(4000 BYTE),
FIELD10 VARCHAR2(4000 BYTE),
FIELD11 VARCHAR2(4000 BYTE)
I want to WAIT if there's any race. How can I make it WAIT? Most of the time, WAIT should be the default, but somehow, it acts differently here.
Any help will be highly appreciated.Looking at the same manual, you can see here that you need exclusive access to the table:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_modes.htm#sthref1449
And here, you can see that if other DML is happening on a table, Oracle says you need to do conventional path load:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_modes.htm#sthref1432
In the case of parallelization, yes, you must set parallel=true. This allows SQL*Loader to manage the parallel inserts. If you were to try to do multiple, concurrent direct path loads yourself by running multiple instances of SQL*Loader, you'd run into the same TM enqueue problem.
The question as to why the TM enqueue is taken in exclusive mode, has to do with how direct path load works. Oracle loads data into previously unformatted, completely empty data blocks from above the HWM. When the load is complete, the HWM is adjusted, and the data is available. Well, Oracle can't allow for multiple concurrent direct loads, all allocating space from above the HWM, and all messing w/ the HWM. This would cause a bit of a problem. And really, you don't want non-direct load DML going on either. So, Oracle disallows it, by taking the TM enqueue in exclusive mode. (Normal DML, non-direct load, takes the TM enqueue in a sharable mode, allowing for other concurrent DML.)
Hope that's clear,
-Mark
Message was edited by:
Mark J. Bobak -
Winsock error when running SQL Server Stored Proc
I have a SQL Server stored procedure that is trying to read emails from an IMAP server (I am using mail.dll from www.limilabs.com).
The SP works fine on my local computer/db, and the code also runs fine when run from a console application on my remote server. When I try to run it from SQL Server however I get this error message:
Msg 6522, Level 16, State 1, Procedure GetEmails, Line 0A .NET Framework error occurred during execution of user-defined routine or aggregate "GetEmails": Limilabs.Client.ServerException: The requested name is valid, but no data of the requested type was found ---> System.Net.Sockets.SocketException: The requested name is valid, but no data of the requested type was foundSystem.Net.Sockets.SocketException: at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) at System.Net.Dns.GetHostAddresses(String hostNameOrAddress) at System.Net.Sockets.Socket.Connect(String host, Int32 port) at Limilabs.Client.ClientBase.Connect(String host, Int32 port, Boolean useSSL)Limilabs.Client.ServerException: at Limilabs.Client.ClientBase.Connect(String host, Int32 port, Boolean useSSL) at StoredProcedures.GetEmails()
I suspect it is something to do with permissions (??) but it is beyond my knowledge of SQL Server. Anyone have some pointers? I am using the IP for the IMAP server, I have switched off the firewall.
ThanksReading emails in a stored procedure? Hm...
Unless you are impersonating the actual user in your CLR procedure, the access will be under the service account for SQL Server. If this is Local Servic or similar and may not have the permission or configuration to access whatever System.Net.Dns.InternalGetHostByName
is trying to access.
Try running SQL Server under a domain account to see what happens.
Erland Sommarskog, SQL Server MVP, [email protected] -
MS VC++ Runtime Library error when running SQL Server Profiler
Environment:
- Windows Server 2008 R2 Standard
- SQL Server 2008 R2 Enterprise with SP2 and CU11
When starting up the SQL Server Profiler tool, I faced the following issue
Event log:
Faulting application name: Profiler.exe, version: 2009.100.1600.1, time stamp: 0x4bb679f5
Faulting module name: MSVCR80.dll, version: 8.0.50727.6229, time stamp: 0x4ec352ab
Exception code: 0x40000015
Fault offset: 0x000046b4
Faulting process id: 0xb60
Faulting application start time: 0x01cfb084ee490685
Faulting application path: C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\Profiler.exe
Faulting module path: C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6229_none_d089f796442de10e\MSVCR80.dll
Report Id: 311be94c-1c78-11e4-af71-463500000031
Any advises?
Thanks.Thanks Erland. Not sure what I am missing and need to apply. As said my environment was already applied SP2 and CU11. Please can you give me more information? A link to download or things like that would be much appreciated.
SQL Server engine might be patched but profiler may not be. Check the file properties of PROFILER.EXE.
The error which you are seeing an exception due to VC++
Can you please run .net verification tool and make sure they are consistent?
http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx
Balmukund Lakhani
Please mark solved if I've answered your question, vote for it as helpful to help other users find a solution quicker
This posting is provided "AS IS" with no warranties, and confers no rights.
My Blog |
Team Blog | @Twitter
| Facebook
Author: SQL Server 2012 AlwaysOn -
Paperback, Kindle -
Connection error when running sql*plus from within a Makefile
As part of our build process the commands to install/update our database schema are executed from a Makefile (along with all the other build/test commands). We've been running our build under several system configurations, but have hit a hitch with one specific one. So far this has worked with Windows XP (cygwin) against a Express Edition DB and Red Hat ES 5 against Oracle 11g.
I am now trying to get the build running on a Ubuntu 8.04 workstation with the Oracle Express Edition installed. From the command line I can execute a simple command line such:
echo "SELECT 5 as foo from dual"|sqlplus user/password
Now if I put the same command in a Makefile, I receive the following error message:
ERROR:
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux Error: 22: Invalid argument
Additional information: 1
Additional information: 32769
This error seems to pop up a lot when a client is not properly configured (atleast the googling I've done has said as much), but my client is clearly working as I can connect outside of the Makefile. Is there possible some info that gets lost when make executes the process? Any ideas of what I could do to fix this?see 115753.1 note on metalink , it clearly explains why you are encountering this .
-
Error when running SQL over DB2/400 database
Folks,
I'm trying to execute an SQL statement which works well on DB2/400 but doesn't like it in Java embedded SQL.
The statement looks like this...
select rrn(a) from BLMINTF1 a where RDTUSC = 050106 or RDTADC = 050106 or RDTBPC = 050106 or RDTCDC = 050106 or RDTE1C = 050106
and the error I get is as follows...
java.sql.SQLException: An undefined column name was detected.
java/lang/Throwable.<init>(Ljava/lang/String;)V+4 (Throwable.java:94)
java/lang/Exception.<init>(Ljava/lang/String;)V+1 (Exception.java:42)
java/sql/SQLException.<init>(Ljava/lang/String;Ljava/lang/String;I)V+1 (SQLException.java:43)
com/ibm/as400/access/JDError.throwSQLException(Ljava/lang/String;)V+0 (JDError.java:394)
com/ibm/as400/access/JDServerRow.findField(Ljava/lang/String;)I+0 (JDServerRow.java:313)
com/ibm/as400/access/AS400JDBCResultSet.findColumn(Ljava/lang/String;)I+0 (AS400JDBCResultSet.java:552)
com/ibm/as400/access/AS400JDBCResultSet.getString(Ljava/lang/String;)Ljava/lang/String;+0 (AS400JDBCResultSet.java:31
gmi/pme/ReadIntRateXML.updatetable(Ljava/lang/String;I)V+0 (ReadIntRateXML.java:135)
gmi/pme/ReadIntRateXML.main(^Ljava/lang/String;)V+0 (ReadIntRateXML.java:45)
Any help will be greatly appreciated.
Thanks in advance.(Oops, ignore the above, a missing /code tag ate most of my post)
So does this work:
select 42 from BLMINTF1 a where RDTUSC = 050106 or RDTADC = 050106 or RDTBPC = 050106 or RDTCDC = 050106 or RDTE1C = 050106
There is a chance that the driver for some odd reason doesn't understand a particular SQL function. That's less likely than a simple typo though. Usually JDBC drivers don't care about the SQL they execute, they just pass it to the server. Command line SQL tools may have extra commands, but rarely functions like that.
I'd still print out the SQL string just before execution. I've seen things like this often enough:
String s =
"select x from foo" +
"where x = 1";Note the lack of space between "foo" and "where", resulting in "foowhere". -
Errors when using sql loader direct path with a nvl functin on a date field
I thought I read in 10g that all sql functions now work in direct path mode.
the following function works without direct path mode. When we turn direct path mode on the load fails. When we take the function out in direct path mode it works.
mydate DATE "YYYY-MM-DD" "nvl(:mydatedate,to_date('9999-01-01','YYYY-MM-DD'))"
with direct path mode I get:
EVERY record gets rejected with this error.
Record 10: Rejected - Error on table MYTABLE
ORA-00604: error occurred at recursive SQL level 1
ORA-01861: literal does not match format string
again works fine without direct=true, works fine with direct=true if i get rid of the function.
any ideas?
Message was edited by:
Guess2
Message was edited by:
Guess2like usual your posts are completely useless daniel.
I could have swarn that oracle advertised that you can use functions with 9i or 10g release in the new features guys or the first releases. -
NO DATA error when running init load with 2LIS_11_VAHDR
hi experts,
I try to load initial data with 2LIS_11_VAHDR
the steps I did:
1. 2LIS_11_VAHDR is activated in R/3 Log.Cockpit LBWE
2. 2LIS_11_VAHDR is replacated in BW
3. Setup tables are filled for SD Sales Orders in R/3
4. testing 2LIS_11_VAHDR with RSA7 in R/3 delivers 981 records
when I start the info package with "Initialize delta process with Data Transfer" the error occurs "0 Records - NO DATA"
Any Idea what I'm doing wrong?
Best Regards
nevenHi,
Go to bd87 transaction and see any yellow requests..If so select it and process manually.
or
In the monitor Environment->Transactional RFC -> in the source system.
Then give user id and pwd for source system and try to execute...see if any LUWs are pending and process them. -
ORA-06502 - Error when running "Ask The Expert 0.9"
Hi ,
I successfully installed "Ask the Expert" package with Apex 3.0 on Oracle 10g Database 10.2.0.1.0. No error ocurred during the import in my Apex environment.
Besides that, i'm having problems when i tried to run the "Aks the Expert". It always shows the following message errors:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Error Unable to write activity log.
I think it was a problem with APEX instalation, but i could run the Sample Application of Apex without any problem.
I opened an SR in Metalink, but to my surprise, the analist of support don't know what's wrong with the demo "Ask de Expert".
The debug function of the application show the following commands before the error ocurrs:
0.01:
0.01: S H O W: application="103" page="1" workspace="" request="" session="6648566035252817"
0.01: Language derived from: FLOW_PRIMARY_LANGUAGE, current browser language: en-us
0.01: alter session set nls_language="AMERICAN"
0.01: alter session set nls_territory="AMERICA"
0.01: NLS: CSV charset=WE8MSWIN1252
0.01: ...NLS: Set Decimal separator="."
0.01: ...NLS: Set NLS Group separator=","
0.02: ...NLS: Set date format="DD-MON-RR"
0.02: ...Setting session time_zone to -03:00
0.02: NLS: Language=en-us
0.02: Application 103, Authentication: CUSTOM2, Page Template: 667896385843019243
0.02: ...Determine if user "N3COUTINHO" workspace "951808960237899" can develop application "103" in workspace "951808960237899"
0.02: ...ok to reuse builder session for user:nobody
0.03: ...Application session: 6648566035252817, user=nobody
0.03: ...Determine if user "N3COUTINHO" workspace "951808960237899" can develop application "103" in workspace "951808960237899"
0.03: Session: Fetch session header information
0.03: ...Metadata: Fetch page attributes for application 103, page 1
0.03: Fetch session state from database
0.03: Branch point: BEFORE_HEADER
0.03: Fetch application meta data
0.04: Computation point: BEFORE_HEADER
0.04: ...Perform computation of item: P1_CLEAN_CRITERIA, type=FUNCTION_BODY
0.04: ...Performing function body computation
0.06: ...Session State: Save "P1_CLEAN_CRITERIA" - saving same value: ""
0.06: Processing point: BEFORE_HEADER
0.06: ...Process "Read and Write Activity Cookie": PLSQL (BEFORE_HEADER) declare l_cookie_id number; begin owa_util.mime_header('text/html', FALSE); -- ate_api.read_activity_cookie; l_cookie_id := ate_api.fetch_activity_cookie_val( 'COOKIE_ID' ); -- if l_cookie_id is null then l_cookie_id :=
Content-type: text/html; charset=ISO-8859-1 Set-Cookie: activity_ask_expert=1|2400346189796; expires=Wed, 01-Jan-2020 08:00:00 GMT; path=/;
0.06: Encountered unhandled exception in process type PLSQL
0.06: Show ERROR page...
0.06: Performing rollback...
Please, could any one help me to solve this problem ? Metalink couldn't help me diagnosing what's wrong.
Thanks,
Sergio CoutinhoHi,
I don´t know if it help the analisis, but i collect some informations about my environment:
1) HTML DB version
3.0.1
2) Database version
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
3) Database server operating system (as well, if 32-bit or 64-bit)
Solaris 5.9 - 64 bits
4) Database Parameters:
PARAMETER VALUE
NLS_CALENDAR GREGORIAN
NLS_CHARACTERSET WE8ISO8859P1
NLS_COMP BINARY
NLS_CURRENCY $
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_DUAL_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_LANGUAGE AMERICAN
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS .,
NLS_RDBMS_VERSION 10.2.0.1.0
NLS_SORT BINARY
NLS_TERRITORY AMERICA
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
Could it explain why ASK THE EXPERT is running on hosted apex site and it´s
generating error when running in my environment?
Thanks for the help !
Sergio -
Ora-3113 when running sql in sqlplus mts. dedicated works fine
when i try to execute a simple query (return 1 row), from sqlplus (in the server database) by shared connection, i recive ora-3113. by dedicated conection it works fine. environment datas : server side (windows 2003 server; 10.2.0.1).
part of my trace file :
nsprecv: normal exit
nsrdr: got NSPTDA packet
nsrdr: NSPTDA flags: 0x40
nsrdr: normal exit
nsdo: entry
nsdo: cid=0, opcode=85, bl=2001, what=0, uflgs=0x0, cflgs=0x1
nsdo: nsctx: state=6, flg=0x620d, mvd=0
nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
nserror: entry
nsdo: error exit
nsdo: nsctxrnk=0
nsdo: error exit
nioqer: entry
nioqer: incoming err = 12151
nioqce: entry
nioqce: exit
nioqer: returning err = 3113
nioqer: exit
nioqrc: exit
nioqbr: entry
nioqbr: state = normal (0)
nioqsm: entry
nioqsm: Sending break packet (1)...
nsdo: entry
nsdo: cid=0, opcode=67, bl=1, what=17, uflgs=0x100, cflgs=0x3
nsdo: rank=64, nsctxrnk=0
nsdo: nsctx: state=3, flg=0x420d, mvd=0
nsdo: nsctxrnk=0
nsdo: error exit
nioqsm: send-break: failed to send break...
nioqper: error from send-marker
nioqper: nr err code: 0
nioqper: ns main err code: 12583
nioqper: ns (2) err code: 0
nioqper: nt main err code: 0
nioqper: nt (2) err code: 0
nioqper: nt OS err code: 0
nioqsm: exit
nioqer: entry
nioqer: incoming err = 12152
nioqce: entry
nioqce: exit
nioqer: returning err = 3113
nioqer: exit
nioqbr: returning 3113
nioqbr: exit
nioqds: entry
nioqds: disconnecting...
thanksThread continued at -->
ora-3113 when running sql in sqlplus mts. dedicated works fine
Maybe you are looking for
-
Error while Validating xml against a schema using jaxp
Hi All, Following code validates xml against a schema using JAXP .It gives SAXNotRecognizedException error when you run the program. static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; static final Str
-
'My system is Windows 7 and Firefox ädvised me that it was unable to replace any of my plugs ins or software associated with my games and Java updates. Firefox should NOT be able to do this just because I updated.
-
Conversion of string to data(Flat file to sql server) Transformations
Hi All, I have a requirement in which I am trying to convert a field of type string which contains date from source file to field of type datetime in sqlserver by using all the below expressions to_date(DATE, 'yyyy/mm/dd-hh24:mi:ss' ) to_date(DATE, '
-
What can I do about itunes freezing everytime I try to do something substantial like erase all my duplicates
-
Looping over context automatically?
Hi, I need to create something like a bill. Every position in the bill contains of several lines. From my context structure I have a node positions with some data value (headerdata for the position) and a node lines with again dome data. I would now