Spatial Indexes Through Database Links

Has anyone tried to "use" a Spatial Index through a Database Link? Meaning you try take advantage of the spatial index on column TABLE_A.GEOM through a database link? An example is:
SELECT rownum, SHAPE FROM GDT_WATER_POLYGON WHERE AND SDO_FILTER( GDT_WATER_POLYGON.SHAPE SDO_CS.VIEWPORT_TRANSFORM(MDSYS.SDO_GEOMETRY(2003, 0, NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3), MDSYS.SDO_ORDINATE_ARRAY(-105.06685,39.7744332,-104.981869,39.8338768) ), 8265),'querytype=window') = 'TRUE'
where GDT_WATER_POLYGON is a public synonym to WATER_POLYGON@DBLINK
When I try this in the linked table, it works fine, but when I try it using the link, I get the following error:
ORA-13226: interface not supported without a spatial index
Am I forgetting to grant something or is it just not possible?
Thanks!

Hi,
Currently, using a spatial index through a database link is not possible.
Dan

Similar Messages

  • How to access the LOB objects through database links??????????????

    How to access the LOB objects through database links??????????????

    Hi
    See:
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:52297289480186
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:5322964030684
    And you also might want to get a new keyboard, your '?' seems to be stucked....

  • Write data from Oracle 9i 64 bit to Oracle 32 bit through database link

    Hi to All:
    We are using following Oracle 64 bit application.
    Operating System: Sun Solaris 5.9
    Database: Oracle 9i (64 bit)
    Machine: Sun Server Spark V890
    Now my questin is that I want to move data from the production database running in Oracle 9i 64bit on Sun server to Oracle 9i 32 bit on Windows Server 2002 thru database link.
    I heard that it is not possible to write data from oracle 64 bit to oracle 32 bit, no matter what operating system we are using.
    Please confirm me that whether we can write data through database link from Oracle 9i 64 bit to Oracle 32 bit.
    Please specify every possible solution or any site from where I can have the solution.
    Thanks in advance.
    Hassan Raza Khan Lodhi

    Create a test table ( in 64bits db) , add some data
    From 32bits create a dblink
    Execute the following query
    create table test_32
    as select * from test64@dblinkto64;
    Michael

  • 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?

  • Browsing and selecting through database link to fill in a form item

    Hi
    I have created a database link named in my application
    dblink_3
    I have a form and report in my application. On the from I have an item called P6_USER_ for which I would like to access a table (trk_user) through the database link I created so that I can fill in the text field or select list with a user from the table.
    can I browse by a select list somehow? or do I need to create a button that takes me to a report with a list of the data in the table and select that way.
    Please steer me in the right direction,
    Thanks,
    Kirk

    Hi Kirk,
    The fact that the data is on an external table shouldn't make any difference. You can do:
    SELECT field1 d, field2 r FROM trk_user@dblink_3 ORDER BY 1
    and that will give you your select list

  • Calling remote procedure through database link

    Hi,
    I have a procedure in a package with a type I delcared as follows:
    Database1 :
    create or replace package p1
    is
    TYPE dependents_rec IS RECORD (
    name VARCHAR2 (80),
    dob date);
    TYPE dependents IS TABLE OF dependents_rec
    INDEX BY BINARY_INTEGER;
    procedure proc1 (p_id in number,
    p_dependents out dependents );
    end;
    On another database database2 i want to call the above procedure from within a procedure in a package that works as a wrapper package with similar structure.
    I recieve the error "Wrong number or types of parameters" error because type dependents is not the same as within the package in database 1.
    How can I call the procedure p1.proc1 over a database link ?
    Thank you

    Hi,
    On database1:
    CREATE OR REPLACE PACKAGE types_pkg is
    TYPE dependents_rec IS RECORD (
    NAME VARCHAR2 (80),
    sex NUMBER (1),
    birth_date DATE,
    birth_place NUMBER (3),
    status NUMBER (1),
    unique_id VARCHAR2 (15)
    TYPE dependents IS TABLE OF dependents_rec
    INDEX BY BINARY_INTEGER;
    end;
    CREATE OR REPLACE PACKAGE wrapper_pkg_demo
    AS
    PROCEDURE read_person_no (
    p_person_id NUMBER,
    p_dependent_info OUT types_pkg.dependents
    END;
    CREATE OR REPLACE PACKAGE BODY wrapper_pkg_demo
    AS
    PROCEDURE read_person_no (
    p_person_id NUMBER,
    p_dependent_info OUT types_pkg.dependents
    IS
    BEGIN
    person_pkg.read_person_no (p_person_id, p_dependent_info);
    END;
    END;
    On database 2:
    CREATE OR REPLACE PACKAGE person_pkg
    AS
    PROCEDURE read_person_no (
    p_person_id NUMBER,
    p_dependent_info OUT types_pkg.dependents@database1
    END;
    CREATE OR REPLACE PACKAGE body person_pkg
    AS
    PROCEDURE read_person_no (
    p_person_id NUMBER,
    p_dependent_info OUT types_pkg..dependents@database1
    IS
    BEGIN
    null;
    END;
    END;
    When compiling the package body on database 1
    ORA-04052: error occurred when looking up remote object TYPES@MOI
    ORA-00604: error occurred at recursive SQL level 1
    ORA-02019: connection description for remote database not found
    Noting that the database link are working properly and when compiling the package on database 2, it compile successfully
    Thank you

  • How to select for insert a long column through database link?

    How may a long column (for example a sql server 2000 text column) be selected for insert into a clob column in table in 10g over a database link without invoking ora-00997?
    I've tried using dbms_metadata_util.long2clob without success over a database link.

    Is the remote database an Oracle database? Or are you selecting data from SQL Server 2000 over a database link via Heterogeneous Services? What is the data type of the column in the remote database (LONG? TEXT? Something else?)?
    Justin

  • Job not executing through database link

    hello all,
    we have a database server with oracle 10g enterprise edition on RHEL 5.3 64-bit , we have created a procedure which pulls data from a remote server using a procedure. that procedure collect data in cursor ..both server are connected using RF connectivity..
    but after every 2 or 3 days i saw that data is not pulled and job is marked as broken .... and when i mark that job as unbroken and try to rexecute that procedure it hangs for long.....
    i don't understand whats going on....i have also seen large number of sessions in my database..is possible that huge number of session are consuming resources and that's why oracle is unable to execute the job??? i have check network also but it is fine...i can access that remote server using VNC or team viewer..so network is definitely not an issue...
    i also set SQLNET.EXPIRE_TIME=10 in sqlnet.ora file and also created a profile for idle_time to get rid of excess inactive sessions....what might be issue??? any suggestion is appreciable...
    thanks and regards
    VD

    hello sir,
    actually it is not about the job, i am sure that procedure is causing problem..... because when i try to execute that procedure , it also hangs, i check all requirements need to be checked..... i think lots of inactive sessions causing this issue, but even after adding sqlnet and profile i is not removing those sesions and hence i think that procedure is not executing....
    coz the database i am connecting is having already connections and doing lots of transactions...so i it possible that it might be an issue.??
    sometime i also got timeout error while connection to that remote server but it is not issue because at the same time i am connected to it from another machine..
    thanks and regards
    VD

  • Database Link makes manipulation slow

    i have oracle 8.5 with developer 6i.
    my application uses two database server and there is a database link between both server.
    when user make a transaction and commit the manipulation procedures post the transaction on local server and on other server through database link.
    but some time it freezes when user press save button and resume after about 5 seconds. and even some time it hangs up for long time.
    is there any solution to get rid of this problem?
    i m working in a client server environment with LAN.
    regards
    adeel

    how much time does it take if you do the same amount of data transaction on sqlplus with the two linked databases?
    The solutions depend on the details of your task.
    e.g.,if data are huge, using the database night cronjob to make the tansactions to the linked one.

  • DATABASE LINK NOT WORKING OR FETCHING QUERYIES

    Hello,
    Oracle Version : 9.2.0.1
    O/S : Win XP SP2
    Sir
    I have to dbs (orcl and reccat) I want to create a database link from reccat to orcl. I have performed following steps and getting error in fetching query through database link.
    SQL> Create database link foo connect to current_user using 'ORCL';
    Database link created.
    SQL> select * from scott.emp@foo;
    select * from scott.emp@foo
    *+
    ERROR at line 1:
    ORA-28030: Server encountered problems accessing LDAP directory service
    My Tnsnames.ora is as :
    TNSNAMES.ORA
    ORCL =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = laptop)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
    INST1_HTTP =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = laptop)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    STANDBY =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = laptop)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = standby)
    RECCAT =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = laptop)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = reccat)
    RECCAT_LAPTOP =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = laptop)(PORT = 1521))
    (CONNECT_DATA =
    (SID = reccat)
    (SERVER = DEDICATED)
    Listener.ora
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = laptop)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = g:\oracle\ora92)
    (PROGRAM = extproc)
    (SID_DESC =
    (GLOBAL_DBNAME = orcl)
    (ORACLE_HOME = g:\oracle\ora92)
    (SID_NAME = orcl)
    (SID_DESC =
    (GLOBAL_DBNAME = standby)
    (ORACLE_HOME = g:\oracle\ora92)
    (SID_NAME = standby)
    (SID_DESC =
    (GLOBAL_DBNAME = reccat)
    (ORACLE_HOME = f:\rec_cat)
    (SID_NAME = reccat)
    STANDBY =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = laptop)(PORT = 1521))
    Pl. guide me where is the problem and how to rectify it.
    Regards
    Neeraj

    Which portion of the documentation is that quote from ?
    See this "+CURRENT_USER database links connect as a global user. A local user can connect as a global user in the context of a stored procedure--without storing the global user's password in a link definition.+ " at the 9.2 documentation that was provided to you earlier in this thread
    http://download-uk.oracle.com/docs/cd/A97630_01/server.920/a96521/users.htm#17355
    and "+CURRENT_USER database links connect as a global user. A local user can connect as a global user in the context of a stored procedure, that is, without storing the global user password in a link definition+." in the 10.2 documentation
    http://68.142.116.70/docs/cd/B19306_01/network.102/b14266/admnauth.htm#i1006269
    and the CURRENT_USER clause and the "Defining a CURRENT_USER Database Link" Example of the CREATE DATABASE LINK documentation in 10.2
    http://68.142.116.70/docs/cd/B19306_01/server.102/b14200/statements_5005.htm#i2061505
    Hemant K Chitale
    http://hemantoracledba.blogspot.com

  • 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

  • Commit through databse link

    Hi all,
    10.2.0.1
    RHEL4
    I am inserting some data to a remote location through database link.
    SQL>insert into tbl1@dblnk select * from tbl1;
    How should i commit?
    How would commit take effect?

    Commit as normal. Oracle will take care of it using two-phase commit.
    For more information see:
    http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_txns.htm#g1013136
    Message was edited by:
    Anvar Huseynov
    added the link

  • Intermedia search through a database link.

    Has anyone been able to do a search through a database link on an intermedia index in another database?
    My sql is:
    select title
    from [email protected]
    where contains (title,'test')>0;
    I get the following errors:
    ORA-20000:
    ORA-02063:
    null

    I guess you cannot do this. I read somewhere (not on top of my head where) that this is not supported.
    null

  • 20 Index Restriction on Remote Tables (i.e. using Database Links)

    The Oracle Database Administrator's Guides for 10g and 11g document a performance restriction that "No more than 20 indexes are considered for a remote table." If I go back to the 8i documentation it says "In cost-based optimization, no more than 20 indexes per remote table are considered when generating query plans. The order of the indexes varies; if the 20-index limitation is exceeded, random variation in query plans may result."
    Does anyone have more details on this performance restriction? In particular I am trying to answer these questions:
    1) Are the 20 indexes which are considered by the CBO still random in 10g?
    2) Can I influence which indexes are considered with index hints or will my hints only be considered if they are for one of the "random" 20 indexes which are being considered by the CBO?
    3) Are there any other approaches or work-arounds to this restriction assuming you need to select from a large remote table with more than 20 indexes (and need to perform the selection using 1 of those indexes to get adequate performance) or do we need to abandon database links for this table?
    Thanks in advance for your input.

    So, here's my simple test.
    SQL>
    SQL> create table gurnish.indexes20plus ( n1 number, n2 number, n3 number, n4 number, n5 number, n6 number, n7 number,
    2 n8 number, n9 number, n10 number, n11 number, n12 number, n13 number, n14 number, n15 number, n16 number,
    3 n17 number, n18 number, n19 number, n20 number, n21 number, n22 number, n23 number, n24 number,
    4 n25 number, n26 number, n28 number);
    create index xin1 on indexes20plus (n1);
    Table created.
    SQL> SQL> create index xin2 on indexes20plus (n2);
    create index xin3 on indexes20plus (n3);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin4 on indexes20plus (n4);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin5 on indexes20plus (n5);
    create index xin6 on indexes20plus (n6);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin7 on indexes20plus (n7);
    Index created.
    SQL> SQL> create index xin8 on indexes20plus (n8);
    Index created.
    SQL> SQL> create index xin9 on indexes20plus (n9);
    Index created.
    SQL>
    SQL> create index xin10 on indexes20plus (n10);
    Index created.
    SQL> SQL> create index xin11 on indexes20plus (n11);
    create index xin12 on indexes20plus (n12);
    create index xin13 on indexes20plus (n13);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin14 on indexes20plus (n14);
    Index created.
    SQL> SQL> create index xin15 on indexes20plus (n15);
    Index created.
    SQL>
    SQL> create index xin16 on indexes20plus (n16);
    Index created.
    SQL>
    SQL> create index xin17 on indexes20plus (n17);
    Index created.
    SQL> SQL> create index xin18 on indexes20plus (n18);
    Index created.
    SQL> SQL> create index xin19 on indexes20plus (n19);
    Index created.
    SQL> SQL> create index xin20 on indexes20plus (n20);
    Index created.
    SQL> SQL> create index xin21 on indexes20plus (n21);
    Index created.
    declare
    i number;
    begin
    for i in 1..100
    loop
    dbms_random.seed(i+100);
    insert into indexes20plus values (dbms_random.value(1,5),dbms_random.value(1,21),dbms_random.RANDOM, dbms_random.RANDOM,dbms_random.value(1,20),
    dbms_random.value(1,4),dbms_random.value(1,6), dbms_random.value(1,7),dbms_random.value(1,9),dbms_random.value(1,10),
    dbms_random.value(1,11),dbms_random.value(1,12),dbms_random.value(1,13),dbms_random.value(1,14),dbms_random.value(1,1),
    dbms_random.value(1,1),dbms_random.value(1,19),dbms_random.value(1,122),dbms_random.value(1,20),dbms_random.value(1,20)
    ,dbms_random.value(4,20),dbms_random.value(1,20),dbms_random.value(1,20),dbms_random.value(1,20),dbms_random.value(1,20)
    ,dbms_random.value(4,20),dbms_random.value(4,20));
    end loop;
    commit;
    end;
    SQL> set autotrace traceonly
    SQL> l
    1* select * from gurnish.indexes20plus@lvoprds where n1 = 4
    SQL> /
    no rows selected
    Execution Plan
    Plan hash value: 441368878
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU
    )| Time | Inst |
    | 0 | SELECT STATEMENT REMOTE | | 1 | 351 | 1 (0
    )| 00:00:01 | |
    | 1 | TABLE ACCESS BY INDEX ROWID| INDEXES20PLUS | 1 | 351 | 1 (0
    )| 00:00:01 | LVPRD |
    |* 2 | INDEX RANGE SCAN | XIN1 | 1 | | 1 (0
    )| 00:00:01 | LVPRD |
    Predicate Information (identified by operation id):
    2 - access("A1"."N1"=4)
    Note
    - fully remote statement
    - dynamic sampling used for this statement
    Statistics
    0 recursive calls
    0 db block gets
    0 consistent gets
    0 physical reads
    0 redo size
    1897 bytes sent via SQL*Net to client
    481 bytes received via SQL*Net from client
    1 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    0 rows processed
    SQL> select * from gurnish.indexes20plus@lvoprds where n21 = 4;
    no rows selected
    Execution Plan
    Plan hash value: 2929530649
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU
    )| Time | Inst |
    | 0 | SELECT STATEMENT REMOTE | | 1 | 351 | 1 (0
    )| 00:00:01 | |
    | 1 | TABLE ACCESS BY INDEX ROWID| INDEXES20PLUS | 1 | 351 | 1 (0
    )| 00:00:01 | LVPRD |
    |* 2 | INDEX RANGE SCAN | XIN21 | 1 | | 1 (0
    )| 00:00:01 | LVPRD |
    Predicate Information (identified by operation id):
    2 - access("A1"."N21"=4)
    Note
    - fully remote statement
    - dynamic sampling used for this statement
    Statistics
    1 recursive calls
    0 db block gets
    0 consistent gets
    0 physical reads
    0 redo size
    1897 bytes sent via SQL*Net to client
    481 bytes received via SQL*Net from client
    1 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    0 rows processed
    SQL>

  • HELP! FOR LOOP TO SCROLL THROUGH TABLE AND CREATE DATABASE LINK

    Hi,
    Here's the scenario, not much of a PL programmer, just basic SQL so really need some help people!
    I have 2 tables. 1 contains list of DB's and the other contains rules to follow.
    I need to create a loop that goes through the table containing the DB's and on each row a DB link is created (Only 1 link allowed!)
    Once created, the schema currently logged in with also has an account on the linked DB in order to run scripts- The scripts are stored centrally hence the requirement for the link to the target DB.
    There are numerous scripts that need to be executed and can all be called from 1 script, once executed the loop exists and the database link needs to be dropped.
    Once dropped, the first loop continues, creating a DB link for the next DB listed in the table (and all the scripts are fired again)
    This continues against all the DB's listed in the table.

    Hi BlueShadow,
    Thanks again for the response, you've hit the nail on the head. SQL scripts on a unix server, a loop goes through a table 1 at a time. Each row gets a link created and then all the scripts stored on the server are executed against the db linked to. So I'm assuming this is a loop within a loop.
    1 loop to go through the table to create the link and then another loop within once connected to execute all the scripts against the connected DB. Once the scripts are run, the loop exits and moves onto the next server and so on until all the servers have the scripts are run.
    It's PL/SQL scripts we're after and not shell scripts as this would free us from the OS constraints.
    We have to drop the links due to security. Any idea on o

Maybe you are looking for

  • DMS Folder Display broken in GW7.02

    After upgrading our clients to GW7.02 HP + applying the lastest FTP Hot Patch to fix DMS Custom View , we are still experiencing broken Custom Views in DMS. Our company uses Shared Folders for work flows. The Custom Views continue to give us C006 Rec

  • Photos in FCE; export from Aperture in target size?

    hi all. I'm planning to place photos from Aperture into my FCE project, with the photos fading from one to the next. they won't be full screen, less than half. to get the best final quality, do I need to sharpen and export from Aperture so that the p

  • Graphic blurry during fade from black?

    This is my first post in Final Cut Pro. I just sold my Avid system and have embraced FCP. My problem is I'm doing a Cross disolve from a slug to a still image which I saved as a tif. During the transition the still image gets blurry and the once the

  • Can these two attributes conflict each other?

    A Data Guard question: Can MAX_FAILURE and NET_TIMEOUT attributes conflict each other if we configure them simultaneously on a same LOG_ARCHIVE_DEST destination? Is there any overlap to them?

  • Bluetooth is suddenly not available anymore!

    bluetooth is suddenly not available anymore! and i can`t find it in the systemeinstellungen