Parsing Schema, Remote Database
Hi,
[1]During application creation we encounter screens where we are to select table/view ...there we also have a combo-box ...Parsing Schema ... I always see one option available ..the user I am logged-in. As the field is a combo...I guess we could have many listed in that combo? How?
[2]Is it possible to include pages that fetch data from a different database (rather than the one on which we have ApEx installed) ... I guess one method would be to use dblinks ....can we do it from non-Oracle databases?
Thanks
Devang,
Your first question is impossible to parse with all the embedded ellipses. Let me guess at an answer that might help: In various wizards you see comboboxes with schemas to choose from. This list includes the current application's parsing schema and all schemas that have granted select privilege on at least one table or view to the parsing schema.
The answer to question 2 is yes, use database links. For non-Oracle sources see the literature on Heterogenous Services.
Scott
Similar Messages
-
Performance problem on parsing on remote databases.
Hello experts,
We are facing a performance issue on ORACLE 9.2.0.5
1. We do a select on on a SYNONYM (S_ppm) of a VIEW(ppm) . The View is union
of two tables on two databases on two solaris machines (used database links).
create or replace view ppm as select * from ppm_P UNION ALL SELECT * FROM creactor.ppm_P@SMFD ;
drop synonym S_ppm;
create synonym S_ppm for ppm;
We get the tkprof results as for the select statement on (S_ppm)
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 7278 3.54 7.88 0 0 1015 0
Execute 7616 1.09 1.53 0 0 0 0
Fetch 7109 2.36 4.03 0 13722 0 6098
total 22003 7.00 13.44 0 13722 1015 6098
Misses in library cache during parse: 5
2. We increase the machine to three . Three database on three solaris machine.
create or replace view ppm as select * from ppm_P UNION ALL SELECT * FROM creactor.ppm_P@SMFD UNION ALL SELECT * FROM creactor.ppm_P@SMFE;
drop synonym S_ppm;
create synonym S_ppm for ppm;
We get the tkprof results as for the select statement on (S_ppm)
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 6214 4.96 11.96 0 1 872 0
Execute 6503 1.00 1.31 0 0 0 0
Fetch 6069 3.40 6.28 0 11708 0 5205
total 18786 9.37 19.56 0 11709 872 5205
Misses in library cache during parse: 5
3. Similarly we increase the machine and database to four
We get the tkprof results as for the select statement on (S_ppm)
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 6473 7.19 17.79 0 1 908 0
Execute 6774 1.14 1.43 0 0 0 0
Fetch 6323 4.87 9.46 0 12201 0 5424
total 19570 13.21 28.70 0 12202 908 5424
Misses in library cache during parse: 5
3. Similarly we increase the machine and database to five
We get the tkprof results as for the select statement on (S_ppm)
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 6095 8.58 21.91 0 0 849 0
Execute 6379 1.16 1.42 0 0 0 0
Fetch 5954 5.99 11.78 0 11494 0 5108
total 18428 15.73 35.12 0 11494 849 5108
We see that PARSING elapsed time increases abnormally.
From 7.88 to 11.96 to 17.79 to 21.91
What can be the reason ? and how can we improve on that ?
We found a bug on ORACLE 9.2.0.5
Metalink Bug Id= 4913460 "A soft parse occurs each time a query having embedded remote tables over a database
link is executed."
But ORACLE has no patch for 9.2.0.5 and we cant upgrade to any higher versions?
Can any one help ?
Thanks and regards
Rinchenjr_wastebasket.purge_insignificant_versions helps, I drop old versions of forms
Edited by: Vazha_Mantua on Mar 27, 2009 9:24 AM -
How to create workspace on remote database schema?
Is it possible to create workspace on remote database schema? I have created a database link on remote database. Now want to create workspace on schema on that remote database. I have seen no option in Apex 4.1. Please have your comments on the topic.
Regards
Hasan Al Mamun
Programmer
Bangladesh Bank
Dhaka, BangladeshHello,
this forum is dedicated to APEX Listener, a web server alternative for AEPX. I guess you actually wanted to post in {forum:id=137}. I'd recommend to open a new thread there and mark this thread as answered.
Thanks,
Udo -
To create database link to connect to remote database
Hi all
I am using 10g with apex4.
My apex application is running on our server.
I need to connect to a remote server to get data from there.for that i need to create a database link from apex.
When i tried to create a database link from apex sql commands window it is showing insufficient privilages.
So i created one database link from back end but it is not accessible from apex...
can some one help me in this...
its urgent.....
thanks in advanceHi,
You need create database link to schema that is assigned to your workspace (application parsing schema)
Schema need have CREATE DATABASE LINK system privilege.
Regards,
Jari
Edited by: jarola on Aug 1, 2011 3:34 PM
See documentation
http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10499/advnc.htm#BABBFICH -
Can I give the parsing schema of the Workspace as a Schema existing in a Remote Database(while creating a workspace) . If yes, how can i do that?
The goal is to point the application in a database to a schema in another database.
Thanks
MaheshkumarHi Maheshkumar,
Not really, there are many methods to share data between different systems, but if you are using two Oracle database instances that can easily connect across a network, then DB links are probably the easiest method, depending on your needs.
What exactly are you trying to achieve?
Andre -
Error while Creating form on remote Database
Hi All
I m getting error while creating form on remote database thru
Database link
Line/Column Error
7099/21 PLS-00454: with a returning into clause, the table
expression cannot be remote or a subquery
7099/9 PL/SQL: SQL Statement ignored
7749/16 PLS-00454: with a returning into clause, the table
expression cannot be remote or a subquery
7749/9 PL/SQL: SQL Statement ignored
and statement at line specified is insert statement. and at end
of insert statement Returning caluse is there as follows
RETURNING ROWID INTO "_ROWID";
This returning clause is causing error. Does anybody knows how
to handel it??
Thanks
YogeshYogesh
I haven't seen the ora-03116 problem.
What version of Portal are you running? Are the databases at the same version? Does your table have longs or anything strange in it?
Can you query the table via the synonyms and link in sqlplus as the application schema? This is a good test because it eliminates Portal.
You should try setting up synonyms etc for the emp table. If you still get the problem then Oracle may be able to replicate it. If not, then there's sth funny about your table maybe.
I agree with Vishnu about creating everything in sqlplus. I create all my links and synonyms in sqlplus. They are all public. I have 2 synonyms: one takes you over the link the other takes you to the right schema. It's flexible and it works.
data database: D grants to P (local schema) on table T
public syn T = D.T (sys) (get the right schema)
portal dbase : public db link to data database connecting as P
public syn T = T@dblink (sys) (over the link)
P is a schema created in both databases.
Test is: P in portal dbase can "select * from T" and gets the right data.
I never, ever refer to a schema when defining a form. ie. never P.T or D.T or whatever. I always refer simply to a synonym. For the above my form would be defined simply on the table T.
Hope this helps
Greg -
Problem while accessing object in remote database
Hi All,
We have a procedure "UPDATE_CONV_DETAILS" created in the remote databse in the "apps" schema. The synonym for the procedure is created in the billing schema(present in the remote database). A dblink is created the local database through which we are tring to access the remote object "UPDATE_CONV_DETAILS".
Dblink script:
create public database link PRE_TO_CEL
connect to BILLING
identified by BILLING
using 'MAP1';
When trying to access the object from the local machine using the schema name.object_name it works fine:
SQL> DESC APPS.UPDATE_CONV_DETAILS@PRE_TO_CEL
PROCEDURE APPS.UPDATE_CONV_DETAILS@PRE_TO_CEL
Argument Name Type In/Out Default?
IN_MOBILE VARCHAR2 IN
IN_SERVICE_CODE VARCHAR2 IN
IN_STATUS VARCHAR2 IN
OUT_ERROR_CODE NUMBER OUT
But when trying the access the same object using the synonym_name it gives the error:
SQL> DESC UPDATE_CONV_DETAILS@PRE_TO_CEL
ERROR:
ORA-04043: object APPS.UPDATE_CONV_DETAILS does not exist
Regards,
KirtiYou have two schema.
apps
billing
both reside in remote database.
there on procedure and on procedure u create one synonym and u want to access it.
ur remote database name is "map1"
on ur local database ur create one dblink to access remote database.
ORA-04043: object string does not exist
Cause: An object name was specified that was not recognized by the system. There are several possible causes:
- An invalid name for a table, view, sequence, procedure, function, package, or package body was entered. Since the system could not recognize the invalid name, it responded with the message that the named object does not exist.
- An attempt was made to rename an index or a cluster, or some other object that cannot be renamed.
Action: Check the spelling of the named object and rerun the code. (Valid names of tables, views, functions, etc. can be listed by querying the data dictionary.) -
ORA-28150 when accessing data from a remote database
Portal Version: Portal 3.0.9.8.0
RDBMS Version: 8.1.6.3.0
OS/Vers. Where Portal is Installed:: Solaris 2.6
Error Number(s):: ORA-28150
I have a problem with using a database link to access a table in
a remote database. So long as the dblink uses explicit logins
then everything works correctly. When the dblink does not have a
username then I get the ORA-28150 message. The database link is
always public. A synonym is created locally that points to a
synonym in the remote database. I am using the same Oracle user
in both databases. The Oracle portal lightweight user has this
same Oracle user as its default schema. The contents of the
remote table are always visible to sqlplus, both when the link
has a username and when it doesn't have a username.
All the databases involved are on the same version of Oracle.
I'm not sure which Oracle login is being used to access the
remote database, if my lightweight user has a database schema
of 'xyz' then does portal use 'xyz' to access the remote
database? I would be very grateful for any help or pointers that
might help to solve this problem.
James
To further clarify this, both my local and remote databases
schemas are owned by the same login.
The remote table has a public synonym.
The link is public but uses default rather than explicit logins.
The local table has a public synonym that points to the remote
synonym via the database link.
If I change the link to have an explicit login then everything
works correctly.
I can view the data in the remote database with TOAD and with
sqlplus even when the database link has default login rather
than explicit login.
This seems to point to Portal as being the culprit. Can anyone
tell me whether default logins can be used across database links
with portal?
TIA
James832019 wrote:
One way to do this is by creating a database link and joining the two tables directly. But this option is ruled out. So please suggest me some way of doing this.Thus you MUST use two connection strings.
Thus you are going to be either constructing some intricate SQL dynamically or you are going to be dragging a lot of data over the wire and doing an in memory search.
Although realistically that is what the database link table would have done as well.
Might be better to look at moving the table data from one database to the other. Depends on size of course. -
Oracle VPD on Remote database using DBLINk
Hi All,
How can i apply row level security on a table that is available in another database using DBlink
we have two databases PDSSM and EVTA, and i would like to apply row level security on a table in EVTA from a schema in PDSSM using dblink. MXODSADM IS A SCHEMA IN EVTA AND MXEMBARGO IS A SCHEMA IN PDSSM. there is a dblink(EVTA.GMM.COM) between mxembargo and mxodsadm.
begin
dbms_rls.add_policy (
object_schema => 'MXODSADM',
object_name => 'vehicle_retail_sale',
policy_name => ' MXEMBARGO_EVTA_POLICY',
function_schema =>'MXEMBARGO',
policy_type => dbms_rls.SHARED_CONTEXT_SENSITIVE,
--policy_type => dbms_rls.STATIC,
policy_function => ' MXEMBARGO_EVTA_POLICY.MXEMBARGO_EVTA_PREDICATE',
statement_types => 'select, insert,update,delete',
update_check => TRUE,
enable => TRUE,
static_policy => TRUE
end;
I am a complete Database person and i need to do this in my application, can anyone provide me how can i do this using dblink.wojpik wrote:
hello
I have one short question to you.
Is that possible to create view at remote database using dblink? Following syntax returns error
create view ViewName@DbLinkDame (ColumnName) as
(select 1 from dual )
"ORA-00905:missing keyword"
Is that possible at all?
And particulary - is that possible when remote database is MSSQL and I am using heterogeneous services?
I really appreciate your help
best regards
Wojtek
Edited by: wojpik on Oct 21, 2009 3:59 AMI doubt you would be able to fire any ddl through database link. You have to connect to remote database to run any ddl even if it is Oracle or some other database.
Regards
Anurag -
Remote Database connection error on local database while running a procedur
Dear Gurus,
I am trying to run a procedure to grant Select Access to all objects of a schema to all schema but getting below error messages:
Error report:
ORA-02019: connection description for remote database not found
This is on local database and all required privileges have been given to run this procedure but I dont understand why this error is being thrown every time. I am able to fetch all the tables directly (i.e. SELECT object_name FROM user_objects where OBJECT_TYPE IN('TABLE','VIEW','MATERIALIZED VIEW') AND STATUS='VALID')
Kindly let me know if you have any solution.
Procedure detail:
declare
sqltxt varchar(250);
cursor course_det is
SELECT object_name FROM user_objects where OBJECT_TYPE IN('TABLE','VIEW','MATERIALIZED VIEW') AND STATUS='VALID';
v_objnm user_objects.object_name%type;
begin
open course_det;
loop
fetch course_det into v_objnm;
exit when course_det%notfound;
sqltxt :='GRANT SELECT ON ' || v_objnm|| ' TO public with grant option';
EXECUTE IMMEDIATE sqltxt ;
end loop;
end;
System detail:
Oracle 11.2.0.3/Linux 5.3
Ragards.
Edited by: 877938 on Mar 20, 2013 12:27 AMHi,
It seems you are fetching records from one database to other. for that you need to create dblink for that.
Create dblink first and then try to fetch records using that dblink.
ORA-02019: connection description for remote database not found
Cause: An attempt was made to connect or log in to a remote database using a connection description that could not be found.
Action: Specify an existing database link. Query the data dictionary to see all existing database links. See your operating system-specific Net8 documentation for valid connection descriptors. -
How to change parsing schema for REST
Hi all,
I'm trying to test the new REST Webservice feature, but this leads to an error:
Using Apex 4.2.1.00.08, Listener 2.0.1.64.14.25 I set up a simple WebService (method: GET, format: JSON) which
querys a table.
When I try to test my webservice (using "Test" button) the following error is shown:
Request Path passes syntax validation
Mapping request to database pool: PoolMap [_poolName=apex, _regex=null, _workspaceIdentifier=null, _failed=false, _lastUpdate=-1, _template=null, _type=REGEX]
Applied database connection info
Attempting to process with PL/SQL Gateway
Not processed as PL/SQL Gateway request
Attempting to process as a RESTful Service
Determining if request can be dispatched as a Tenanted RESTful Service
Request path has one path segment, continuing processing
No Tenant Principal established yet, continuing processing
APEX_LISTENER pool exists, continuing processing
Matching tenant exists, continuing processing
modul/template/ matches: modul/template/ score: 0
Choosing: oracle.dbtools.rt.resource.templates.jdbc.JDBCResourceTemplateDispatcher as current candidate with score: Score [handle=JDBCURITemplate [scopeId=null, templateId=1019223475312614|5204902308237886, uriTemplate=modul/template/], score=0, scope=SecurityConfig [constraint=none, realm=NONE, logonConfig=LogonConfig [logonForm=null, logonFailed=null]], originsAllowed=[], corsEnabled=true]
Determining if request can be dispatched as a Tenanted RESTful Service
Request path has one path segment, continuing processing
Tenant Principal already established, cannot dispatch
Chose oracle.dbtools.rt.resource.templates.jdbc.JDBCResourceTemplateDispatcher as the final candidate with score: Score [handle=JDBCURITemplate [scopeId=null, templateId=1019223475312614|5204902308237886, uriTemplate=modul/template/], score=0, scope=SecurityConfig [constraint=none, realm=NONE, logonConfig=LogonConfig [logonForm=null, logonFailed=null]], originsAllowed=[], corsEnabled=true] for: GET modul/template/
Choosing: oracle.dbtools.rt.jdbc.entity.JDBCTenantDispatcher as current candidate with score: Score [handle=oracle.dbtools.rt.jdbc.entity.JDBCTenantDispatcher$TenantTarget@1537060, score=1, scope=SecurityConfig [constraint=none, realm=NONE, logonConfig=LogonConfig [logonForm=null, logonFailed=null]], originsAllowed=[], corsEnabled=true]
Chose oracle.dbtools.rt.jdbc.entity.JDBCTenantDispatcher as the final candidate with score: Score [handle=oracle.dbtools.rt.jdbc.entity.JDBCTenantDispatcher$TenantTarget@1537060, score=1, scope=SecurityConfig [constraint=none, realm=NONE, logonConfig=LogonConfig [logonForm=null, logonFailed=null]], originsAllowed=[], corsEnabled=true] for: GET prx/modul/template/
prx/modul/template/ is a public resource
modul/template/ is a public resource
Using generator: oracle.dbtools.rt.json.query.JSONQueryGenerator
Performing JDBC request as: POFFICE
Error during evaluation of resource template: ORA-00942: Tabelle oder View nicht vorhanden
I see what is going wrong: "Performing JDBC request as: POFFICE". JDBC is using a wrong schema ("POFFICE").
So, my question is, how to change the parsing schema for JDBC/WebService?
Thanks a lot,
Michaeljfle wrote:
Yes - this is the reason,
but is there a way to change or delete the first schema provisioned?See {message:id=3757162}
We have deleted the poffice assignment to the workspace, but the REST-service executes with poffice?Don't know could be a bug.
May be try exporting you restful webservice definition > Edit the export file in textpad/notepad and verify the parsing schema
You will see a block something like below, there just amend the p_parsing_schema to desired > and then import it back
wwv_flow_api.create_restful_module (
p_id => 7113266627142076447 + wwv_flow_api.g_id_offset
,p_name => 'oracle.example.vikram2'
,p_parsing_schema => 'APX'
,p_items_per_page => 25
,p_status => 'PUBLISHED'
); -
How to send e-mail with an attachment from remote database server.???
Hi All,
I have tried the simple mail sending and with the attachment using UTL_SMTP. But the problem is , it is sending the mail with attachment of the file name i give, it takes and creates that file and sends as attachment not from the actual file location. I am trying to attach the file which i stored in remote database server.
The following code I tried. But not worked for attachment
DECLARE
v_From VARCHAR2(80) := '[email protected]';
v_Recipient VARCHAR2(80) := '[email protected]';
v_Subject VARCHAR2(80) := 'test subject';
v_Mail_Host VARCHAR2(30) := 'pop3.somedomain.com';
v_Mail_Conn utl_smtp.Connection;
crlf VARCHAR2(2) := chr(13)||chr(10);
BEGIN
v_Mail_Conn := utl_smtp.Open_Connection(v_Mail_Host, 25);
utl_smtp.Helo(v_Mail_Conn, v_Mail_Host);
utl_smtp.Mail(v_Mail_Conn, v_From);
utl_smtp.Rcpt(v_Mail_Conn, v_Recipient);
utl_smtp.Data(v_Mail_Conn,
'Date: ' || to_char(sysdate, 'Dy, DD Mon YYYY hh24:mi:ss') || crlf ||
'From: ' || v_From || crlf ||
'Subject: '|| v_Subject || crlf ||
'To: ' || v_Recipient || crlf ||
'MIME-Version: 1.0'|| crlf || -- Use MIME mail standard
'Content-Type: multipart/mixed;'|| crlf ||
' boundary="-----SECBOUND"'|| crlf ||
crlf ||
'-------SECBOUND'|| crlf ||
'Content-Type: text/html;'|| crlf ||
'Content-Transfer_Encoding: 7bit'|| crlf ||
crlf ||
'some message text'|| crlf || -- Message body
'more message text'|| crlf ||
crlf ||
'-------SECBOUND'|| crlf ||
'Content-Type: text/html;'|| crlf ||
' name="Fund Authorization report"'|| crlf ||
'Content-Transfer_Encoding: 8bit'|| crlf ||
'Content-Disposition: attachment;'|| crlf ||
' filename="/usr/tmp/Test.html"'|| crlf ||
crlf ||
'HTML Attachment'|| crlf || -- Content of attachment
crlf ||
'-------SECBOUND--' -- End MIME mail
utl_smtp.Quit(v_mail_conn);
EXCEPTION
WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then
raise_application_error(-20000, 'Unable to send mail: '||sqlerrm);
END;How can I attach a file which is stored in database server and send it in a mail.
Please someone help me in this.
Thanks,
Alaka.Try this code
Regards Salim.
CREATE OR REPLACE TRIGGER EmailOnServerErr AFTER SERVERERROR ON DATABASE
DECLARE
mail_conn UTL_SMTP.connection;
crlf VARCHAR2(2) := chr(13)||chr(10);
msg VARCHAR2(32760);
sid_name VARCHAR2(16);
bdump_dest VARCHAR2(128);
smtp_relay VARCHAR2(32) := 'MyMailRelay';
recipient_address VARCHAR2(64) := '[email protected]';
sender_address VARCHAR2(64) := '[email protected]';
mail_port NUMBER := 25;
log_file_handle UTL_FILE.FILE_TYPE;
log_file_dir VARCHAR2(256) := 'ERR_LOG_DIR';
log_file_name VARCHAR2(256) := 'OracleErrors.log';
maxlinesize NUMBER := 32767;
session_rec sys.v_$session%ROWTYPE;
audit_rec sys.dba_audit_trail%ROWTYPE;
auditing BOOLEAN;
LinesOfSQL BINARY_INTEGER;
offending_sql DBMS_STANDARD.ora_name_list_t;
CURSOR bdump_cur IS
SELECT TRIM(value)
FROM v$parameter
WHERE name = 'background_dump_dest'
CURSOR sid_cur IS
SELECT TRIM(instance_name)
FROM v$instance
CURSOR session_cur IS
SELECT s.*
FROM v$session s
WHERE s.sid = dbms_support.mysid
CURSOR audit_trail_cur(AUDSID IN NUMBER) IS
SELECT *
FROM dba_audit_trail
WHERE sessionid = AUDSID
BEGIN
IF (USER = 'SYSTEM' OR USER = 'SYS') THEN
-- Ignore this error
NULL;
ELSIF IS_SERVERERROR (1034) THEN
-- Ignore this error
NULL;
ELSE
-- get the sid
OPEN sid_cur;
FETCH sid_cur INTO sid_name;
CLOSE sid_cur;
-- get the location of the alert log
OPEN bdump_cur;
FETCH bdump_cur INTO bdump_dest;
CLOSE bdump_cur;
-- get the session information
OPEN session_cur;
FETCH session_cur INTO session_rec;
CLOSE session_cur;
-- get the audit_trail information if it exists
OPEN audit_trail_cur(session_rec.audsid);
FETCH audit_trail_cur INTO audit_rec;
auditing := audit_trail_cur%FOUND;
CLOSE audit_trail_cur;
IF session_rec.program = 'MyProgram.exe' THEN
NULL; -- ignore actions from MyProgram - that's where I do maintenance
ELSE
-- compose the message
msg := 'Subject: Oracle error '||' on '||sid_name||crlf;
msg := msg||'To: '||recipient_address||crlf;
msg := msg||'For more information see the alert log file located at:'||crlf;
msg := msg||bdump_dest||'/alert_'||sid_name||'.log'||crlf;
msg := msg||'or the error log file: $'||log_file_dir||'/'||log_file_name||crlf;
msg := msg||'Error Time='||TO_CHAR(SYSDATE,'DD-Mon-YYYY HH24:MI:SS')||crlf;
msg := msg||DBMS_UTILITY.FORMAT_CALL_STACK||crlf;
LinesOfSQL := sql_txt(offending_sql);
msg := msg||'Offending SQL is:'||crlf;
FOR loop_counter IN offending_sql.FIRST..offending_sql.LAST
LOOP
msg := msg||offending_sql(loop_counter);
END LOOP;
msg := msg||crlf||'----- PL/SQL Error Stack -----'||crlf;
msg := msg||DBMS_UTILITY.FORMAT_ERROR_STACK||crlf;
msg := msg||'V$SESSION.SADDR=' ||session_rec.saddr ||crlf;
msg := msg||'V$SESSION.SID=' ||session_rec.sid ||crlf;
msg := msg||'V$SESSION.SERIAL#=' ||session_rec.serial# ||crlf;
msg := msg||'V$SESSION.AUDSID=' ||session_rec.audsid ||crlf;
msg := msg||'V$SESSION.PADDR=' ||session_rec.paddr ||crlf;
msg := msg||'V$SESSION.USER#=' ||session_rec.user# ||crlf;
msg := msg||'V$SESSION.USERNAME='||session_rec.username||crlf;
msg := msg||'V$SESSION.COMMAND=' ||session_rec.command ||crlf;
msg := msg||'V$SESSION.OWNERID=' ||session_rec.ownerid ||crlf;
msg := msg||'V$SESSION.TADDR=' ||NVL(session_rec.taddr ,'Null')||crlf;
msg := msg||'V$SESSION.LOCKWAIT='||NVL(session_rec.lockwait,'Null')||crlf;
msg := msg||'V$SESSION.STATUS=' ||NVL(session_rec.status ,'Null')||crlf;
msg := msg||'V$SESSION.SERVER=' ||NVL(session_rec.server ,'Null')||crlf;
msg := msg||'V$SESSION.SCHEMA#=' ||session_rec.schema#||crlf;
msg := msg||'V$SESSION.SCHEMANAME=' ||NVL(session_rec.schemaname,'Null')||crlf;
msg := msg||'V$SESSION.OSUSER=' ||NVL(session_rec.osuser ,'Null')||crlf;
msg := msg||'V$SESSION.PROCESS=' ||NVL(session_rec.process ,'Null')||crlf;
msg := msg||'V$SESSION.MACHINE=' ||NVL(session_rec.machine ,'Null')||crlf;
msg := msg||'V$SESSION.TERMINAL=' ||NVL(session_rec.terminal ,'Null')||crlf;
msg := msg||'V$SESSION.PROGRAM=' ||NVL(session_rec.program ,'Null')||crlf;
msg := msg||'V$SESSION.TYPE=' ||NVL(session_rec.type ,'Null')||crlf;
msg := msg||'V$SESSION.SQL_ADDRESS=' ||session_rec.sql_address ||crlf;
msg := msg||'V$SESSION.SQL_HASH_VALUE=' ||NVL(TO_CHAR(session_rec.sql_hash_value) ,'Null')||crlf;
msg := msg||'V$SESSION.PREV_SQL_ADDR=' ||session_rec.prev_sql_addr||crlf;
msg := msg||'V$SESSION.PREV_HASH_VALUE='||NVL(TO_CHAR(session_rec.prev_hash_value),'Null')||crlf;
msg := msg||'V$SESSION.MODULE=' ||NVL(session_rec.module ,'Null')||crlf;
msg := msg||'V$SESSION.MODULE_HASH='||NVL(TO_CHAR(session_rec.module_hash),'Null')||crlf;
msg := msg||'V$SESSION.ACTION=' ||NVL(session_rec.action ,'Null')||crlf;
msg := msg||'V$SESSION.ACTION_HASH='||NVL(TO_CHAR(session_rec.action_hash),'Null')||crlf;
msg := msg||'V$SESSION.CLIENT_INFO='||NVL(session_rec.client_info ,'Null')||crlf;
msg := msg||'V$SESSION.FIXED_TABLE_SEQUENCE='||NVL(TO_CHAR(session_rec.fixed_table_sequence),'Null')||crlf;
msg := msg||'V$SESSION.ROW_WAIT_OBJ#=' ||NVL(TO_CHAR(session_rec.row_wait_obj#) ,'Null')||crlf;
msg := msg||'V$SESSION.ROW_WAIT_FILE#=' ||NVL(TO_CHAR(session_rec.row_wait_file#) ,'Null')||crlf;
msg := msg||'V$SESSION.ROW_WAIT_BLOCK#='||NVL(TO_CHAR(session_rec.row_wait_block#),'Null')||crlf;
msg := msg||'V$SESSION.ROW_WAIT_ROW#=' ||NVL(TO_CHAR(session_rec.row_wait_row#) ,'Null')||crlf;
msg := msg||'V$SESSION.LOGON_TIME=' ||NVL(TO_CHAR(session_rec.logon_time,'DD-Mon-YYYY HH24:MI:SS'),'Null')||crlf;
msg := msg||'V$SESSION.LAST_CALL_ET=' ||NVL(TO_CHAR(session_rec.last_call_et) ,'Null')||crlf;
msg := msg||'V$SESSION.PDML_ENABLED=' ||NVL(session_rec.pdml_enabled ,'Null')||crlf;
msg := msg||'V$SESSION.FAILOVER_TYPE=' ||NVL(session_rec.failover_type ,'Null')||crlf;
msg := msg||'V$SESSION.FAILOVER_METHOD='||NVL(session_rec.failover_method,'Null')||crlf;
msg := msg||'V$SESSION.FAILED_OVER=' ||NVL(session_rec.failed_over ,'Null')||crlf;
msg := msg||'V$SESSION.RESOURCE_CONSUMER_GROUP='||NVL(session_rec.resource_consumer_group,'Null')||crlf;
msg := msg||'V$SESSION.PDML_STATUS=' ||NVL(session_rec.pdml_status ,'Null')||crlf;
msg := msg||'V$SESSION.PDDL_STATUS=' ||NVL(session_rec.pddl_status ,'Null')||crlf;
msg := msg||'V$SESSION.PQ_STATUS=' ||NVL(session_rec.pq_status ,'Null')||crlf;
IF auditing THEN
msg := msg||'DBA_AUDIT_TRAIL.OS_USERNAME=' ||NVL(audit_rec.os_username,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.USERNAME=' ||NVL(audit_rec.username ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.USERHOST=' ||NVL(audit_rec.userhost ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.TERMINAL=' ||NVL(audit_rec.terminal ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.TIMESTAMP=' ||TO_CHAR(audit_rec.timestamp,'DD-Mon-YYYY HH24:MI:SS')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.OWNER=' ||NVL(audit_rec.owner ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.OBJ_NAME=' ||NVL(audit_rec.obj_name ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.ACTION=' ||audit_rec.action ||crlf;
msg := msg||'DBA_AUDIT_TRAIL.ACTION_NAME=' ||NVL(audit_rec.action_name ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.NEW_OWNER=' ||NVL(audit_rec.new_owner ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.NEW_NAME=' ||NVL(audit_rec.new_name ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.OBJ_PRIVILEGE='||NVL(audit_rec.obj_privilege ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.SYS_PRIVILEGE='||NVL(audit_rec.sys_privilege ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.ADMIN_OPTION=' ||NVL(audit_rec.admin_option ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.GRANTEE=' ||NVL(audit_rec.grantee ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.AUDIT_OPTION=' ||NVL(audit_rec.audit_option ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.SES_ACTIONS=' ||NVL(audit_rec.ses_actions ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_TIME=' ||NVL(TO_CHAR(audit_rec.logoff_time) ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_LREAD=' ||NVL(TO_CHAR(audit_rec.logoff_lread) ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_PREAD=' ||NVL(TO_CHAR(audit_rec.logoff_pread) ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_LWRITE='||NVL(TO_CHAR(audit_rec.logoff_lwrite),'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_DLOCK=' ||NVL(audit_rec.logoff_dlock ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.COMMENT_TEXT=' ||NVL(audit_rec.comment_text ,'Null')||crlf;
msg := msg||'DBA_AUDIT_TRAIL.SESSIONID=' ||audit_rec.sessionid ||crlf;
msg := msg||'DBA_AUDIT_TRAIL.ENTRYID=' ||audit_rec.entryid ||crlf;
msg := msg||'DBA_AUDIT_TRAIL.STATEMENTID=' ||audit_rec.statementid ||crlf;
msg := msg||'DBA_AUDIT_TRAIL.RETURNCODE=' ||audit_rec.returncode ||crlf;
msg := msg||'DBA_AUDIT_TRAIL.PRIV_USED=' ||NVL(audit_rec.priv_used,'Null')||crlf;
END IF;
msg := msg||'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-'||crlf||crlf;
-- write the message to the error log file
log_file_handle := UTL_FILE.FOPEN (log_file_dir, log_file_name, 'A',maxlinesize);
UTL_FILE.PUT_LINE(log_file_handle,msg);
UTL_FILE.FCLOSE(log_file_handle);
-- send the message by Email
mail_conn := UTL_SMTP.open_connection(smtp_relay, mail_port);
UTL_SMTP.HELO(mail_conn, smtp_relay);
UTL_SMTP.MAIL(mail_conn, sender_address);
UTL_SMTP.RCPT(mail_conn, recipient_address);
UTL_SMTP.DATA(mail_conn, msg);
UTL_SMTP.QUIT(mail_conn);
END IF; -- client_program = MyProgram.exe
END IF;
END;
/ -
Select type_address in Portal report's sql query using remote database
how do i select type_address item from remote database table ?
I've already create the database link called db_link.
I've already execute the sql statement in the specified database, and it works.
for example: ( sql plus in the specified database )
select syk.alamat_syarikat.alamat1 from MCS_SYARIKAT syk
for example: ( sql statement in portal report using database link )
select nama_syarikat, syk.alamat_syarikat.alamat1 from MCS_SYARIKAT@dblink syk
error massage:
Unable to describe SQL statement. Please correct it (WWV-13010)
Invalid SQL statement: select syk.alamat_syarikat.alamat1 from MCS_SYARIKAT@dblink syk (WWV-13005)
ORA-01001: invalid cursor (WWV-11230)
ORA-22804: remote operations not permitted on object tables or user-defined type columns (WWV-11230)
Failed to parse as MCS_PUBLIC - select syk.alamat_syarikat.alamat1 from MCS_SYARIKAT@dblink syk (WWV-08300)Here's the actual query:
SELECT BUILD_EXT_RES_LIST(EXT_FILE.ID) A
FROM EXT_FILE_RES, EXT_FILE
WHERE EXT_FILE_RES.ON_OWNER_PROFILE = 'Y' AND
EXT_FILE.OWNER_ID = :PROFILE AND
EXT_FILE.ID = EXT_FILE_RES.EXT_ID AND
(RES_SUBSCRIBER_YN(EXT_FILE.ID,:CURR_ID) = 'YES' OR
ADMINYESNO(:CURR_ID,:PROFILE) = 'YES')
ORDER BY EXT_FILE.FILE_NAMEAnd here's the actual error message:
1 error has occurred
Query cannot be parsed within the Builder. If you believe your query is syntactically correct, check the ''generic columns'' checkbox below the region source to proceed without parsing. ORA-00904: "SER_IS_ADMINYESNO": invalid identifier -
Access blob/ord column from remote database
Hi,
I am using oracle 10.2.
I have two database X and Y and on Y database i have the table B with column ORDDOC.
The db link is created on A to access all tables of B. I can access all tables from B except X.
Could you please advise how can i access table X from B database.
Database - Y
SQL> desc B;
Name Null? Type
ATTACHMENT_ID NOT NULL NUMBER(38)
ATTACHMENT ORDSYS.ORDDOC
SQL>
Database - X
SQL> select * from B@DB_LINK_TRDX2.WORLD;
select * from B@DB_LINK_TRDX2.WORLD
ERROR at line 1:
ORA-22804: remote operations not permitted on object tables or user-defined
type columns
SQL>
Anybody could help pls ?Kapil wrote:
The document is in different database and used by other schemas as well from that database.
.Net is GUI.Daniel raised a very important point. Moving that document via another database doubles the network load for that operation. And doubles the performance impact on the client.
Is this in any way a sensible thing to do? Most definitely not.
Assuming that the client cannot reach the remote database containing the documents, and that can only be done via the local database, then you need to look at options such as materialised views. Replicate the remote content from the remote database to the local database at regular intervals.
As the data set is large (containing LOB documents), consider fast incremental refreshing (and not pull the entire data set across with each refresh).
Yes, you can write PL/SQL code that grabs the remote document and copies it into a local LOB and then dish that up to the client. But the impact of this on the network and performance are major concerns that need to be thoroughly evaluated first. -
How to create materialized view log on remote database
How do you create materialized view logs on a remote database.
I tried
create materialized view log on global_express_views.vccs438_project_work_request@h92edwp with sequence, rowid ( columns...)
ERROR at line 1:
ora-00949 illegal reference to remote databaseHi,
I am not getting the error exactly. But have some suggestion:
If the schema owner does not own the master tables, then the schema owner must have the GLOBAL QUERY REWRITE privilege or the QUERY REWRITE object privilege on each table outside the schema.
Hope, this may help you?
Thanx.. Ratan
Maybe you are looking for
-
IDVD5 (and other Apple Apps) frequently crashing
I am having a problem which has just recently started happening where iDVD will not even startup. It begins to, and then crashes shortly after clicking its icon in the dock. Several other Apple applications are also very unstable on my system. Mail c
-
V6 quiz report LMS as completed after 3 failed attempts
I have a pure quiz in captivate 6 that allows the learner to take it 3 times only eg Attempt 1 = fail = report LMS incomplete Attempt 2 = fail = report LMS incomplete Attempt 3 = fail = report LMS incomplete What i need is not logical but......... I
-
Strange flashing cursor problem
Hi, I've just finished installing Vista 32bit on my Macbook Air (1.6) and its working fine apart from one small problem - when starting up it freezes on a black screen with a flashing cursor for 2-4 mins and then will start loading Vista fine. Once i
-
Drop Zone =[ sad bunny
Hi, I'm new to Flash and Actionscript, I'm using Actionscript 3, I've created an flv just to test things out, see what I can do and so on, I created a drag and drop MC object, the script for the dragging of orangebox works fine, I then created a Drop
-
Recurring calendar meeting issue
A few users are having the same issue with recurring calendar meetings. When opening the message outlook will display "This meeting request was updated after this message was sent. You should open a later update or open the item on the calendar." Th