Reference a function in a different schema over a database link?

I have a database link, DBL, that connects with user GENE/***. I want to select columns from table BOOKS in schema JOE using function UNIFIX, which is defined in schema BRAD. Can I do it?
I can select without the function:
SELECT TITLE
FROM JOE.BOOKS@DBL;
I tried this syntax:
SELECT BRAD.UNIFIX(TITLE)
FROM JOE.BOOKS@DBL;
But Oracle gives me a ORA-00904. Is there any syntax that will allow me to reference the function in the linked database? Or do I need to define a view in the remote DB that includes the function?

SELECT brad.unfix@dbl( title )
  FROM joe.books@dblshould work. Assuming, of course, that the Gene user on the remote system has access both the the BOOKS table in the JOE schema and to the UNFIX function in the BRAD schema.
Justin

Similar Messages

  • Different character sets on database links

    Does someone know, how to select data from different machines with different character sets via database link transferring the umlauts correctly ?
    The destination instance uses we8iso8859p1, the source machines have us7ascii (SAP) or we8iso8859p1. It is NOT allowed to change the character sets on the source databases!

    This is not so easy to solve. The correct procedure is to fix your non-ASCII database to reflect the correct character set encoding of your data. Have you checked with SAP to see whether it is really not possible/supported to change the application db character set ?
    The only workaround that I can think of ,is to create another database with 'WE8ISO8859P1' as the db character set. Populate it with the data you need from your SAP database using either SQL*LOADER or from insert statements generated by SPOOLing out the data using SQL*PLUS

  • Wb_rt_api_exec over a database link

    When I call wb_rt_api_exec over a database link I receive:
    ORA-20001: Task not found - Please check the Task Type, Name and Location are correct.
    ORA-06512: at "OWB_10_2_0_1_31.WB_RT_API_EXEC", line 704.
    When I run the command on the other database it works.
    Is there a way to do this?
    Thanks,
    Joe

    We had the same error when starting a package with WB_RT_API_EXEC.RUN_TASK from JBoss Middleware. It ran fine when started directly from SQLDeveloper, but threw the error when started from JBoss. Adding the pragma solved the problem, we also had to put a commt; at the end of the procedure.

  • VLD-1124: Schema and/or Database link physical configuration parameters

    Hi!
    The warning message:
    VLD-1124: Schema and/or Database link physical configuration parameters should not be set for Table1.
    Is it possible to eliminate this warning message ? Anyway , Thanks for your response!
    Bye!

    Hi guys,
    I am facing a strange problem. The code generated for my mapping has NOT used the dblinks. My OWB version is 10.1.0.4
    This is my problem in brief.
    I have installed OWB newly and started to do a sample task. I created a very simple one to one table population mapping from source to the target schema. Both are in the same database.
    When i generated the code for the mapping, it gave a warning 'VLD-2771: System privileges may not allow extraction from source EMP'.
    When i checked the code which was generated, i couldnot see any dblinks associated with my source table( which seems strange)
    CURSOR "INGRP_c" IS
    SELECT
    "EMP_SRC_TRG_CONN"."EMPNO" "EMPNO",
    "EMP_SRC_TRG_CONN"."ENAME" "ENAME",
    "EMP_SRC_TRG_CONN"."JOB" "JOB",
    "EMP_SRC_TRG_CONN"."MGR" "MGR",
    "EMP_SRC_TRG_CONN"."HIREDATE" "HIREDATE",
    "EMP_SRC_TRG_CONN"."SAL" "SAL",
    "EMP_SRC_TRG_CONN"."COMM" "COMM",
    "DEPT_SRC_TRG_CONN"."DEPTNO" "DEPTNO_1",
    "DEPT_SRC_TRG_CONN"."DNAME" "DNAME",
    "EMP_SRC_TRG_CONN"."DEPTNO" "DEPTNO",
    "DEPT_SRC_TRG_CONN"."LOC" "LOC"
    FROM "SCOTT"."EMP" "EMP_SRC_TRG_CONN" ;
    In brief this is the process i have done.
    Source schema : SCOTT & Target schema : TRG_SCHEMA
    1) I have created source (for SCOTT) and target(for TRG_SCHEMA) modules.
    2) I have also created DBLinks, Locations and Connector from source to the target locations.
    3) I registered both the source location and target locations.
    4) Validated, Generated and Deployed the Connector from source to the target.
    I was unable to trace the error. Did i miss anything in the configuration? or during the installation of OWB.
    Though it is a very old post, i hope someone can help me out here.
    Thanks in Advance,
    Sri

  • Insert, update and delete trigger over multiple Database Links

    Hello guys,
    first of all I'll explain my environment.
    I've got a Master DB and n Slave Databases. Insert, update and delete is only possible on the master DB (in my opinion this was the best way to avoid Data-inconsistencies due to locking problems) and should be passed to slave databases with a trigger. All Slave Databases are attached with DBLinks. And, additional to this things, I'd like to create a job that merges the Master DB into all Slave DB's every x minutes to restore consistency if any Error (eg Network crash) occurs.
    What I want to do now, is to iterate over all DB-Links in my trigger, and issue the insert/update/delete for all attached databases.
    This is possible with the command "execute immediate", but requires me to create textual strings with textually coded field values for the above mentioned commands.
    What I would like to know now, is, if there are any better ways to provide these functions. Important to me is, that all DB-Links are read dynamically from a table and that I don't have to do unnecessary string generations, and maybe affect the performance.
    I'm thankful for every Idea.
    Thank you in advance,
    best regards
    Christoph

    Well, I've been using mysql for a long time, yes, but I thought that this approach would be the best for my requirements.
    Materialized View's don't work for me, because I need real-time updates of the Slaves.
    So, sorry for asking that general, but what would be the best technology for the following problem:
    I've got n globally spread Systems. Each of it can update records in the Database. The easies way would be to provide one central DB, but that doesn't work for me, because when the WAN Connection fails, the System isn't available any longer. So I need to provide core information locally at every System (connected via LAN).
    Very important to me is, that Data remain consistent. That means, that it must not be that 2 systems update the same record on 2 different databases at the same time.
    I hope you understand what I'd need.
    Thank you very much for all your replies.
    best regards
    Christoph
    PS: I forgot to mention that the Databases won't be very large, just about 20k records, and about 10 queriees per second during peak times and there's just the need to sync 1 Table.
    Edited by: 907142 on 10.01.2012 23:14

  • Accessing large partitioned tables over a database link - any gotchas?

    Hi,
    We are in the middle of a corporate acquisition and I have a question about using database links to efficiently access large tables. There are two geographically distinct database instances, both on Oracle 10.2.0.5 sitting on Linux boxes.
    The primary instance (PSHR) contains a PeopleSoft HR and Payroll system and sits in our data centre.
    The secondary instance (HGPAY) runs a home grown payroll application and sits in a different data centre to PSHR.
    The requirement is to allow PeopleSoft (PSHR) to display targeted (one employee at a time) payroll data from the secondary instance.
    For example in HGPAY
    CREATE TABLE MY_PAY_DATA AS
    SELECT TO_CHAR(A.RN, '00000000') "EMP" -- This is an 8 digit leading 0 unique identifier
    , '20110' || to_char(B.RN) "PAY_PRD" -- This is a format of fiscal year plus fortnight in year (01-27)
    , C.SOME_KEY -- This is the pay element being considered - effectively random
    , 'XXXXXXXXXXXXXXXXX' "FILLER1"
    , 'XXXXXXXXXXXXXXXXX' "FILLER2"
    , 'XXXXXXXXXXXXXXXXX' "FILLER3"
    FROM ( SELECT ROWNUM "RN" FROM DUAL CONNECT BY LEVEL <= 300) A
    , (SELECT ROWNUM "RN" FROM DUAL CONNECT BY LEVEL <= 3) B
    , (SELECT TRUNC(ABS(DBMS_RANDOM.RANDOM())) "SOME_KEY" FROM DUAL CONNECT BY LEVEL <= 300) C
    ORDER BY PAY_PRD, EMP
    HGPAY.MY_PAY_DATA is Range Partitioned on EMP (approx 300 employees per partition) and List Sub-Partitioned on PAY_PRD (3 pay periods per sub-partition). I have limited the create statement above to represent one sub-paritition of data.
    On average each employee generates 300 rows in this table each pay period. The table has approx 180 million rows and growing every fortnight.
    In PSHR
    CREATE VIEW PS_HG_PAY_DATA (EMP, PAY_PRD, SOME_KEY, FILLER1, FILLER2, FILLER3)
    AS SELECT EMP, PAY_PRD, SOME_KEY, FILLER1, FILLER2, FILLER3 FROM MY_PAY_DATA@HGPAY
    PeopleSoft would then generate SQL along the lines of
    SELECT * FROM PS_HG_PAY_DATA WHERE EMP = ‘00002561’ AND PAY_PRD = ‘201025’
    The link between the data centres where PSHR and HGPAY sit is not the best in the world, but I am expecting tens of access requests per day rather than thousands, so I believe the link should have sufficient bandwidth to meet the requirements.
    I have tried a quick test on two production sized test instances and it works in that it presents the data, when I look at the explain plan I can see that the remote database is only presenting the relevant sub-partition over to PSHR rather than the whole table. Before I pat myself on the back with a "job well done" - is there a gotcha that I am missing in using dblink to access partitioned big tables?

    Yes, that's about right. A lot of this depends on exactly what happens in various "oops" scenarios-- are you, for example, just burning some extra CPU until someone comes to the DBA and says "my query is slow" or does saturating the network have some knock-on effect on critical apps or random long-running queries prevent some partition maintenance operations.
    In my mind, the simplest possible solution (assuming you are using a fixed username in the database link) would be to create a profile on HGPAY for the user that is defined for the database link that set a LOGICAL_READS_PER_CALL value that was large enough to handle any "reasonable" request and low enough to quickly kill any session that tried to do something "stupid". Obviously, you'd need to define "stupid" in your environment particularly where the scope of a "simple reconciliation report" is undefined. If there are no political issues and you can adjust the profile values over time as you encounter new reports that slowly increase what is deemed "reasonable" this is likely the simplest approach. If you've got to put in a change request to change the setting that has to be reviewed by the change control board at its next quarterly meeting with the outsourced DBA vendor, on the other hand, you could turn a 30 minute report into 30 hours of work spread over 30 days. In the ideal world, though, that's where I'd start.
    Getting more complex, you can use Resource Manager to kill queries that run too long on the wall clock. Since the network is almost certainly going to be the bottleneck, it's probably unlikely that the CPU throttling is going to do much good-- you can probably saturate the network with a very small amount of CPU. Network throttling in my mind is an extra step up in complexity again depending on the specifics of your particular situation and what you're competing with.
    Justin

  • Problem when call store procedure over a database link

    Hi all,
    I've create a database link in server "EAST" similar like:
    CREATE DATABASE LINK db_link CONNECT TO tiger IDENTIFIED BY scott USING 'abc';
    and from server "EAST" i ran the procedure located in server "WEST" somethin like:
    exec testing_procedure@db_link('test');
    testing_procedure is look like:
    Create or Replace procedure testing_procedure (p_testing in varchar2)
    as
    cursor check_space is
    select sum(bytes)/1024/1204 tb_size
    from dba_data_files;
    my_check_space%ROWTYPE;
    begin
    open check_space;
    loop
    fetch check_space into my_check_space;
    exit when check_space%NOTFOUND;
    insert into test_tf@db_link (test, tb_value) values
    (p_testing, my_check_space.tb_size);
    end loop;;
    close check_space;
    end;
    and my problem is when i'm run procedure from "EAST" server, the values in test_tf table is the same as when you run that procedure from "WEST" server. I've check the size for both server "EAST", and "WEST" by select sum(bytes)/1024/1204 command. And the value is completely different. And i guest somehow it reuse the value of "WEST" server no matter when you run that procedure in "EAST" server. Any suggesttion, please give me some advices.
    Thanks,
    Kevin

    If this procedure is in WEST server then even if you call it from some another planet using db link, the cursor inside the procedure will fetch the data from that server only means WEST server. So "select sum(bytes)/1024/1204 tb_size
    from dba_data_files;" statement in your procedure always fetch the size of the datafiles belongs to the WEST database.
    If you want to store the data of two different databases then you have to create the similar procedure in EAST database also.
    BTW, you said the you created a database link "db_link" in EAST database to point to WEST database and on WEST database you have that procedure BUT I don't understand why r u using "db_link" in your procdure code in WEST server in this insert statement:
    insert into test_tf@db_link (test, tb_value) values
    (p_testing, my_check_space.tb_size);Is there a database link on that box also?? Where it is pointing to?? And if not then this code should not be compiled.
    Daljit Singh

  • Different schema on same database

    i have 2 schemas in the same database, i create a table in one schema and can access the same table from the other schema without grant option. For eg, i create one table 'emp' in one schema 'schema1' like:
    create table emp(no number);
    Now, from the other schema, schema2, i can access this table data using the following select statement :
    select * from schema1.emp;
    without first giving the grant on the table from 'schema1' like this:
    grant select on emp to schema2.
    Please help in solving my doubt as i need it resolved urgently.

    Have you (perhaps mistakenly) granted a user the SELECT ANY TABLE privilege?
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • How do I write into multiple target tables in DIFFERENT schemas?

    It is easy to have a mapping that writes into 2 or more tables it's results. I now need that all these tables are in different schemas!
    When I create a 2nd warehouse target with a 2nd location and configure this location to be a different schema on the database, validation tells me, that everything is okay.
    When I generate it, there are several warnings, when I execute it, it doesn't work :( It complains that it cannot find <something>.
    I'm sorry, I don't have the error-message at hand :(
    I've you got an idea, how I could have different schemas for my tables, please let me know!

    Art,
    Could it be that the target schema into which you install the runtime components does not have privileges on the tables in the other schemas? You have to have at least the right privileges (INSERT, UPDATE, DELETE) on the target tables in the other schemas in order for this to work. However, then there should be no reason, assuming your tables are in different modules related to different locations.
    Thanks,
    Mark.

  • No Easy Way to Join on Tables from Different Schemas

    Hi,
    The company policy does not allow to join on tables from different schemas or use db links...
    I'm tasked to come up with a Perl script that does exactly that - allows for the SELECT statement to do several joins on 3 different schemas. In addition 1 of the schemas is on the different host altogether.
    Upping the privileges for my user and allowing db links is not an option...Can someone, please help me to understand on a conceptual level how would I use Perl and what logic would it have and what would it (perl) do?
    Thank you,

    Court in the wrong job... ;)
    It's like a librarian who is a hard rock artist maintaining the silence in the premises. ;)
    My dear friend, i don't think this is the right place for your requirement. This is the PL/SQL forum. If you have any problem related PL/SQL or SQL you can place that here.
    Regards.
    Satyaki De.

  • Same index name for different tables in different schema

    Just a quick query
    Can two tables present in different schema of same database has same index name ?
    Will there be any problem?
    Thanks

    And just a quick answer:
    859486 wrote:
    Just a quick query
    Can two tables present in different schema of same database has same index name ?Yes.
    >
    Will there be any problem?No.
    >
    Thanks

  • DB Links in different schemas

    Hi,
    I'd like to change DB links in different schemas with SYS user.
    I've tried to create a script to change all DB links (database it should connect to and password)
    ALTER DATABASE LINK "database_link"
    CONNECT TO database IDENTIFIED BY password;
    ORA-02024: database link not found
    Is there no way to do this as SYS? Do I need to logon to everey schema in the database and alter the DB link?
    Regards
    933746
    Edited by: 933746 on Sep 14, 2012 12:09 PM

    Richard-1 wrote:
    I've hijacked the users password / login as the user / create the db link / reset the users password.
    That is ok for a one off.
    To do more a better solution would be to try a procedure call.
    Here is a link to a couple versions that do what you want:
    http://oraganism.wordpress.com/2009/12/02/how-to-create-a-database-link-in-another-users-schema/
    http://oradbatips.blogspot.com/2010/01/tip-84-create-private-db-link-for-user.html
    Hi and thanks.
    The thing is that I know all the passwords but I'd like to only run one script as system or sys and connect to all schemas with private database links and drop them and then create them with new information. Is this at all possible without writing PL/SQL?

  • How to test issue with accessing tables over a DB link?

    Hey all,
    Using 3.1.2 on XE, I have a little app. The database schema for this app only contains views to the actual tables, which happen to reside over a database link in a 10.1.0.5.0 DB.
    I ran across an issue where a filter I made on a form refused to work (see [this ApEx thread| http://forums.oracle.com/forums/message.jspa?messageID=3178959] ). I verified that the issue only happens when the view points to a table across a DB link by recreating the table in the local DB and pointing the view to it. When I do this, the filter works fine. When I change the view back to use the remote table, it fails. And it only fails in the filter -- every other report and every other tool accessing the remote table via the view works fine.
    Anyone know how I can troubleshoot this? For kicks, I also tried using a 10.2.0.3.0 DB for the remote link, but with the same results.
    TIA,
    Rich
    Edited by: socpres on Mar 2, 2009 3:44 PM
    Accidental save...

    ittichai wrote:
    Rich,
    I searched metalink for your issue. This may be a bug in 3.1 which will be fixed in 4.0. Please see Doc ID 740581.1 Database Link Tables Do NoT Show Up In Table Drop Down List In Apex. There is a workaround mentioned in the document.
    I'm not sure why I never thought of searching MetaLink, but thanks for the pointer! It doesn't match my circumstances, however. The Bug smells like a view not being queried in the APEX development tool itself -- i.e. the IDE's coding needs changing, not necessarily those apps created with the IDE.
    I'm working on getting you access to my hosted app...
    Thanks,
    Rich

  • Database link from Oracle 11g (64 bit) to MySQL over UnixODBC with dg4odbc

    Hello,
    I want to connect to a MySQL Database from Oracle over a database link, but i get always the Error Message ORA-28528: Heterogeneous Services datatype conversion error .
    In the forum or internet I can't find a solution for my problem, so I try now to post this problem.
    Here a detailed description of the problem:
    I use a Oracle 11.1.0.7.0 64bit database which is running on a redhat linux 5.3 64bit.
    I want to connect to a MySql Database 5.0, which is running on a redhat linux 5.2 32bit over unixODBC.
    The configuration from the ODBC seems to be good, because with isql on the ora server I can connect and query all data correct from the MySQL database.
    Also the tsnnames.ora and listener.ora should be configured correctly. The tnsping works also fine.
    But when i try to catch the data over SQLPlus with the database link I always get the error ORA-28528.
    If I try to select just one column it works, but the returned data are incomplete or truncated.
    the version of my libs:
    between mysql and odbc I use libmyodbc3.so version 3.51.12-2.2 (I also tried the version 5, but with them I get a segmentation fault error on isql).
    between odbc and dg4odbc I use libodbc.so version 2.2.11-7.1
    Has anybody a solution or hint for me?
    Many Thanks in advance,
    best regards from Austria
    Manuel
    Edited by: user11243186 on 09.06.2009 02:59

    kdgmanu wrote:
    Hello,
    I always get the error ORA-28528.
    If I try to select just one column it works, but the returned data are incomplete or truncated.
    maybe you are facing bug 6772397, so do a search on metalink for bug 6772397
    >
    Has anybody a solution or hint for me?you could also see the following notes 554409.1 and 603801.1
    Many Thanks in advance,
    best regards from Austriacheers from Zagreb

  • Can we create pl/sql code over database link?

    Hi All,
    We are using Oracle 9i database.
    I want to know if we can create or modify pl/sql code (procedue, package, etc) over the database link? That means - can we create a procedure in remote database using the db link?
    Thanks,
    Dnyanesh

    yes, I can connect to the remote database directly and create/modify the packages.
    But I want the users not to create them using the db link.
    Is there any way to create the pl/sql package over database link?
    Thanks,
    Dnyanesh

Maybe you are looking for

  • Photoshop CS5.1 Crashes on open or save

    I have only just today bought Photoshop CS5.1 and installed it on my Notebook.  If I try to open an image Photoshop crashes.  If I bring it in through explorer or Bridge then I can edit away merrily no problems, but once I try to save the file, Photo

  • E-sourcing couldn't send out E-mail notification of new user.

    Dear experts, I got stuck on SMTP issue when configuring a E-sourcing sandbox, when I created some Buy-side users, the system was not able to send out the notifications but all stuck in "Queued Messages" . I browsed in the system, the settings relate

  • Leopard reversed mouse wheel behavior in cmd+tab switcher

    in Tiger when you have many apps open, pressing cmd+tab brings up the app switcher, and then pulling towards you on the mouse wheel scrolls to the right, and pushing away on the wheel scrolls to the left. leopard has reversed this, making a pull on t

  • Retreiving data corresponding to dropdown list.

    hii all, i want to know that if i have to make one application where there is a dropdown list with several parameters and if i select one parameter and retrieve the data corresponding to that parameter, then i select second parameter and retreive the

  • 10g : Edit Offline Table

    about JDeveloper 10g preview (build 1375) Using "Edit Offline Table" I uncheck "Cannot be NULL" for a column. If I "Generate SQL Script" for this table and select "Generate SQL to UPDATE the chosen objects", I get: "The following object(s) were found