APD - Numbers of Jobs used to execute datasource query
Hello experts,
I would like to ask for your view about an issue that I discovered while executing APD flows in background ("schedule job" button in transaction rsanwb or via Process Chain) vs. executing APD flows as dialogue job ("execute" button in transaction rsanwb).
a) If an APD flow is executed in background the datasource query of the data flow is accessing all InfoCubes (connected to the multiprovider of the query) sequentially. Only one job is used that is working its way through around 10 InfoCubes after each other.
b) If an APD flow is executed in background the datasource query of the data flow is accessing all InfoCubes connected to the multiprovider in parallel using many jobs that are reading the content of the InfoCubes at the same time.
It would be much appreciated if you could provide some input to me how this behaviour is driven and how it can be influenced. From performance point of view I would like the query in the APD Flow to read several InfoCubes in parallel instead of processing each InfoCube after the other.
Thanks for your help.
Cheers,
Sven
Hi all,
in the following SAP note "Note 605213 - RSCRM: Performance" it says that ODBO (when an APD Analysis Process is executed, the required data is read via the ODBO interface of SAP BW) executes the query in a different way than BEx or TA RSRT does. So you can't compare both regarding speed.
Still I am wondering why there are difference if I execute the Analysis Process in background job and dialogue in the way the query is accessing the InfoCubes of the used Multiprovider in paralle (dialogue) or sequentially (background).
Any ideas? You help is much appreciated.
Cheers,
Sven
Similar Messages
-
How can i know which index will be used when executing the query ?
1 ) I have query in which i have 3-4 tables but there multiple index on one column .
so how can i know which index will be used when executing the query ?
2) I have a query which ia taking too much time . how can i know which table is taking too much time ?
3) Please Provide me some document of EXplain plan ?Hi Jimmy,
Consider the below example
/* Formatted on 2011/02/04 21:59 (Formatter Plus v4.8.8) */
CREATE TABLE FIRST AS
SELECT * FROM all_objects;
UPDATE FIRST
SET object_name = 'TEST'
WHERE owner != 'SCOTT';
CREATE INDEX idx_first ON FIRST(object_name);
SELECT *
FROM FIRST
WHERE object_name = 'TEST';
It has not used index
Execution Plan
Plan hash value: 2265626682
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 58678 | 7334K| 163 (4)| 00:00:02 |
|* 1 | TABLE ACCESS FULL| FIRST | 58678 | 7334K| 163 (4)| 00:00:02 |
/* Formatted on 2011/02/04 21:59 (Formatter Plus v4.8.8) */
SELECT *
FROM FIRST
WHERE object_name = 'emp';
This has used the index
Execution Plan
Plan hash value: 1184810458
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 128 | 1 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| FIRST | 1 | 128 | 1 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IDX_FIRST | 1 | | 1 (0)| 00:00:01 |
From this we can come to the conclusion that, whether to use one index or not by oracle
would also depend on the data which is present in the table. This has to be this way as
we see in the bind peeking, if oracle sticks to only one plan, say only use the full table
scan, it would be a performance hit when it searches for the second query ie where object_name
='emp';
2.
If we have a query like below.
select * from emp
where upper(ename) = upper(:p_ename);
Evenif we have the index on ename column, oracle wouldn't be able to use the index, as there is a function in the predicate column. If you need oracle to use the index, we need to create a function based index as below.
Create index idx_ename on emp(upper(ename));
Regards,
Cool -
Dynamic datasource query in Content Presenter
I have a Documents region with a custom Content Presenter template.
I would like to use a dynamic datasource query with this, which makes use of the currently logged in user and the user's role.
The task flow parameters look like this now:
<parameters>
<parameter id="taskFlowInstId"
value="${'afd37bc3-bd2e-4e97-b838-74c975529633'}"/>
<parameter id="datasourceType" value="${'dsTypeQueryExpression'}"/>
<parameter id="datasource"
value="${'SELECT * FROM ora:t:IDC:GlobalProfile WHERE ora:p:dDocType = \'Dagbericht\''}"/>
<parameter id="templateCategory" value="${''}"/>
<parameter id="templateView" value="${'dagberichten.list.template'}"/>
<parameter id="maxResults" value="${'3'}"/>
</parameters>
What are my options to achieve this?Jaap,
You can use expression language in that query to make it dynamic.
You could either build the full query from a managed bean or just some parameters.
here's how you can do it when building the query from a MB:
This should be the method in your bean:
public String getQuery(){
String user = ADFContext.getCurrent().getSecurityContext().getUserName();
String query = "SELECT * FROM ora:t:IDC:GlobalProfile WHERE ora:p:dDocType = 'Dagbericht' and ora:p:dCreatedBy = '" + user + "'";
return query;
}Your datasource parameter should be something like this:
<parameter id="datasource" value="#{yourBean.query}"/>note: the "and ora:p:dCreatedBy..." might not be correct but it shows how you can dynamicly build the query.
Hope this helps. -
Getting error while trying to execute a external job using dbms_scheduler
Hello,
I create a job using alpha account.
begin
dbms_scheduler.create_job(
job_name => 'jps_test_executable',
job_type => 'EXECUTABLE',
job_action => '/usr/bin/ksh',
number_of_arguments => 2
dbms_scheduler.set_job_argument_value (
job_name => 'jps_test_executable',
argument_position => 1,
argument_value => '/tmp/abc.sh'
and when I execute the job in the schema using alpha account it works fine.
BEGIN
DBMS_SCHEDULER.run_job (job_name => 'jps_test_executable',
use_current_session => FALSE);
END;
Works fine.
But if I try to execute the same job using some other account say beta in the same schema , I am getting error
ORA-27476 :”SMS.RUN_SMS_JOBS Does not exist ORA-06512 at “SYS.DBMS_ISCHED” line 2793 ORA-06512 :at “SYS.DBMS_SCHEDULER”,line 1794
even I give the fill qualifier, still I am getting the error.
BEGIN
DBMS_SCHEDULER.run_job (job_name => 'alpha.jps_test_executable',
use_current_session => FALSE);
END;
Any help will be appreciated.
Thank you,
RajIt's the expected behavior:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_sched.htm#CIHHBGGI
RUN_JOB requires that you be the owner of the job or have ALTER privileges on that job. You can also run a job if you have the CREATE ANY JOB privilege.So, you need to grant the required privilege:
aplha@orcl> grant alter on alpha.jps_test_executable to beta;HTH
Enrique
PS If your problem was solved consider marking the question as answered. -
Error executing query using oracle XA datasource
Hi,
The following is the error I am getting while trying to access a resource from a datasource. The same code works fine if I use a normal datasource(non-xa datasource)
Configuration: WSAD 5.1 running over jre ver 1.4 and oracle 8.1.7. I have put classes12.zip in the classpath of the server.
Code:
DBSelect sel = new DBSelect();
sel.setDataSourceName("jdbc/ds1");
sel.setInitialContextFactory("com.ibm.websphere.naming.WsnInitialContextFactory");
sel.setProviderUrl("iiop://localhost:2809/");
sel.setCommand("select 1 from dual");
sel.execute();
System.out.println(sel.getConnectionSpec());
if (sel.onRow()) {
do {
System.out.println(sel.getColumnAsString(1));
} while (sel.next());
sel.close();
I have also tried using the beolow mentioned code, which aso fails with a similar exception
DataSource ds = (DataSource)PortableRemoteObject.narrow(ctx.lookup("jdbc/ds1"), DataSource.class);
ds.setLogWriter(new PrintWriter(System.out));
Connection con = ds.getConnection();
Statement s = con.createStatement();
ResultSet rs = s.executeQuery("select 1 from dual")
I will really appreciate if someone can help me here to solve this problem
Stack trace:
[5/31/04 14:58:59:625 IST] 22502250 WSRdbXaResour E DSRA0304E: XAException occurred. XAException contents and details are: The cause is : null.
[5/31/04 14:58:59:625 IST] 22502250 WSRdbXaResour E DSRA0302E: XAException occurred. Error code is: XAER_PROTO. Exception is: <null>
[5/31/04 14:58:59:625 IST] 22502250 XATransaction E J2CA0027E: An exception occurred while invoking start on an XA Resource Adapter from dataSource jdbc/ds1, within transaction ID {XID: formatId(57415344), gtrid_length(39), bqual_length(28), data(000000000000000300000003ad952b20e108c7e0e2d5482ee84c69877b2dcf5e73657276657231ad952b20e108c7e0e2d5482ee84c69877b2dcf5e0000000336233623)}: javax.transaction.xa.XAException
at java.lang.Throwable.<init>(Throwable.java)
at javax.transaction.xa.XAException.<init>(XAException.java:63)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:146)
at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.start(WSRdbXaResourceImpl.java:927)
at com.ibm.ejs.j2c.XATransactionWrapper.start(XATransactionWrapper.java:1267)
at com.ibm.ws.Transaction.JTA.JTAResourceBase.start(JTAResourceBase.java:164)
at com.ibm.ws.Transaction.JTA.RegisteredResources.startRes(RegisteredResources.java:389)
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:1903)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlist(TranManagerSet.java:494)
at com.ibm.ejs.j2c.XATransactionWrapper.enlist(XATransactionWrapper.java:602)
at com.ibm.ejs.j2c.ConnectionEventListener.interactionPending(ConnectionEventListener.java:745)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processInteractionPendingEvent(WSRdbManagedConnectionImpl.java:1446)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:329)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.getMetaData(WSJdbcConnection.java:1037)
at com.ibm.db.db.base.DatabaseConnection.getConnectionMetaData(DatabaseConnection.java)
at com.ibm.db.db.DatabaseConnection.propagateAutoCommit(DatabaseConnection.java)
at com.ibm.db.db.DatabaseConnection.connect(DatabaseConnection.java)
at com.ibm.db.db.Statement.connect(Statement.java)
at com.ibm.db.db.SelectStatement.execute(SelectStatement.java)
at com.ibm.db.beans.DBSelect.execute(DBSelect.java)
at com.rajeev.SeqBeanBean.getNextVal(SeqBeanBean.java:18)
at com.rajeev.EJSRemoteStatelessSeqBean_25304796.getNextVal(EJSRemoteStatelessSeqBean_25304796.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java)
at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:703)
at java.security.AccessController.doPrivileged(AccessController.java:189)
at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:701)
at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1084)
at $Proxy1.getNextVal(Unknown Source)
at com.rajeev._SeqBean_Stub.getNextVal(_SeqBean_Stub.java:257)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java)
at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:68)
at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:110)
at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:366)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:555)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)
[5/31/04 14:58:59:656 IST] 22502250 RegisteredRes E WTRN0078E: An attempt by the transaction manager to call start on a transactional resource has resulted in an error. The error code was XAER_PROTO. The exception stack trace follows: javax.transaction.xa.XAException
at java.lang.Throwable.<init>(Throwable.java)
at javax.transaction.xa.XAException.<init>(XAException.java:63)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:146)
at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.start(WSRdbXaResourceImpl.java:927)
at com.ibm.ejs.j2c.XATransactionWrapper.start(XATransactionWrapper.java:1267)
at com.ibm.ws.Transaction.JTA.JTAResourceBase.start(JTAResourceBase.java:164)
at com.ibm.ws.Transaction.JTA.RegisteredResources.startRes(RegisteredResources.java:389)
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:1903)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlist(TranManagerSet.java:494)
at com.ibm.ejs.j2c.XATransactionWrapper.enlist(XATransactionWrapper.java:602)
at com.ibm.ejs.j2c.ConnectionEventListener.interactionPending(ConnectionEventListener.java:745)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processInteractionPendingEvent(WSRdbManagedConnectionImpl.java:1446)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:329)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.getMetaData(WSJdbcConnection.java:1037)
at com.ibm.db.db.base.DatabaseConnection.getConnectionMetaData(DatabaseConnection.java)
at com.ibm.db.db.DatabaseConnection.propagateAutoCommit(DatabaseConnection.java)
at com.ibm.db.db.DatabaseConnection.connect(DatabaseConnection.java)
at com.ibm.db.db.Statement.connect(Statement.java)
at com.ibm.db.db.SelectStatement.execute(SelectStatement.java)
at com.ibm.db.beans.DBSelect.execute(DBSelect.java)
at com.rajeev.SeqBeanBean.getNextVal(SeqBeanBean.java:18)
at com.rajeev.EJSRemoteStatelessSeqBean_25304796.getNextVal(EJSRemoteStatelessSeqBean_25304796.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java)
at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:703)
at java.security.AccessController.doPrivileged(AccessController.java:189)
at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:701)
at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1084)
at $Proxy1.getNextVal(Unknown Source)
at com.rajeev._SeqBean_Stub.getNextVal(_SeqBean_Stub.java:257)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java)
at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:68)
at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:110)
at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:366)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:555)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)
[5/31/04 14:58:59:656 IST] 22502250 XATransaction E J2CA0030E: Method enlist caught javax.transaction.SystemException: Failed to start the transaction association.
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java)
at javax.transaction.SystemException.<init>(SystemException.java:39)
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:1917)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlist(TranManagerSet.java:494)
at com.ibm.ejs.j2c.XATransactionWrapper.enlist(XATransactionWrapper.java:602)
at com.ibm.ejs.j2c.ConnectionEventListener.interactionPending(ConnectionEventListener.java:745)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processInteractionPendingEvent(WSRdbManagedConnectionImpl.java:1446)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:329)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.getMetaData(WSJdbcConnection.java:1037)
at com.ibm.db.db.base.DatabaseConnection.getConnectionMetaData(DatabaseConnection.java)
at com.ibm.db.db.DatabaseConnection.propagateAutoCommit(DatabaseConnection.java)
at com.ibm.db.db.DatabaseConnection.connect(DatabaseConnection.java)
at com.ibm.db.db.Statement.connect(Statement.java)
at com.ibm.db.db.SelectStatement.execute(SelectStatement.java)
at com.ibm.db.beans.DBSelect.execute(DBSelect.java)
at com.rajeev.SeqBeanBean.getNextVal(SeqBeanBean.java:18)
at com.rajeev.EJSRemoteStatelessSeqBean_25304796.getNextVal(EJSRemoteStatelessSeqBean_25304796.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java)
at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:703)
at java.security.AccessController.doPrivileged(AccessController.java:189)
at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:701)
at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1084)
at $Proxy1.getNextVal(Unknown Source)
at com.rajeev._SeqBean_Stub.getNextVal(_SeqBean_Stub.java:257)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java)
at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:68)
at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:110)
at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:366)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:555)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)
while trying to enlist resources from datasource jdbc/ds1 with the Transaction Manager for the current transaction, and threw a ResourceException.
DSRA9002E: ResourceException with error code null: javax.resource.ResourceException: enlist: caught Exception
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java)
at javax.resource.ResourceException.<init>(ResourceException.java:73)
at com.ibm.ejs.j2c.XATransactionWrapper.enlist(XATransactionWrapper.java:703)
at com.ibm.ejs.j2c.ConnectionEventListener.interactionPending(ConnectionEventListener.java:745)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processInteractionPendingEvent(WSRdbManagedConnectionImpl.java:1446)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:329)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.getMetaData(WSJdbcConnection.java:1037)
at com.ibm.db.db.base.DatabaseConnection.getConnectionMetaData(DatabaseConnection.java)
at com.ibm.db.db.DatabaseConnection.propagateAutoCommit(DatabaseConnection.java)
at com.ibm.db.db.DatabaseConnection.connect(DatabaseConnection.java)
at com.ibm.db.db.Statement.connect(Statement.java)
at com.ibm.db.db.SelectStatement.execute(SelectStatement.java)
at com.ibm.db.beans.DBSelect.execute(DBSelect.java)
at com.rajeev.SeqBeanBean.getNextVal(SeqBeanBean.java:18)
at com.rajeev.EJSRemoteStatelessSeqBean_25304796.getNextVal(EJSRemoteStatelessSeqBean_25304796.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java)
at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:703)
at java.security.AccessController.doPrivileged(AccessController.java:189)
at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:701)
at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1084)
at $Proxy1.getNextVal(Unknown Source)
at com.rajeev._SeqBean_Stub.getNextVal(_SeqBean_Stub.java:257)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java)
at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:68)
at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:110)
at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:366)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:555)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)
Rgds,
DaveI am facing the same problem..... I always get the answers to my problem by reading the forums.. This time I am really not lucky enough. I am using Oracle 8.1.7. Does it have anything to do with version. I have used both ojdb14.jar and classes12.jar to get the same error output.
Anybody has answer to it? -
How to Schedule Job using Database Control for SQLPLUS script?
Hi All,
I am using Database version 10.2. I would like to schedule a SQLPLUS script job using Database control (Not using Grid Control!). The following is the script.
========================================================
define OEM_FRIENDLY=1
define OWB_BACKGROUND=0
set serveroutput on
set verify off
whenever sqlerror exit failure;
define REPOS_OWNER='&1.'
define LOCATION_NAME='&2.'
define TASK_TYPE='&3.'
define TASK_NAME='&4.'
define SYSTEM_PARAMS='&5.'
define CUSTOM_PARAMS='&6.'
alter session set current_schema = &REPOS_OWNER.;
set role owb_d_&REPOS_OWNER., owb_o_&REPOS_OWNER.;
variable exec_return_code number;
begin
-- Initialize Return Code
:exec_return_code := wb_rt_api_exec.RESULT_FAILURE;
-- Run Task
:exec_return_code := wb_rt_api_exec.run_task('&LOCATION_NAME.',
'&TASK_TYPE.',
'&TASK_NAME.',
'&CUSTOM_PARAMS.',
'&SYSTEM_PARAMS.',
&OEM_FRIENDLY.,
&OWB_BACKGROUND.);
end;
exit :exec_return_code;
===========================================================
Is it possible to schedule SQLPLUS script with 6 different parameters? If yes then how can I schedule for monday to friday or only for Saturday and sundays.
Please provide brief steps.
Thanks for your help in advance.
- MehulLet me explain to you about scheduler.
You can schedule a pl/sql stored procedure TEST_S as follows...
Begin
dbms_scheduler.create_job(
job_name=>'MY_JOB',
Job_Type=>'STORED_PROCEDURE',
job_action=>'TEST_S',
start_date=>sysdate,
repeat_interval=>'freq=monthly;BYDAY=MON,TUE,WED,THU,FRI',
end_date=>null');
END;
You can also also execute o/s script like .bat or .sh. For this job type should be EXECUTABLE.
Example of converting a .sql script in .bat script...
insert.sql
insert into dept values(50,'IT','LONDON');
exit
insert.bat
sqlplus scott/tiger @insert.sql
Executing now...
C:\Documents and Settings>insert.bat
C:\Documents and Settings>sqlplus scott/tiger @insert.sql
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 1 08:01:00 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
1 row created.
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - P
oduction
With the Partitioning, OLAP and Data Mining options
C:\Documents and Settings>
So first read about DBMS_SCHEDULER and do the work in prompt. Then you can go and schedule it even by database control.
Scheduling by database control...
http://www.oracle.com/technology/oramag/oracle/04-jul/o44tech_dba.html
Scheduler
http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_sched.htm#CIHEHDHA
PS: By default each job you created is disable state. Please enable it by enable procedure of DBMS_SCHEDULER package. -
Execute SSIS Package from JOB which contains Execute Process Task calling a .bat file
Hi All,
I have a EXCEL Macro needs to be called from SSIS. We could not use Script task because of some internal reason.
So we have taken an approach to call a .BAT file using Execute Process Task. This .BAT file will call a .VBS file which will execute the EXCEL Macro.
The SSIS Package is running good if I execute the package from BIDS.
But the real problem is with the scheduling this SSIS Package using SQL JOB.
If i execute this SSIS package from SQL Server Job, its executing the whole package successfully except the Execute Process Task.
So the overall issue is SQL Server Job is not executing properly if I call any .BAT file from the SSIS Package.
Please give me suggestion to get rid of the issue. Thanks in advance.Hi Sai.N,
If you run the SQL Server Agent job manually from SSMS, does the package execute properly? If the package executes properly when you run the job manually, the issue should occur due to permission issue. In this case, I suggest that you create a SQL Server
Agent proxy based on the current Windows account which you use to log onto the operating system, and run the job under the proxy account.
If it is not the issue, please enable logging in the package as Visakh mentioned and post the warning/error message for further analysis.
Regards,
Mike Yin
TechNet Community Support -
Schedule a job using dbms_job package
SQL to schedule a job using DBMS_JOB.
variable jobno number;
variable status number;
begin
dbms_job.submit(:jobno, 'x(:status);', trunc(sysdate)+8/24,
'trunc(sysdate)+1+8/24', null);
commit;
end;
It fails and returns the following error ...
ORA-01008: not all variables bound
Is it possible to schedule a job to run a procedure with "IN OUT" parameter? I would appreciate any assistance.
Proc runs if I execute it from command mode and there are no issues.You cannot pass parameters back from a job-- Oracle spawns a separate session to run your job, so that session would receive any OUT parameters and end immediately after the job finishes. Even if Oracle let you do this, you would lose the OUT value as soon as the job ended.
If you want a job to return a status, you can-
1) Store the status in a table
2) Queue a status message in an Oracle Advanced Queue
3) Use dbms_alert to alert another process
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC -
Scheduling job using DBMS_JOB.SUBMIT()
Hi people I hav esubmitted a job using DBMS_JOB.SUBMIT() package.I have set the time it should run after 5 minutes from the time i created.but now my question is how do we know the submitted job has been executed within specified interval?.am using oracle 9i.please suggest me.
Regards
VIDSYou should refer to DBA_JOBS and DBA_JOBS_RUNNING views to get information about your jobs
Please refer to this address to get more information about these views
http://pandazen.wordpress.com/2007/12/19/oracle-job-to-be-continued/
Kamran Agayev A. (10g OCP)
http://kamranagayev.wordpress.com -
Oracle Jobs not getting executed
Hi all,
I am using oracle release 10.2.0.4.0. I have two similar databases and I am trying to run same jobs in two different databases. one is running successfully however when i m trying to submit the same jobs in another database the jobs are getting stuck in DBA_JOBS with below values:
next_date next_sec total_time broken interval failures
15-07-2009 00:00:00 0 N NULL NULL
and jobs are not giving desired result. in fact they are not doing any thing which i am expecting.
there is no change in program level. same program unit is able to submit the job in another database. I have checked the job_queue_processes and value is 10.
I don't have any clue were to check at oracle level. i am pl/sql dev so i don't have much hand on oracle.
here is the program block which is submitting jobs:
Job := 'batch_run.Pr_Process_dup
( ' || chr(39) || CurBranch || chr(39) || '
,' || chr(39) || CurUser || chr(39) || '
sys.dbms_job.submit(jno, job, StartTime, Interval);
commit;
This is the part of function were job is getting submitted.
I don't think there is any issue at program level as it was working fine before and there is no change aswell. also same functions are being used in other database. in fact we are using these objects in front end which is working fine in rest of databases.
We have two databases at same server.I compared all parameters in both instances.
Please help me.hi
here are the steps which I did.
1. I submitted job using below code.
declare
job1 integer :=0;
begin
sys.dbms_job.submit(job1,'Begin null; end;',sysdate,'');
commit;
end;
here are the values i was getting in DBA_jobs:
next_date 16-07-2009 15:35:20
next_sec 15:35:20
total_time 0
broken N
interval null
failures (no value)
what Begin null; end;
I don't think it was running.
2. After running ur statement:
set serveroutput on;
exec dbms_job.run(9623);
output: PL/SQL procedure successfully completed.
Job was not present in DBA_JOBS so i think Job got executed.
I am clueless what is happening.What should be the cause?why is it not getting executingwhile running inside the pl/sql block?
Thanks
Edited by: sameer wani on Jul 16, 2009 8:52 AM -
Can getGeneratedKeys() be used when executing batches of statements?
Hi all,
this question was posted in this thread:
Can getGeneratedKeys() be used when executing batches of statements?
but unfortunately I didn't find the answered appropriate.
That thread is now locked, so I would like to start it again here.
This is a summary of the other thread:
Can you retrieve keys generated by a batch of insert statements? The following code produces an ArrayIndexOutOfBoundsException from the Oracle T4CNumberAccessor.unmarshalOneRow() method (see stack trace at the bottom of this message).
The code is:
String sql = "INSERT INTO FOO (ID, NAME) VALUES (FOO_SEQ.NEXTVAL, ?)";
String generatedColumns[] = {"ID"};
PreparedStatement pstmt = connection.prepareStatement(sql, generatedColumns);
pstmt.setString(1, "A");
pstmt.addBatch();
pstmt.setString(1, "B");
pstmt.addBatch();
pstmt.setString(1, "C");
pstmt.addBatch();
//EXCEPTION OCCURS HERE
pstmt.executeBatch();
The exception is:
java.lang.ArrayIndexOutOfBoundsException: 22
at oracle.jdbc.driver.T4CNumberAccessor.unmarshalOneRow(T4CNumberAccessor.java:190)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:610)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10580)
The only answer given was:
"You should directly specify how big your batching is. For that reason you may use ExecutionContext where you can set setBatchingLimit(int) and setBatching(bool). This operation will tell execution context the size of supposed batching and also should be batching performed at all or not. You can add batching jobs but you can not execute the jobs without proper initialization of batching job size - it will fail with out of bounds."
ExecutionContext is not something I found in jdbc drivers, so I'm a bit confused about this answer.
Did anyone solve the problem?
Thanks,
Michele>
We have the same problem. No solution so far.
>
I never found a definitive solution but testing seems to show that this is not possible.
There is no code that can be written to get the generated keys if batching is used.
This is because the 'getGeneratedKeys' method must be called on the prepared statement and would return the generated keys as a ResultSet object. But when batching there is only one prepared statement but multple sets of parameters, one for each batch entry.
Thus there could only be one call to 'getGeneratedKeys' since there is only one prepared statement. This strongly implies that it is not possible to use 'getGeneratedKeys' when batching.
See Retrieval of Auto-Generated Keys in the JDBC Dev guide
http://docs.oracle.com/cd/B19306_01/java.102/b14355/jdbcvers.htm#CHDEGDHJ -
Error executing database query, invalid use of:
I have a problem ColdfusionMX tutorial when I get to add tags
on top of the code view. And I write the same thing as the
tutorial.
I get an error message that says:
Error executing database query.
error occurred while processing request.
Invalid use of ", ", () in query expression
I need help desperatly,
Geordeslys,The web site you are accessing has experienced an unexpected
error.
Please contact the website administrator.
The following information is meant for the website developer
for debugging purposes.
Error Occurred While Processing Request
Error Executing Database Query.
Invalid use of '.', '!', or '()'. in query expression
'ARTISTS.ARTISTID = ART.ARTISTID AND ART.MEDIAID = MEDIA. MEDIAID'.
The error occurred in
C:\CFusionMX7\wwwroot\CFIDE\gettingstarted\tutorial\TMPhy0vtntf3u.cfm:
line 1
1 : <cfquery name="artwork" datasource="cftutorial">
2 : SELECT FIRSTNAME, LASTNAME, ARTNAME, DESCRIPTION, PRICE,
LARGEIMAGE, ISSOLD, MEDIATYPE
3 : FROM ARTISTS, ART, MEDIA
Dear CF_dev2,
Is that what you mean by complete CF code?
Georgeslys,
SQL SELECT FIRSTNAME, LASTNAME, ARTNAME, DESCRIPTION, PRICE,
LARGEIMAGE, ISSOLD, MEDIATYPE FROM ARTISTS, ART, MEDIA WHERE
ARTISTS.ARTISTID = ART.ARTISTID AND ART.MEDIAID = MEDIA. MEDIAID
DATASOURCE cftutorial
VENDORERRORCODE 3092
SQLSTATE
Resources:
Check the ColdFusion documentation to verify that you are
using the correct syntax.
Search the Knowledge Base to find a solution to your problem.
Browser Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1;
.NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; IEMB3;
IEMB3)
Remote Address 127.0.0.1
Referrer
Date/Time 03-Sep-07 07:11 PM
Stack Trace (click to expand)
at
cfTMPhy0vtntf3u2ecfm1461475070.runPage(C:\CFusionMX7\wwwroot\CFIDE\gettingstarted\tutoria l\TMPhy0vtntf3u.cfm:1)
at
cfTMPhy0vtntf3u2ecfm1461475070.runPage(C:\CFusionMX7\wwwroot\CFIDE\gettingstarted\tutoria l\TMPhy0vtntf3u.cfm:1)
com.inzoom.adojni.ComException: Invalid use of
'.', '!', or
'()'. in query expression
'ARTISTS.ARTISTID = ART.ARTISTID
AND ART.MEDIAID = MEDIA. MEDIAID'. in Microsoft JET
Database Engine code=3092 Type=1
at com.inzoom.ado.Command.jniExecute(Native Method)
at com.inzoom.ado.Command.execute(Command.java:40)
at com.inzoom.jdbcado.Statement.exec(Statement.java:34)
at com.inzoom.jdbcado.Statement.execute(Statement.java:107)
at
coldfusion.server.j2ee.sql.JRunStatement.execute(JRunStatement.java:212)
at coldfusion.sql.Executive.executeQuery(Executive.java:753)
at coldfusion.sql.Executive.executeQuery(Executive.java:675)
at coldfusion.sql.Executive.executeQuery(Executive.java:636)
at coldfusion.sql.SqlImpl.execute(SqlImpl.java:236)
at
coldfusion.tagext.sql.QueryTag.doEndTag(QueryTag.java:500)
at
cfTMPhy0vtntf3u2ecfm1461475070.runPage(C:\CFusionMX7\wwwroot\CFIDE\gettingstarted\tutoria l\TMPhy0vtntf3u.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
at
coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349)
at
coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at
coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:225)
at
coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:51)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
at
coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
at
coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:69)
at
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8)
at
coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at
coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at
coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at
coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:115)
at coldfusion.CfmServlet.service(CfmServlet.java:107)
at
coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
at
jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
at
jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at
jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:257)
at
jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
at
jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:318)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:426)
at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:264)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66) -
ORA-27369: job of type EXECUTABLE failed with exit code: Operation not perm
Hello!
we have procedure that create scheduled job that should execute shell script in Linux.
we use DB 11.2.0.2
the file /software/oracle/dba/scripts/bin/trans_asm has full permissions for oracle,
externaljob.ora:
run_user = oracle
run_group = dba
the file has 3 more arguments that will come from procedure and should be executed like :
trans_asm -ssid tsdwh -tsid tudwh -tbsname DW_BILLING_TTS
DBMS_SCHEDULER.create_job (
job_name => v_job_name,
job_type => 'EXECUTABLE',
job_action => '/software/oracle/dba/scripts/bin/trans_asm',
start_date => SYSTIMESTAMP,
number_of_arguments => 3,
enabled => false,
auto_drop => false);
dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1,argument_value=>'-ssid '||v_source);
dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>2,argument_value=>'-tsid '||v_target);
dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>3,argument_value=>'-tsid '||v_target);
dbms_scheduler.enable(name=>v_job_name);
end if;
Please help!Hi!
I have shell scripts with number of mandatory parameters.
How can I write it in sql procedure in order to create exact command line that shuold be executed in Linux?
the procedure looks like :
CREATE OR REPLACE procedure CRM.run_tts (p_tts_name in varchar2 )
is
v_tts_name varchar2(2000);
v_job_name varchar2(2000);
v_source varchar2(200);
v_target varchar2(200);
Begin
v_tts_name := upper(p_tts_name);
--if p_instance_type='P' then
v_source := 'psdwh';
v_target := 'pudwh';
--end if;
if v_tts_name is not null then
v_job_name := 'run_tts_'||v_tts_name;
v_source := '/-ssid/'||v_source;
v_target := '/-tsid/'||v_target;
v_tts_name := '/-tbsname/'||v_tts_name;
DBMS_SCHEDULER.create_job (
job_name => v_job_name,
job_type => 'EXECUTABLE',
job_action => '/tmp/trans_asm',
start_date => SYSTIMESTAMP,
number_of_arguments => 3,
enabled => false,
auto_drop => false);
--dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1,argument_value=>'/software/oracle/dba/scripts/bin/trans_asm.sh'||' '||c_rec.id||' '||'"'||c_rec.view_name||'"'||' '||v_setnum||' '||'"'||V_MACHINE_TYPE||'"'||' '||'"'||p_mode||'"');
dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1,argument_value=>v_source);
dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>2,argument_value=>v_target);
dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>3,argument_value=>v_tts_name);
-- dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1,argument_value=>'/software/oracle/dba/scripts/bin/trans_asm_ps.sh');
--dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1,argument_value=>'/tmp/test.sh');
-- trans_asm -ssid tsdwh -tsid tudwh -tbsname DW_BILLING_TTS
dbms_scheduler.enable(name=>v_job_name);
end if;
end;
the command looks like :
trans_asm -ssid psdwh -tsid pudwh -tbsname YOAV_TTS
Thank you !
Valerie -
ORA-27369: job of type EXECUTABLE failed with exit code: Not owner
Hi
I created a backup RAC database job using DBMS_SCHEDULER under RMANTEST schema (a DBA account) and I got the error as subject.
begin
dbms_scheduler.create_job(
job_name => 'scheduler_backup',
job_type => 'EXECUTABLE',
number_of_arguments => 2,
job_action => '/opt/oracle/admin/bin/rman_fullbackup_RAC_TEST_test.sh',
comments => 'backup via scheduler'
dbms_scheduler.SET_JOB_ARGUMENT_VALUE('scheduler_backup', 1, 'TEST');
dbms_scheduler.SET_JOB_ARGUMENT_VALUE('scheduler_backup', 2, 'TEST2');
dbms_scheduler.enable('scheduler_backup');
end;
Thanks,
KevinHi Ravi
Thanks for your input.
"ORA-27369: job of type EXECUTABLE failed with exit code: Not owner" is what I copied from ADDITIONAL_INFO of USER_SCHEDULER_JOB_RUB_DETAILS.
One thing I don't understand of your words is that
"On 10gR1 and 10gR2 you can redirect the stdout/stderr within your script and take a look at those log files."
In my script, I have log files but I cannot see it. I guess the job fails directly without hitting the redirection line in the script. Do you mean I shall write something like this
dbms_scheduler.create_job (
job_action => '/opt/oracle/admin/bin/backup.sh > backup.log'
Another one is
"make sure that the user that external jobs run as must be able to run your script"
But OS user and database user are two different accounts at different level.
I am using 10.2.0.2 RAC. The Unix script runs successfully every night. I just want to take advantage of DBMS_SCHEDULER to avoid host dependency.
Thanks,
Kevin -
ORA-27369: job of type EXECUTABLE failed with exit code: Key has expired
Hi
I defined the following Job on Linux Redhat 5.4 & Oracle DB 10.2.0.4:
BEGIN
dbms_scheduler.create_job(job_name => 'expjob',
job_type => 'executable',
job_action => '/EXPORT/scott_cmd',
enabled => TRUE,
auto_drop => FALSE);
END;
drwxrwxrwx 2 oracle oinstall 4096 Jul 10 19:19 EXPORTwhere:
/home/oracle>cat /EXPORT/scott_cmd
#!/bin/sh
exp parfile=./scott.par
/home/oracle>cat /EXPORT/scott.par
FILE=scott.dmp
USERID=STRMADMIN/STRMADMIN
OWNER=SCOTT
LOG=scott.log
/home/oracle>ls -l /EXPORT/scott_cmd
-rwxr-xr-x 1 oracle oinstall 34 Jul 10 19:16 /EXPORT/scott_cmd
/home/oracle>ls -l /u01/app/oracle/OraHome_1/rdbms/admin/externaljob.ora
-rw-r--r-- 1 root oinstall 1575 Jul 10 18:42 /u01/app/oracle/OraHome_1/rdbms/admin/externaljob.ora
(run_user = nobody
run_group = nobody)
/home/oracle>ls -l /u01/app/oracle/OraHome_1/bin/extjob
-rwsr-x--- 1 root oinstall 64842 Jul 8 14:21 /u01/app/oracle/OraHome_1/bin/extjob
/home/oracle>ls -l /u01/app/oracle/OraHome_1/bin/extjobo
-rwxr-xr-x 1 oracle oinstall 64842 Jul 8 14:21 /u01/app/oracle/OraHome_1/bin/extjoboWhen I executed as user STRMADMIN ( has DBA & CREATE JOB Privileg) the Job, I got always the error:
/EXPORT>sqlplus STRMADMIN/STRMADMIN
SQL*Plus: Release 10.2.0.4.0 - Production on Sun Jul 10 19:40:24 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> exec dbms_scheduler.run_job('expjob');
BEGIN dbms_scheduler.run_job('expjob'); END;
ERROR at line 1:
ORA-27369: job of type EXECUTABLE failed with exit code: Key has expired
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 1
SQL>Please, help
regards
hqt200475
Edited by: hqt200475 on Jul 10, 2011 10:04 AM
Edited by: hqt200475 on Jul 10, 2011 10:05 AMHi Ronald,
I need the external Job in the 10.2.0.4-Environment because of the Online-Upgrade of a 10.2.0.4-Database to 11.2.0.2 with STREAMS. I want to start the old export from a PL/SQL-Procedure.
Now returning to my problem:
First: Change the run user to oracle:oinstall $ORACLE_HOME/rdbms/admin/externaljob.ora
# This configuration file is used by dbms_scheduler when executing external
# (operating system) jobs. It contains the user and group to run external
# jobs as. It must only be writable by the owner and must be owned by root.
# If extjob is not setuid then the only allowable run_user
# is the user Oracle runs as and the only allowable run_group is the group
# Oracle runs as.
#run_user = nobody
#run_group = nobody
run_user = oracle
run_group = oinstallsecond:
/EXPORT>cat scott_cmd
#!/bin/sh
ORACLE_SID=STB;export ORACLE_SID
ORACLE_HOME=/u01/app/oracle/OraHome_1;export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/opmn/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
/u01/app/oracle/OraHome_1/bin/exp parfile=/EXPORT/scott.parand:
BEGIN
dbms_scheduler.create_job(job_name => 'expjob_r',
job_type => 'executable',
job_action => '/EXPORT/scott_cmd',
enabled => TRUE,
auto_drop => FALSE);
END;
/The manual execution of export as user oracle/oinstall was unproblematic, But I still got the error when running the following procedure :
SQL> exec dbms_scheduler.run_job('expjob_r');
BEGIN dbms_scheduler.run_job('expjob_r'); END;
ERROR at line 1:
ORA-27369: job of type EXECUTABLE failed with exit code: Operation not
permitted
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 1regards
hqt200475
Maybe you are looking for
-
Does imovie work with Mac OS X 10.6.8 (10K549)
Does iMovie work with Mac OS X 10.6.8
-
Relations between schema s after import
Hello, I have a schema that is related to others schema s, i use export to backup the database because the data is not huge and i am not expert DBA yet ,and i have 2 questions: 1- if i want to apply a previous backup to my database do i have to drop
-
Hi my 64gbwifi only ipad2 has screen bleeding and a few dead pixels I bought it a few days ago i realized that I need 3G since I'm out of the House most of the day I want to get a 32gb wifi 3G to save some money on storage would 32 be enough for m
-
Why my docking station doesn't works with iphone 4
I HAVE 2 DOCKING STATIONS (JBL AND YAMAHA) none of them works, does any one know how to solve this problem. Best regards
-
Proxy settings for Creative Suite updating
What are the proxy settings when I update Creative suite on windows. I need the port and network ranges.