Apex and database links

Hi,
How does Apex perform using database links. We are currently on version 3.1.1.00.09 of Applicatiion Express and have all of our data in one database. We will soon be upgrading our environment to Oracle Database Appliance. We are thinking about splitting our staging area out of our existing database. We use Apex for our dashboard reporting. We are in hopes to upgrade to latest version of Apex. If we split our database up we will have to use database links to access data. How does Apex perform using database links. Will our Interactive reports work? Will performance degrade? Wanted to know your thoughts on that.
Pam

Having used such a model for several years, I'd confirm that it is possilble to make it work, however it may not be optimal, performance-wise (depending on your data model).
Typically speaking, if you are just querying your external database "straight" (i.e. where all of the tables being queried are on the remote DB), you shouldn't notice a significant degradation in performance. The problems can come in when you either include "local" tables in your queries (in which case you need to decide which site should be 'driving') or where DML is involved (in which case the driving site defaults to the local DB) - your execution plans can change quite significantly and often for the worse.
I have tried a few strategies to mitigate against this, including converting some DML statements to be based on pipelined table functions instead of views, creating local Materialized Views of commonly accessed data (usually aggregated in some manner), or caching result sets (i.e. using the built-in apex caching function) for something more flexible but ultimately it'd be easier if everything was sitting on the same DB.

Similar Messages

  • How to connect APEX with MYSQL via Apex's Database link

    How do i connect APEX with MYSQL via Apex's Database link? The OBE doesn't go into specific detail about how to link the two.
    can someone please elaborate on what these are and where i can find them in mysql:
    Database Link Name      
    Connect To Schema      
    Password      
    Remote Hostname or IP      
    Remote Host Port      
    SID or Service Name      
    I need to link to mysql database so I can set up a 3D pie chart in apex

    Hi jononioo
    A database link is a device for connecting between Oracle database instances only. Oracle does have a method for connecting to other database systems (Transparent Gateway) but this is restricted to other commercial databases and I don't believe there is a gateway for Mysql. (I could be wrong)
    I don't know Mysql but maybe there is some way to push data to the Oracle instance. Other than that, is there any reason why the data has to reside in the Mysql database?
    Regards
    Andre

  • Global_name and database link

    I have Windows XP with 10.2.0.1.0
    I have made my database global_name to be junk.points.com.
    And, I create a database link as:
    create database link preview using 'xxxxx';
    the db_link is preview.point.com.
    However, if I use the following command:
    create database link preview.system using 'xxxxx';
    the db_link is preview.system instead of preview.system.points.com.
    I expect the db_link should be preview.system.points.com. Please help.
    Thanks

    Hi,
    Specify the complete or partial name of the database link. If you specify only the database name, then Oracle Database implicitly appends the database domain of the local database.
    If the value of the GLOBAL_NAMES initialization parameter is TRUE, then the database link must have the same name as the database to which it connects. If the value of GLOBAL_NAMES is FALSE, and if you have changed the global name of the database, then you can specify the global name.
    Defining a CURRENT_USER Database Link: Example
    The following statement defines a current-user database link to the remote database, using the entire service name as the link name:
    CREATE DATABASE LINK remote.us.oracle.com
    CONNECT TO CURRENT_USER
    USING 'remote';
    The user who issues this statement must be a global user registered with the LDAP directory service.
    Please view the below document.
    http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_5005.htm
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/ds_admin002.htm
    And please check the db links you posted one is having __.point.com
    and the other one is having ___.points.com
    Please make sure you are using the GLOBAL_NAMES set true and displaying correct dblink .
    Hope this will be helpful :)
    Thanks,
    Balaji K.

  • ODP AND DATABASE LINKS ???

    Hi, some very weird stuff going on here:
    When I bind data to my datagrid, if it comes through a database link in any way (either I code to access via a database link or I create a view with the link in it) I get only the first two chars of every field. Really weird, any ideas:
    You can see four sql lines below- The only one that works is one that is a view on the local database(not the data i need), all the others only return first two chars of every item via the db link. In case two I created the view with the link in it.
    Code in my DAL:
    Public Function returnTissues(ByVal inFrom As String, ByVal inTo As String) As DataTable
    Dim tissues As New DataTable
    Dim command As New OracleCommand
    Dim adapter As New OracleDataAdapter
    Try
    Dim sql As String = "select specimenid, status, sampletype, form, species from [email protected] where specimenid between '" & inFrom & "' and '" & inTo & "'"
    'FAIL-Dim sql As String = "select specimenid, status, sampletype, form, species from specimen_view_sbat where specimenid = 'ONC000100'"
    'PASS-Dim sql As String = "select * from request_view"
    'FAIL-Dim sql As String = "select s_sampleid from [email protected] where s_sampleid = 'MGH000167'"
    command.CommandText = sql
    command.Connection = Me.globaldal.msdb
    adapter.SelectCommand = command
    adapter.Fill(tissues)
    Return tissues
    Catch ex As OracleException
    Throw ex
    Finally
    End Try
    End Function
    Here is the page code:
    Private Sub ButtonSearchByRange_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSearchByRange.Click
    Dim fromvalue As String
    Dim tovalue As String
    fromvalue = TextboxFrom.Text
    tovalue = TextBoxTo.Text
    DataGridTissues.DataSource = tissuedal.returnTissues(fromvalue, tovalue)
    DataGridTissues.DataBind()
    End Sub
    Also, I will materialize the view and try it, but it has got to be the ODP, the sql executes fine via slqplus, toad, etc, and It's not the grid, I bound the first column to a dropdown and got the same result.
    My ENV:
    Local DB 8.1.7.3 - I think
    Remote DB 9 release 2
    OPD: 9.2.0.4.01

    Further testing has revealed:
    The database link works fine when connected to another 8.1.7.4 instance as opposed to the 9.2.0.3.0 instance.
    It makes no difference if the link is public or private.
    Creating a materialized view with the database link in it to the 9.2.0.3.0 instance also works fine.
    However none of the above is a solution.

  • Portal and Database Links

    We are running Portal 3.0.9.8.0. I am wondering if anyone has come across away to disable the ability of users to create database links.

    Hi,
    You can do it only by revoking the "create database link" or "create public database link" privilege from the database schema
    to which the portal user is connected.
    For example say there is a user "erin" mapped to the database schema portal30, then you should go to the
    "Administer Database" tab and edit the schema using the "Schemas" portlet. In the roles tab remove "create pubic database link"
    or "create database link" privilege.
    This might help. But be careful not to remove the privilege from the portal schema, unless you do not want to create any
    database links as the portal schema.
    Thanks,
    Sharmila

  • BLOBs and Database Links

    Do Blobs work through Database Links? I have images in one database that I would like to render in a portal attached to another.

    Hi I tried the following in sqlplus:
    1)create a table(ATAB_CLOB) in a remote database(DB2) with a clob column
    2)connect to the database(DB1) and create a database link (ADBLINK1) for the
    remote database(DB2) .
    3) create a synonym (ASYN_TAB) based on the remote table (ATAB_CLOB) using the
    database link ADBLINK.
    4) Now try to create a view based on this synonym,I see the same error:
    SQL> create or replace view aview2 as select * from asyn_Tab;
    create or replace view aview2 as select * from asyn_Tab
    ERROR at line 1:
    ORA-22992: cannot use LOB locators selected from remote tables
    The message says it all.
    This is a database limitation.
    Hope this helps.
    Anu

  • Clones and database links

    Hi,
    I have generally found that after an instance (E-Business Suite) is cloned, the database links do not work in the cloned instance, and have to be recreated.
    Is there a reason why the database links do not work, as the target instance (in the db link) and its credentials remain the same?
    Thanks
    Jai

    Hi Carlo,
    I am not the DBA, so will not be able to answer any of your questions.
    I am in the Development team and just found it odd that a DB link needs to be re-created after a clone, even though all the information remains the same. The DBA team was not able answer my question - they just said that it is a step that needs to be done. I do not know how the tnsnames entries look, but I assume that is somehow having an impact as mentioned in the prior posts.
    Thanks
    Jai

  • Owb and database link creation

    hi everybody....
    I installed oracle 10g and owb on the samo machine (windows xp). When trying to create oracle module in owb it is required to create database link (is there any workaround?). But how can I create database link to local database when connected to local database???? Can anybody help me???
    thanks in advance

    thanx for your reply... I alredy tried everything.. but I always get this error:
    Testing...
    Failed.
    SQL Exception
    Repository Error:SQL Exception..
    Class Name: CacheMediator.
    Method Name: getDDEntryFromDB.
    Repository Error Message: ORA-28546: connection initialization failed, probable Net8 admin error
    Oracle instance works properly.. but I can not create Oracle module from OWB. Here is my tnsnames.ora file:
    ORCLANTI.LOCAL.HOST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = antix.login.net)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orclanti)
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    here is my sqlnet.ora file
    SQLNET.AUTHENTICATION_SERVICES= (NTS)
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    NAMES.DEFAULT_DOMAIN= local.host
    and here is my listener.ora file
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = E:\ora10g)
    (PROGRAM = extproc)
    (SID_DESC =
    (GLOBAL_DBNAME = orclanti.local.host)
    (ORACLE_HOME = E:\ora10g)
    (SID_NAME = orclanti)
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = antix.login.net)(PORT = 1521))
    username and password are correct and db link name is ok!
    Now, do I have to enter SQL*Net connect string or hostname and oracle service name???
    I repeat... I already tried almost every combination!
    Thanks again
    maybe this is an Oracle configuration error because I am pretty new to this RDBMS :)
    another question:
    1. is ti possible to create a database link to local database (for example if I am connected to local database on my machine can I create database link from that database to same database but for another schema)???
    Message was edited by:
    antix

  • Problems with domain name in global_name and database links

    I have to create a database link on Oracle 9i **without** a domain. Somehow whenever I create a database link, a domain is added. This domain seems to be the domain that is also added to the database global name (and is the same as my TCP/IP domain on my windows machine).
    I tried to create the db link:
    create database link "TEST"
    connect to remotedb
    identified by mypassword
    using 'myservicename';
    and get:
    TEST.DOMAIN.COM instead of TEST.
    I also tried to change my database global name:
    alter database rename global_name to NEWNAME
    and still the database name is NEWNAME.DOMAIN.COM
    So there does not seem to be any way to remove the domain.
    Note that:
    - db_domain is not set in init.ora
    - names.default_domain is not set in sqlnet.ora
    - global_names = false
    So... how to get rid of the domain part?

    Hi,
    this is not what you want to hear, but once a global_name has a domain associated with it you can't get rid of it, you can change it to a different domain with the alter database command but not to null and it is this domain that will always get appended as default to your db link name so your stuck with it

  • Oracle Application server connection pool and database links

    I am using Oracle application server 10g with connection pools, the db used by the application connects to another oracle db using a database link. My question is when the application starts it creates 10 connections, does it also create x amount of database links as well?

    Hi,
    Is there any way to use the connection pool or Datasource while connecting to database?If I am using a stateless sesssion bean and using a Data Access layer which just creates a database session to write the persistence toplink objects how I can make use of application server connection pool?Hi Vinod,
    Yes, TopLink allows you to use the app server's connection pooling and transaction services. Chapter 2 of the Oracle9iAS TopLink Foundation Library Guide provides details as do the TopLink examples. The easiest way to set this up is by using the sessions.xml file. The sample XML below is from the file <toplink903>\examples\ias\examples\ejb\sessionbean\sessions.xml. Here we are adding the datasource defined in OC4J and specifying that we are using the OC4J transaction controller also.
    <login>
    <user-name>sa</user-name>
    <password></password>
    <datasource>java:comp/env/jdbc/ejbJTSDataSource</datasource>
    <uses-external-transaction-controller>true</uses-external-transaction-controller>
    <uses-external-connection-pool>true</uses-external-connection-pool>
    </login>
    <external-transaction-controller-class>oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController</external-transaction-controller-class>
    When using this approach you need to change your TopLink code slightly in the EJB methods:
    a. Acquire the ACTIVE unit of work from the server
    session (again, see the EmployeeSessionEJB code
    example) with something like:
    UnitOfWork uow = clientSession.getActiveUnitOfWork();
    b. Calls to uow.commit() can be ommitted or commented out
    because the EJB will handle this. Note that of course
    the methods you create in the EJB that are using this
    approach must have TX Required (default).
    Hope this helps.
    Pete

  • Jdbc (oci8) and database link ?

    hello,
    i try to select * from dual@DBNAME within a jdbc connection.
    1. we are connected with oci8 on a 9.2.0 database
    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    String urlDefault = "jdbc:oracle:oci8:@DBM1.uvwendy";
    String url = null;
    2. then we prepare a statement
    rset=dblink_stmt.executeQuery ("select name from v$database@"+Database_Server+"_"+Database_SID+".UVDBM");
    while (rset.next ())
    System.out.println (rset.getString (1));
    } catch (SQLException e) {
    System.out.println ("Error REMOTE SELECT ..." + e);
    3. the error looks like this
    select name from v$database@UVGENEVA_GENEVADB.UVDBM
    Error REMOTE SELECT ...java.sql.SQLException: ORA-12154: TNS:could not resolve service name
    but when we execute the same statement in the database self then it works fine.
    the database link works fine.
    has anybody an idea for this behaviour?
    thank you very much,
    wolfgang

    hello,
    i try to select * from dual@DBNAME within a jdbc connection.
    1. we are connected with oci8 on a 9.2.0 database
    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    String urlDefault = "jdbc:oracle:oci8:@DBM1.uvwendy";
    String url = null;
    2. then we prepare a statement
    rset=dblink_stmt.executeQuery ("select name from v$database@"+Database_Server+"_"+Database_SID+".UVDBM");
    while (rset.next ())
    System.out.println (rset.getString (1));
    } catch (SQLException e) {
    System.out.println ("Error REMOTE SELECT ..." + e);
    3. the error looks like this
    select name from v$database@UVGENEVA_GENEVADB.UVDBM
    Error REMOTE SELECT ...java.sql.SQLException: ORA-12154: TNS:could not resolve service name
    but when we execute the same statement in the database self then it works fine.
    the database link works fine.
    has anybody an idea for this behaviour?
    thank you very much,
    wolfgang

  • Changing passwords using APEX and Database Credentials

    We are developing an application that uses database credentials. We can login very easily. Is there a simple way to create a page so that the users can change their own passwords? I understand that the users will in effect be issuing an ALTER USER statement from within APEX. However, we get an "Insufficient Privileges" error message when issuing the command from APEX. So, whose credentials is APEX using?

    J,
    So, whose credentials is APEX using?
    There are no credentials involved here. All code in your PL/SQL application is parsed as the schema that owns the application. When you implement your PL/SQL application using Application Express, that schema is the "Owner" attribute, or parsing schema.
    See Re: ORACLE Password Change using APEX FORM
    Scott

  • OWA_UTIL and HTP across database link

    Has anyone figured out how to use the features of OWA_UTIL, such as listprint, across a database link? I can create a drop list on data that is in the portal instance. But if I try to create a list based on a table in a back-end database through a database link, it generates errors.
    Also, I create a procedure to generate a dynamic page portlet using htp calls and it works fine if the procedure is located in the portal instance. But move the code to the back-end database and access via a synonym and database link and it generates errors out of the owa_util package.

    Create a view on your local db using tables over the db link and base your list on that view.

  • OWB-Location for Sybase is defined through database link but not working.

    Hi,
    HS details are configured and database link from oracle to sybase database is working fine. In OWB, table list of sybase database is also displayed. Location defined for sybase database through connector which refers to database link created from oracle to sybase. While defining location on clicking of "Test" it gives result as successful. But when validation program is run for that location, it gives error that validation failed, specify correct host name, port number etc.. now, i am not able to solve this as database link is working fine and it is displaying list of table from sybase database. All the heterogeneous settings are done. I tried but sybase database doesn't allow direct connectivity so i define the location using connector which points to database link. Is there any thing missing in the setting of HS and do sybase allow connectivity direct from owb ?
    Please help.
    (If problem is not clear, please spare time to ask a question, i will reply immediately.)
    With Regards,
    Amit Shah.

    Amit - did you get anywhere on this?

  • Apex and remote database links.... Good idea or bad?

    We would like to have one single Apex installation that would be used to develop many applications against many remote databases.
    Database links would seem to be the obvious mechanism to achieve this goal, but we have had many issues with db links.
    Also, our research indicates this might not be a good idea for various reasons.
    Any opinions or experiences around this topic would be greatly appreciated.

    we have had many issues with db links. In that case it's a bad idea.
    It's not really an Apex question. If you can't get db links to work, it's a database issue. If it's performance over the db link, again it's a database issue (assuming modern networks aren't the bottleneck here). Remote views (instead of selecting from remote tables) often increase performance.
    If the applications don't have to share data over the db links, you can set up one master application and several sub-applications on the different databases. The master is used to log in once. See:
    http://www.oracle.com/technetwork/issue-archive/2009/09-may/o39security-101079.html

Maybe you are looking for

  • Creating a hierarchy based on a remote database link

    I am trying to create a hierarchy based on a synonym for a remote database table. The hierarchy wizard works correctly, and the table columns do appear as choices in the drop boxes. However, when I try to run the application, I get the error "No data

  • Iphone OS 3.1 and iTunes 9 issue

    I updated my itunes the other day and it seems to be working fine, but I updated my iPhone 3g to OS 3.1 yesterday, after I downloaded the file from itunes, I got a message letting me know "my phone is getting ready for update" after this message, itu

  • Where's my authorization code and how do I actually get in touch with Adobe?

    Right, so I purchased a pre-payment card from PCWorld for the student & teacher version of Lightroom 5. Tried to download Lightroom 5 only to find that it wouldn't work with Mac OS 10.6. So, I have upgraded my OS, but now I can't find anywhere on my

  • CC So slow over network

    Creating a new document and linking a 300mb PSD file takes 8 minutes to insert and it is over gigbit. To copy 300mg file to the desktop takes 15 seconds As a test created another Illustrator file and linked to the desktop 300mg file and it insert ins

  • Smart objects from PS CS5 being edited in AI CS4

    I have both the CS4 and CS5 creative suits loaded on my machine. Just recently when I edit smart objects in Photoshop CS5 it launches Illustrator CS4 to edit the objects. I am also seeing this in InDesign where it will choose AI CS4 when I select edi