Should replace AppModule:beforeDisconnect when using PROXY user database?
Hello, OTN,.I'm trying to find out the ability to use the proxy database user associated with the application of the ADF.
First link Google showed me this blog: https://blogs.oracle.com/imc/entry/how_to_use_database_proxy. In this case, AppModuleImpl::afterConnect and beforeDisconnect are overloaded.
This implementation of the method showed trouble with passivation/activation.
Other research Ferré it is recommended to substitute AppModuleImpl::prepareSession instead of these methods. Found here: ADF 11 g - user Proxy
My question is: is the second method really activation/passivation without danger? And should I replace beforeDisconnect the same way as described in the first method?
Thank you.
ADF 11.1.2.1
Anyone?
Published by: ILya Cyclone on March 1, 2012 12:35
My question is: is the second method really activation/passivation without danger?
I don't see any problems with it - what have you seen when you tested? Turn off AM pooling (including forces activation/passivation) and test
And should I replace beforeDisconnect the same way as described in the first method?
NO.
Tags: Java
Similar Questions
-
Hello
in order to connect as follows:
Conn myuser[anotheruser]@mydb
What more could the Oracle database server must be installed?
I've seen actually in the documentation:
http://docs.Oracle.com/CD/E11882_01/network.112/e10744/adminste.htm#i1007943
Thank you.1.Log in to the Oracle Internet Directory Self-Service Console
No, you do not have whatever it is something special to do the proxy connection works. A user alter is sufficient:
http://docs.Oracle.com/CD/B19306_01/server.102/b14200/statements_4003.htm#i2115788Nicolas.
-
I have a Flex Web application and uses the following controls "ConnectSessionContainer" and "SharedWhiteBoard". I run few cases of applications and inside the Whiteboard changed something (example: cordinate, size) it is clear from this development spread hollow LCC to another application connected to the same room and show the cursor 'First Name', 'Second name' + 'connection ID/number.
Issues related to the:
-How can I hide/change label = text on the slider. I mean "First Name", "Second name" + "connection ID/number.
-J' changed in my adobe "First Name" + "Second Name" profile, but is not propagated in the Whiteboard why?
-Next time when I run the app 'Connection ID/number' incremented even if narrow application and start again. How to manage this part? I mean do not multiplyHello
Try to explore the API SharedWhiteBoard.model.sharedCursorPane.labelField to get and set the displayName property cursors.
Thank you
Arun
-
error-2147217900 when using in labview database connectivity tools
Hai... im new to create the database with the help of examples available im get some ideas... even if when I try to create a table I get an error that is attached with this thread... kindly someone give suggestion to create the database using the Toolkit or suggest resources to...
I got it.. I tried to create a pass/fail column, I mistake here... and it corrects... must use pass_fail
-
Hello
I am new to the Oracle security, and I would like to know how to connect to the database using the proxy users and what is the benefit of it? Can someone give me some advice. I have experience with the Oracle database and security.
Thank you
PeterA standard use case, is you want to have a connection pool in the intermediate level where all application users are connecting to the database to the same user. This allows you to avoid the overhead of creating and destroying a physical database connection whenever an application user requests a web page (creation and close a physical connection, whenever someone asked a page usually would take more time and potentially much more time that actually generate the page would take) and it allows to avoid having tons of physical connection in your pool of connections that can only be reused by user of a particular application which means that you end up with many, many more connections to the database that you need.
In any environment of three levels, this means that you end up with a connection pool that uses a single shared user database account to do everything. If you do not use the proxy users, this means that your application must know how to create users of the application, it must manage the privileges, it must implement all the security you need, etc.. And this means that the shared user account that everyone use needs to have all the privileges of any user of the application would never which means that the shared user account ends usually run more privileges should it really 99.999% of the time because once each year that some admin user must do something. If the shared database is compromised (either because your application has a security hole, or because someone had access to the shared user account password) the attacker has a much wider range of attacks that they can perform.
If you are using proxy users, however, you get the best of both worlds. The middle-tier connection pool connects to the database as the shared user has but all actual interactions occur as a user B. Your application needs to build in the ability to manage and apply privileges - it uses which provides the database. Your application does not need to build into the safe, it can take advantage of the ability of Oracle to grant special privileges to some users. You don't end up with a tremendously super-powerful shared user account, you grant just all different individual accounts regardless of the privileges that they actually need so users admin can do certain things and professional power users can do a combination of things and not a separate account can do anything.
Tom Kyte has a nice discussion on proxy so users
http://asktom.Oracle.com/pls/Apex/f?p=100:11:0:P11_QUESTION_ID:21575905259251
Justin
-
How to log on as a proxy user identified externally
Hello.
Two users defined thus: create user Njn identified externally. grant connect to Njn; change user App_owner grant connect through Njn;
Through the sqlplus:
[App_owner]/@db1 sqlplus
Via ODP.NET:
con. ConnectionString = "user Id = App_owner; Proxy User Id =; Data Source = db1; « ;
How to connect via sqldeveloper in this case (I can connect correctly identified externally by sqldeveloper).
Regards Niels Jespersen
I asked a Service request with Oracle. Finally, there is a note of support (Note 1261857.1 : how to use Proxy user in SQL Developer?) that explains how do.
Best regards, Niels Jespersen
-
When I create the domain user, I used option user must change at the first logon, but am unble to get it.
Hi RadhamAravind,
Thanks for posting in the Microsoft Community.
As you create a domain user, the question you posted would be better suited for the IT Pro TechNet public. I would recommend posting your query in the TechNet Forums to get help:
-
TimesTen - 7001: user authentication failed when using XLA
I installed TimesTen 11.2.1.8.0 on AIX 5.3 System.* user 'oracle '. I created another user of the application 'risk' to use in my application with TimesTen.
When running my application with the user 'risk' to connect with TimesTen it is OK. But when I want to use the XLA feature, when I call the createDurableSubscriber function, it returns the error
javax.jms.JMSException: failure of SQLDriverConnect (XlaCommon.c, line 48): S1000 7001 [TimesTen] [driver ODBC of TimesTen 11.2.1.8.0] TT7001 [TimesTen]: user authentication failed - file "db.c", lineno 9722, procedure 'sbDbConnect '.
It is strange that if I switch to user 'oracle', it works fine.
Can someone please help understand the reason why.
Thank you
You created the user 'at risk' within your TimesTen database?
CREATE a USER risk IDENTIFIED BY 'some password'?
You granted the privilege of the user risk to use XLA?
XLA GRANT at risk;
Have you used this user name and password in the JDBC URL when connecting to the database application JMS/XLA?
The 'oracle' user is probably your admin user of the instance (which is the database root) and therefore can use all the features without special action (but of course you never run application as that user).
Chris
-
Hello
Thanks in advance for helping me to solve after publication:
I tried to run a report of OBIEE including data model comes from the layer of the ADF.
In my module of the application, I have 5 display objects:
For Ex: VO1 VO2 VO3, VO4 VO5
And I show the links between: VO1 and VO2 (lets say: VO1_VO2_VIewLink).
VO2 at VO3 ((permet de dire: VO2_VO3_VIewLink)), VO4 is related to the ((permet de dire: VO4_VO3_VIewLink) VO3) & VO5 is linked to VO3 (lets say: VO5_VO3_VIewLink)
When I deploy this application on OBIEE and run a report with objects of:
(1) VO1 and VO2-report works fine
(2) VO2 and VO3 -report works fine
(3) VO4 and VO3 -report works fine
(4) VO5 and VO3 -report works fine
(5) VO1, VO2, VO3 -report works fine
It is when I run the report with the objects of
VO1 and VO2 VO3 VO4, it throws an error message:
"Error occurs when calling remote ADFService11G service. Details: ADFException-3007: The ViewObject "AppModule.VO3" is used as a destination more than a ViewLink. (HY000) »
OBIEE Version is: 11.1.1.7.0 (with no patches) basis data: 11 GR 2, Jdev:11.1.1.7.0
Kind regards
RAM.
I was able to resolve this error by changing my AppModule datamodel application, by changing the cardinality between VO3 and any other 1: n VO (VO3) to 1 (VO3): n. making VO3 as source VO object rather than view destination object.
Kind regards
RAM.
-
Should what predefined order I use when using videos of 1920 x 1080 29.97 fps xperia z5?
Someone has an idea?
Must I provide additional information and if so what?
Thank you!
Hi Michel,.
You may need to check this: FAQ: how to choose the right sequence settings?
Kind regards
Navdeep Pandey
-
What type of layer should be used when using the effects lighitng filters "I can't using the way I expect to work -
I want to add lights to he image - and to inform the parties of the image - I duplicated the layer add the lights in the filters, but it does not act as a process additive-
Check out this tutorial from Phlearn on YouTube. It is a bit more flexible, but, of course, requires a bit of elbow grease more Photoshop-wise.
Create beams of light in Photoshop - YouTube
Using this technique, you can adjust the 'lights' as you want by manipulating setting masks. See screenshot below. (Still once again, excuse the butchering.)
-
VMA 4.1 request user name password when using esxcli
Facing a problem when I use vma against a host esxi 4.1 4.1. When using esxcli vma asks user name and password. I tried the root and vi-admin but no luck. I am authenticating against the host (AD not connected). Other commands I used to change the networking worked fine.
any help appreciated
Viviane
Can you confirm the following command on the works of vMA:
esxcfg-vswitch --server
--username -l You will be prompted for the password and make sure you get a list of your vSwitches.
=========================================================================
William Lam
VMware vExpert 2009,2010
VMware VCP3, 4
VMware VCAP4-DCA
VMware scripts and resources at: http://www.virtuallyghetto.com/
Introduction to the vMA (tips/tricks)
Getting started with vSphere SDK for Perl
VMware Code Central - Scripts/code samples for developers and administrators
If you find this information useful, please give points to "correct" or "useful".
-
Using java user-defined aggregate function
Hello
I'm trying to implement a with Java user-defined aggregate function.
Here's the Code Javaclass:
Import Java.util;
Oracle.sql import. *;
import java.sql. *;
import Java.Math.BigDecimal;
Oracle import. CartridgeServices.*;
stored the context type
public class StoredCtx_SecMax
{
private BigDecimal b_max;
private BigDecimal b_secmax;
public StoredCtx_SecMax()
{
b_max = new BigDecimal (0);
b_secmax = new BigDecimal (0);
}
public void SchreibeMax (entry BigDecimal)
{
b_max = entry;
}
public void SchreibeSecMax (entry BigDecimal)
{
b_secmax = entry;
}
public BigDecimal LeseMax()
{
Return b_max;
}
public BigDecimal LeseSecMax()
{
Return b_secmax;
}
}
implementation type
/ public class SecondMax_j implements SQLData
{
BigDecimal private key;
Ultimate SUCCESS of static BigDecimal = new BigDecimal (0);
Final static BigDecimal ERROR = new BigDecimal (1);
Implement the SQLData interface.
String sql_type;
public String getSQLTypeName() throws SQLException
{
Return sql_type;
}
' Public Sub readSQL (SQLInput stream, string typeName) throws SQLException
{
sql_type = typeName;
key = stream.readBigDecimal ();
}
Public Sub writeSQL (SQLOutput stream) throws SQLException
{
stream.writeBigDecimal (key);
}
methods of the type that implements ODCITable interface
public static BigDecimal ODCIAggregateInitialize (oracle.sql.STRUCT [] sctx)
throws SQLException
{
Connection Conn = DriverManager.getConnection("jdbc:default:connection:");
create a stored environment and store the result set in it
StoredCtx_SecMax ctx = new StoredCtx_SecMax();
context of registry stored with cartridge services
Touch int;
try {}
key = ContextManager.setContext (ctx);
} catch {} (EC CountException)
error return;
}
Create an instance of StockPivotImpl and store the key of
Object [] impAttr = new Object [1];
impAttr [0] = new BigDecimal (key);
StructDescriptor sd = new StructDescriptor ("SECONDMAX_J", conn);
SCTX [0] = new STRUCT(sd,conn,impAttr);
return a SUCCESS;
}
public BigDecimal ODCIAggregateIterate (BigDecimal input)
throws SQLException
{
retrieve the context stored with the key
CTX StoredCtx_SecMax;
try {}
CTX = (StoredCtx_SecMax) ContextManager.GetContext (Key.intValue ());
} catch (InvalidKeyException ik) {}
error return;
}
BigDecimal b_max;
BigDecimal b_secmax;
b_max = ctx. LeseMax();
b_secmax = ctx. LeseSecMax();
If (eingabe.compareTo (b_max) == 1)
{
CTX. SchreibeSecMax (b_max);
CTX. SchreibeMax (input);
}
on the other
{
If (eingabe.compareTo (b_secmax) == 1)
{
CTX. SchreibeSecMax (input);
}
}
return a SUCCESS;
}
public BigDecimal ODCIAggregateTerminate (double [] returnValue, int flags) throws SQLException {}
retrieve the context stored with the key
CTX StoredCtx_SecMax;
try {}
CTX = (StoredCtx_SecMax) ContextManager.clearContext (Key.intValue ());
} catch (InvalidKeyException ik) {}
error return;
}
returnValue [0] = ctx. LeseSecMax () .doubleValue ();
CTX = null;
return a SUCCESS;
}
public BigDecimal ODCIAggregateMerge (oracle.sql.STRUCT ctx2) throws SQLException {}
return a SUCCESS;
}
}
To implement this in the database, I use the following script:
CREATE OR REPLACE TYPE IMPROG. SECONDMAX_J as object
(
INTEGER key,
public static function ODCIAggregateInitialize (sctx IN OUT SECONDMAX_J)
Return number
IN THE JAVA LANGUAGE
NAME "Java.Math.BigDecimal return from SecondMax_j.ODCIAggregateInitialize (oracle.sql.STRUCT []).
,
Member ODCIAggregateIterate (self IN OUT SECONDMAX_J function,
Number return value)
IN THE JAVA LANGUAGE
NAME "Java.Math.BigDecimal SecondMax_j.ODCIAggregateIterate return (Java.Math.BigDecimal).
,
Member ODCIAggregateTerminate (self IN SECONDMAX_J function,
Return returnValue NUMBER, flags in number number)
IN THE JAVA LANGUAGE
NAME "Java.Math.BigDecimal return of SecondMax_j.ODCIAggregateTerminate (double [], int).
,
Member ODCIAggregateMerge (self IN OUT SECONDMAX_J function,
CTX2 IN SECONDMAX_J) return number
IN THE JAVA LANGUAGE
NAME "Java.Math.BigDecimal SecondMax_j.ODCIAggregateMerge return (oracle.sql.STRUCT)".
);
/
CREATE OR REPLACE FUNCTION F_SECONDMAX_J (NUMBER value) RETURN NUMBER
PARALLEL_ENABLE
AGGREGATION to the HELP of SecondMax_j;
/
When I now use the F_SECONDMAX_J function.
"(Columnname) select F_SECONDMAX_J from Tablename t;
It works perfectly and shows me the right result.
Then I tried to implement the fusion part as follows:
public BigDecimal ODCIAggregateMerge (oracle.sql.STRUCT ctx2) throws SQLException {}
BigDecimal Key2 = null;
BigDecimal ctx_max = null;
BigDecimal ctx_secmax = null;
BigDecimal ctx2_max = null;
BigDecimal ctx2_secmax = null;
retrieve the context stored with the key
StoredCtx_SecMax ctx = null;
try {}
CTX = (StoredCtx_SecMax) ContextManager.GetContext (Key.intValue ());
} catch (Exception e) {}
}
Object [] impAttr = ctx2.getAttributes ();
Key2 = (BigDecimal) impAttr [0];
retrieve the second context stored using the key2
StoredCtx_SecMax ctx_sec = null;
try {}
ctx_sec = (StoredCtx_SecMax) ContextManager.GetContext (key2.intValue ());
} catch (Exception e) {}
}
ctx_max = ctx. LeseMax();
ctx_secmax = ctx. LeseSecMax();
ctx2_max = ctx_sec. LeseMax();
ctx2_secmax = ctx_sec. LeseSecMax();
If (ctx2_max.compareTo (ctx_max) == 1)
{
If (ctx2_secmax.compareTo (ctx_secmax) == 1)
{
CTX. SchreibeSecMax (ctx2_secmax);
}
on the other
{
CTX. SchreibeSecMax (ctx_max);
}
CTX. SchreibeMax (ctx2_max);
}
on the other
{
If (ctx2_max.compareTo (ctx_secmax) == 1)
{
CTX. SchreibeSecMax (ctx2_max);
}
}
return a SUCCESS;
}
When I now try the function
"Select / * + parallel (t 4) * / F_SECONDMAX_J (Columnname) of Tablename t;
I always get a pointer NULL-error because the variable key2 is always 0 and therefore the functions LeseMax() and LeseSecMax()
in the second context 'ctx_sec' produce this error NULL pointer.
To me it seems that each parallel process is the construction of an additional class for himself, which is not available are my main process.
My question is now how it is possible to access the context of stored of the parallel process, so that I can combine the results.
Thank you very much
JosefHi Josef,
just guess that I've never implemented with java user-defined aggregate functions or support parallel execution:
Maybe you have to implement ODCIAggregateWrapContext?
+ Application of ODCIAggregateWrapContext is optional. It should be implemented only when the external memory is used to hold the aggregative, context and the user-defined aggregate is evaluated in parallel (which is, stated as PARALLEL_ENABLE). If the user-defined aggregate is not evaluated in parallel, ODCIAggregateWrapContext is not necessary. +
[http://docs.oracle.com/cd/B12037_01/appdev.101/b10800/dciaggfns.htm#i1004974]Report it to progress and success.
Good luck
Rainer Stenzel -
Satellite A200 - IE7 windows 'restore down' when using the Tracker pad
Hi, I recently bought a Satellite A200 - 1VO and when using the laptop without a windows mouse explore 'restore down' at random.
I found a thread on the site of the Internet USER who said that if his past not with a mouse, it may need tracker drivers up-to-date.
You can also consider its under warranty.
Any ideas anyone?Hello
It s a bit confused what you´ve writes down. What do you mean exactly, where´s the problem and what you want to tell us when writing:
> and when using the laptop without a windows mouse explore 'restore down' at random.
>
> I found a thread on the site of the Internet USER who said that if his past not with a mouse, it may need tracker drivers up-to-date.Whereas it should be, where´s now the problem?
Please give clear and understandable feedback, then I and other users you could point to the solution.
THX
-
How to program the shift register to play only when a new user is detected user?
Hello
I'm currently developing a program of position control in labview. The program is quite simple, in which case the user will enter the distance on which he wants the table in the labview program and labview will send the signal to move a motor that will turn a ball screw to move a table horizontally to the targeted position. The criterion is that the profile of the engine depends on the distance to move, if a biphase (acceleration and deceleration) or three phase (acceleration, steady speed, deceleration) to reach the position of the target.
The problem occurs when the user wants to enter a new entry second position) for the table, as the input by the user is the position that the table should be, but the necessary input to determine what profile the engine follows depends on the distance that the table moves to the target position. Therefore, I need a function to save the entry by the user temporarily and reminds that when a new user input is detected. Hereby, I would be able to use the difference of the input (input [n + 1] [n] input) and animal feed to determine what profile the engine follows and the entry by the user can be kept in the position he wants to the table to get (to compare with encoder).
I thought to use for shift registers do, but I am not able to perform the deduction ([n + 1] - [n]) only when it detects a new entry. When I try to use registry to offset, it moves to the target location, and we only reached it will go to the original position. For example, when a user entry 90, this means that the table must be moved to the point 90. The shift register is initialized to 0, it will move to the point 90 (90-0 = 90), but arriving at 90, the shift register sends a signal of 90 (90-90 = 0) and the table back to its original position.
Is it possible that I can delay the reading of the shift register only when a new entry is detected or there at - it another way for me to achieve what I want?
I tried searching the forum site and neither discussion but could not find similar problems. Thank you for your help in advance.
As I understand it, the use of shift registers with a structure of the event (to detect a user event when the user enters a new value) should solve the problem. Do not forget to post your request (or a version of it that isolates the issue) when you arrive at the lab, if we can get a clear visual of the issue you are facing.
Maybe you are looking for
-
Videos YouTube are black when you use the HTML5 player.
Today when I booted up my laptop, Firefox would not play any YouTube video - audio still works and the preview of the image when the research is there, but instead of the video there is just a black screen. I have NO intention to install Flash Player
-
Why my recent Photos of live become VIDEOS?
Pictures I took Live Photo mode turned into videos now. I don't know what caused it. How to work the pictures Live, is that you take a picture. Then you go into your camera and you can touch 3d to display a second before and after the photo was taken
-
HP Envy 27-P021: M.2 SSD for 27-P014 / 27-P021 M.2 expansion slot.
The slot m2 on this computer will accept a 80 mm m2 SSD? Can be used as a startup disk?
-
Please advice on the Configuration of the network and possibilities.
Hello I have a small office at home (me, my wife and 2 employees) and I need to improve my network. It's simply not up to the task. Which must be supported: 5 PC desktop 2 notebooks private 2 network printers XBOX NAS Many mobile devices ADSL interne
-
4.0.3 rooted xperia neo v
I have rooted my xperia neo v in version 4.0.3 and want to keep the root and upgrade to 4.0.4 How are you?