Alternative to UNION SQL Oracle 11g

Hi,
is any possibility to replace this SQL statement with another one?
Be aware that this one works and the tables are not identical.
String statement =" SELECT id, "+
     " sender_id, "+
     " date_created "+
     " FROM DOCUMENT_ARCHIVE da "+
     " where da.SOURCE_FILE_NAME = 'shpaig0140_shpsts_shpaig_C2KRMP1.txt' "+
     " union all "+
     " select file_id,"+
     " sender_id,"+
     " date_created "+
     " from DOCUMENT_FILE df "+
     " WHERE df.SOURCE_FILE_NAME = 'shpaig0140_shpsts_shpaig_C2KRMP1.txt' ";

Why do you feel the need to replace it if it gives correct results? If you need to union, then you need to union. Most other structures would not give identical results, that is, one row for each occurrence in each table.
About the only change that you could make would be to create a view along the lines of:
CREATE VIEW combined AS
SELECT id, sender_id, date_created, source_file_name
FROM document_archive
UNION ALL
SELECT id, sender_id, date_created, source_file_name
FROM document_fileThen query the view like:
SELECT id, sender_id, date_created
FROM combined
WHERE source_file_name = 'shpaig0140_shpsts_shpaig_C2KRMP1.txt' As a side note, I hope that your real code uses bind variables instead of string literals.
John

Similar Messages

  • Alternative to union in Oracle 10g

    Below is the sql using union that I am using currently. There are 64 columns from 3 different tables. Out of all the columns only one column value is a constant to get 2 records.
    select col1, col2, col3,...., 'DE' medium_val
    from table1, table2, table3
    where table1.col1 = table2.col1
    and table2.col1 = table3.col1
    and other criteria
    union
    select col1, col2, col3,...., 'WG' medium_val
    from table1, table2, table3
    where table1.col1 = table2.col1
    and table2.col1 = table3.col1
    and other criteria
    Basically just repeating the same code just for one column value. Is there any other alternative to union to avoid querying the same tables twice.

    Hi,
    Here's one way that will work in Oracle 9 (or higher):
    WITH     all_medium_vals     AS
         SELECT  'DE' AS medium_val     FROM dual     UNION ALL
         SELECT     'WG'                FROM dual
    SELECT  col1, col2, col3, ....
    ,      m.medium_val
    FROM      table1
    ,      table2
    ,      table3
    ,     all_medium_vals  m
    WHERE      table1.col1      = table2.col1
    AND     table2.col1      = table3.col1
    AND     ...
    ;Don't reference m.medium_val in the WHERE clause. By leaving it out, you'll do a cross-join of your result set from table1, table2 and table3 with the 2 rows in all_medium_vals.
    Starting in Oracle 11, there's also SELECT ... UNPIVOT.
    You'll notice this query is still doing a UNION, but it's just doing the UNION of two rows, and then doing the complicated query only once. That will be a lot more efficient than doing the complicated query twice, and then doing a UNION of however many rows that happend to produce. There are ways to generate all_medium_vals without a UNION, but they are not as easy to understand or debug, and not significantly more efficient.

  • Can I use Same ADF application with SQL server 2008 as well as Oracle 11g?

    Hi ,
    I have created a application in ADF(Using J-Developer). I used SQL server 2008 as Database Provider. I have same Database in Oracle 11g. I want to connect my appliction to Oracle 11g database. I changed connection and connected to Oracle. But, when I tried to save or delete any data from front end, it gave error. Any solution on this?
    Thanks

    Hi,
    I have created Entity object and View object for every page in my application. That objects created from sql server database. Application is working fine with sql server. But when connected with Oracle 11g. It is giving following errors:
    On clicking search control it gives: ORA 00923 From keyword not found where expected.
    On searching with perticular field it gives: ORA-01722: Invalid Number.
    On Clicking save buttonit gives: ORA-00933: SQL command not properly ended.
    These are error messages from IntegratedWebLogicServer-Log:
    java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
    <QueryCollection> <buildResultSet> [3929] java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
    Caused by: java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
    <DCBindingContainer> <cacheException> [3947] * * * BindingContainer caching EXCEPTION:oracle.jbo.SQLStmtException
    <DCBindingContainer> <cacheException> [3948] java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
    <DCBindingContainer> <cacheException> [3949] * * * BindingContainer caching EXCEPTION:oracle.jbo.SQLStmtException
    <DCBindingContainer> <cacheException> [3950] java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
    <DCBindingContainer> <cacheException> [3951] * * * BindingContainer caching EXCEPTION:oracle.jbo.SQLStmtException
    <DCBindingContainer> <cacheException> [3952] java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
    <DCBindingContainer> <cacheException> [3953] * * * BindingContainer caching EXCEPTION:oracle.jbo.SQLStmtException
    <DCBindingContainer> <cacheException> [3954] java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
    java.lang.NullPointerException

  • Connect Oracle 11g (64-bit windows server) to Microsoft SQL Server 2000

    Hi all,
    I am trying to connect:
    Oracle 11g (64-bit windows server) to Microsoft SQL Server 2000 (32-bit) on a different machine.
    1) I have create an ODBC connection (called:GALAXY) which connects.
    2) created a init.ora called it initgalaxy.ora in $oracle_home\hs\admin
    HS_FDS_CONNECT_INFO = GALAXY
    HS_FDS_TRACE_LEVEL = on
    3) modified the listener.ora file as below
    # listener.ora Network Configuration File: E:\Ora11g\product\11.1.0\db_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = BIU01)(PORT = 1521))
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = extproc0))
    SID_LIST_LISTENER=
    (SID_LIST=
    (SID_DESC =
    (GLOBAL_DBNAME = HEX.BIU01.kingsch.nhs.uk)
    (ORACLE_HOME = E:\Ora11g\product\11.1.0\db_1)
    (SID_NAME = HEX)
    (SID_DESC=
    (SID_NAME = galaxy)
    (ORACLE_HOME = E:\Ora11g\product\11.1.0\db_1)
    (PROGRAM = dg4odbc)
    (SID_DESC =
    (PROGRAM = EXTPROC)
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = E:\Ora11g\product\11.1.0\db_1)
    4) modified the tnsnames.ora file is as follows
    GALAXY =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = BIU01.kingsch.nhs.uk)(PORT = 1521))
    (CONNECT_DATA =
    (SID = galaxy)
    (HS = OK)
    HEX =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = BIU01.kingsch.nhs.uk)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = HEX)
    5) restarted the listener
    6) created a public database connect
    create PUBLIC DATABASE LINK "GALAXY" CONNECT TO "USER" IDENTIFIED by "PWD" USING 'galaxy';
    This is the error message I can sell in $oracle_home\hs\admin\trace
    Oracle Corporation --- MONDAY APR 27 2009 11:54:18.370
    Heterogeneous Agent Release
    11.1.0.6.0
    Oracle Corporation --- MONDAY APR 27 2009 11:54:18.370
    Version 11.1.0.6.0
    HOSGIP for "HS_FDS_TRACE_LEVEL" returned "ON"
    HOSGIP for "HS_OPEN_CURSORS" returned "50"
    HOSGIP for "HS_FDS_FETCH_ROWS" returned "100"
    HOSGIP for "HS_LONG_PIECE_TRANSFER_SIZE" returned "65536"
    HOSGIP for "HS_NLS_NUMERIC_CHARACTER" returned ".,"
    HOSGIP for "HS_FDS_RECOVERY_ACCOUNT" returned "RECOVER"
    HOSGIP for "HS_FDS_TRANSACTION_LOG" returned ""HS_TRANSACTION_LOG""
    HOSGIP for "HS_FDS_TIMESTAMP_AS_DATE" returned "TRUE"
    HOSGIP for "HS_FDS_CHARACTER_SEMANTICS" returned "FALSE"
    HOSGIP for "HS_FDS_MAP_NCHAR" returned "TRUE"
    HOSGIP for "HS_FDS_RESULT_SET_SUPPORT" returned "FALSE"
    HOSGIP for "HS_FDS_PROC_IS_FUNC" returned "FALSE"
    HOSGIP for "HS_FDS_REPORT_REAL_AS_DOUBLE" returned "FALSE"
    using galaxy_live as default value for "HS_FDS_DEFAULT_OWNER"
    HOSGIP for "HS_SQL_HANDLE_STMT_REUSE" returned "FALSE"
    ##>Connect Parameters (len=42)<##
    ## DSN=GALAXY;
    #! UID=galaxy_live;
    #! PWD=*
    hgocont, line 1890: calling SqlDriverConnect got sqlstate IM002
    when I try to test the database link, I get this error:
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    [Microsoft][ODBC Drive Manager] Data source name not found and no default driver specified
    ORA-02063: preceding 2 lines from GALAXY
    28500.00000- "connection from ORACLE to ad non-Oracle system returned this message:"
    *Cause: The cause is explained in the forwarded message.
    *Action: See the non-Oracle system's documentation of the forwarded message.
    vendor code 28500
    Edited by: user7336435 on 27-Apr-2009 05:56

    11.2 is beta at the moment. There is no official release date so far.
    As DG4ODBC is independant from the Oracle database (or the target database) you can use a 3 machine model:
    On the first machine you have your Oracle database, on a second machine running 32bit Windows you can install DG4ODBC and on the 3rd machine you can run your foreign database.
    If the SQL Server 2k is installed on a 32bit Windows machine, then you can also install DG4ODBC on this machine.
    In general the connection from an Oracle database to the DG4ODBC machine is done using SDQL*Net. The listener responsible for DG4ODBC will then load the DG4ODBC executable which will connect to the SQL Server using SQL Server ODBC driver.

  • Oracle 11g - Problem in referring ROWNUM in the SQL

    Hello All,
    We are facing a strange problem with Oracle 11g (11.2.0.1.0).
    When we issue a query which refers the rownum, it returns a invalid record ( which is not exists in the table).
    The same sql is working fine once we analyze the table
    Note: The same sql is working fine with oracle 10g (Before analyze also).
    The script to reproduce the issue:
    DROP TABLE BusinessEntities;
    CREATE TABLE BusinessEntities
    business_entity_id VARCHAR2(25) PRIMARY KEY,
    business_entity_name VARCHAR2(50) NOT NULL ,
    owner_id VARCHAR2(25) ,
    statutory_detail_id NUMBER ,
    address_id NUMBER NOT NULL
    DROP TABLE BusEntityRoles;
    CREATE TABLE BusEntityRoles
    business_entity_id VARCHAR2(25) NOT NULL,
    role_id VARCHAR2(10) NOT NULL,
    PRIMARY KEY (business_entity_id, role_id)
    INSERT
    INTO businessentities ( business_entity_id , business_entity_name, owner_id , statutory_detail_id , address_id)
    VALUES
    ( 'OWNER', 'OWNER Corporation Ltd', NULL , 1, 1 );
    INSERT
    INTO businessentities ( business_entity_id , business_entity_name, owner_id , statutory_detail_id , address_id)
    VALUES
    ( 'ALL_IN_ALL', 'ALL IN ALL Corporation Ltd', 'OWNER' , 2, 2 );
    INSERT INTO busentityroles(business_entity_id, role_id) VALUES ('TEST' , 'OWNER');
    INSERT INTO busentityroles (business_entity_id,role_id) VALUES ('TEST','VENDOR');
    INSERT INTO busentityroles(business_entity_id, role_id) VALUES ('ALL_IN_ALL' , 'VENDOR');
    SELECT *
    FROM
    (SELECT raw_sql_.business_entity_id, raw_sql_.business_entity_name, raw_sql_.owner_id, raw_sql_.address_id,
    rownum raw_rnum_
    FROM
    (SELECT *
    FROM BusinessEntities
    WHERE (business_entity_id IN
    (SELECT business_entity_id
    FROM BusinessEntities
    WHERE business_entity_id = 'OWNER'
    OR owner_id = 'ALL_IN_ALL'
    AND business_entity_id NOT IN
    (SELECT business_entity_id FROM BusEntityRoles
    ORDER BY business_entity_id ASC
    ) raw_sql_
    WHERE rownum <= 5
    WHERE raw_rnum_ > 0;
    OUTPUT Before Analyzing
    BUSINESS_ENTITY_ID: OWNER
    BUSINESS_ENTITY_NAME: NULL
    OWNER_ID: OWNER
    ADDRESS_ID: NULL
    RAW_RNUM_: 1
    Note: There is no record in the table with the value business_entity_id as 'OWNER' and OWNER_ID as 'OWNER' and the address_id as NULL
    OUTPUT : After analyzed the table Using the below mentioned command
    ANALYZE TABLE "BUSENTITYSUPPLYCHAINROLES" ESTIMATE STATISTICS
    ANALYZE TABLE "BUSINESSENTITIES" ESTIMATE STATISTICS
    BUSINESS_ENTITY_ID: OWNER
    BUSINESS_ENTITY_NAME: OWNER Corporation Ltd
    OWNER_ID: NULL
    ADDRESS_ID: 1
    RAW_RNUM_: 1
    Any clue why Oracle 11g is behaving like this.

    Hi,
    it's a good practice to give aliases for tables, as well as name query blocks. Here it is (and formatted for convinience):
    select --/*+ gather_plan_statistics optimizer_features_enable('10.2.0.4') */
      from (select /*+ qb_name(v2) */
                   raw_sql_.business_entity_id
                  ,raw_sql_.business_entity_name
                  ,raw_sql_.owner_id
                  ,raw_sql_.address_id
                  ,rownum raw_rnum_
              from (select /*+ qb_name(v1) */ *
                      from businessentities b1
                     where (b1.business_entity_id in
                           (select /*+ qb_name(in) */ b2.business_entity_id
                               from businessentities b2
                              where business_entity_id = 'OWNER'
                                 or owner_id = 'ALL_IN_ALL'
                                and business_entity_id not in
                                   (select /*+ qb_name(not_in) */ r.business_entity_id from busentityroles r)))
                     order by business_entity_id asc) raw_sql_
             where rownum <= 5)
    where raw_rnum_ > 0;You are facing some bug - definitely - and, possibly, it is caused by [join elimination|http://optimizermagic.blogspot.com/2008/06/why-are-some-of-tables-in-my-query.html]. As a workaround you should rewrite the query to eliminate unnecessary join manually; or you may include a hint to not eliminate join (it's not documented):
    SQL>
    select -- /*+ gather_plan_statistics optimizer_features_enable('10.2.0.4') */
      from (select /*+ qb_name(v2)  */
                   raw_sql_.business_entity_id
                  ,raw_sql_.business_entity_name
                  ,raw_sql_.owner_id
                  ,raw_sql_.address_id
                  ,rownum raw_rnum_
              from (select /*+ qb_name(v1) no_eliminate_join(b1) */ *
                      from businessentities b1
                     where (b1.business_entity_id in
                           (select /*+ qb_name(in) */ b2.business_entity_id
                               from businessentities b2
                              where business_entity_id = 'OWNER'
                                 or owner_id = 'ALL_IN_ALL'
                                and business_entity_id not in
                                   (select /*+ qb_name(not_in) */ r.business_entity_id from busentityroles r)))
                     order by business_entity_id asc) raw_sql_
             where rownum <= 5)
    20   where raw_rnum_ > 0;
    BUSINESS_ENTITY_ID        BUSINESS_ENTITY_NAME                               OWNER_ID                  ADDRESS_ID  RAW_RNUM_
    OWNER                     OWNER Corporation Ltd                                                                 1          1Strange thing is executing a transformed query gives correct result too:
    SELECT "from$_subquery$_001"."BUSINESS_ENTITY_ID" "BUSINESS_ENTITY_ID",
           "from$_subquery$_001"."BUSINESS_ENTITY_NAME" "BUSINESS_ENTITY_NAME",
           "from$_subquery$_001"."OWNER_ID" "OWNER_ID",
           "from$_subquery$_001"."ADDRESS_ID" "ADDRESS_ID",
           "from$_subquery$_001"."RAW_RNUM_" "RAW_RNUM_"
      FROM  (SELECT /*+ QB_NAME ("V2") */
                    "RAW_SQL_"."BUSINESS_ENTITY_ID" "BUSINESS_ENTITY_ID",
                    "RAW_SQL_"."BUSINESS_ENTITY_NAME" "BUSINESS_ENTITY_NAME",
                    "RAW_SQL_"."OWNER_ID" "OWNER_ID","RAW_SQL_"."ADDRESS_ID" "ADDRESS_ID",
                    ROWNUM "RAW_RNUM_"
               FROM  (SELECT /*+ QB_NAME ("V1") */
                            "SYS_ALIAS_1"."BUSINESS_ENTITY_ID" "BUSINESS_ENTITY_ID",
                            "SYS_ALIAS_1"."BUSINESS_ENTITY_NAME" "BUSINESS_ENTITY_NAME",
                            "SYS_ALIAS_1"."OWNER_ID" "OWNER_ID",
                            "SYS_ALIAS_1"."STATUTORY_DETAIL_ID" "STATUTORY_DETAIL_ID",
                            "SYS_ALIAS_1"."ADDRESS_ID" "ADDRESS_ID"
                       FROM "TIM"."BUSINESSENTITIES" "SYS_ALIAS_1"
                      WHERE ("SYS_ALIAS_1"."BUSINESS_ENTITY_ID"='OWNER'
                          OR "SYS_ALIAS_1"."OWNER_ID"='ALL_IN_ALL' AND  NOT
                             EXISTS (SELECT /*+ QB_NAME ("NOT_IN") */ 0
                                       FROM "TIM"."BUSENTITYROLES" "R"
                                      WHERE "R"."BUSINESS_ENTITY_ID"="SYS_ALIAS_1"."BUSINESS_ENTITY_ID")
                      ORDER BY "SYS_ALIAS_1"."BUSINESS_ENTITY_ID") "RAW_SQL_"
             WHERE ROWNUM<=5) "from$_subquery$_001"
    26   WHERE "from$_subquery$_001"."RAW_RNUM_">0
    27  /
    BUSINESS_ENTITY_ID        BUSINESS_ENTITY_NAME                               OWNER_ID                  ADDRESS_ID  RAW_RNUM_
    OWNER                     OWNER Corporation Ltd                                                                 1          1

  • Problem in sql developer while connecting to oracle 11g

    when am creating a database connection with oracle 11g in sql developer editor it s throwing network adapter could not establish the connection
    connection name test
    user name system
    password system
    Role default
    Host name localhost
    Port 1521
    SID orcl
    Can any one help me to resolve the problem?
    Thanks in advance

    Those parameters probably aren't correct.
    Is that 11g on your machine? Try to specify the real IP instead. And sure the listener is up?
    Also sure about the SID and port?
    Hope that helps,
    K.

  • Need help setting up DB Link from my Oracle 11g XE to SQL Server.

    Hi,
    I'm trying to create a DB Link from my Oracle 11g Express Edition in a Windows XP machine to an SQL Server. Here are the steps I've done so far.
    1. Created and setup an ODBC Connection for the SQL Server DB. Named it SQLSERVER. Windows Authenticated.
    2. Modified listener.ora. See below.
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
          (PROGRAM = extproc)
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
          (PROGRAM = extproc)
        (SID_DESC =
          (SID_NAME = SQLSERVER)
          (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
          (PROGRAM = hsodbc)
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    DEFAULT_SERVICE_LISTENER = (XE)3. Modified tnsnames.ora. See below.
    XE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
    SQLSERVER =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT=1521))
        (CONNECT_DATA =
          (SID = SQLSERVER)
      (HS = OK)
    )4. Copied C:\oraclexe\app\oracle\product\11.2.0\server\hs\admin\initdg4odbc.ora to C:\oraclexe\app\oracle\product\11.2.0\server\hs\admin\initSQLSERVER.ora and modified it. See below.
    # This is a sample agent init file that contains the HS parameters that are
    # needed for the Database Gateway for ODBC
    # HS init parameters
    HS_FDS_CONNECT_INFO = SQLSERVER
    HS_FDS_TRACE_LEVEL = off
    # Environment variables required for the non-Oracle system
    #set <envvar>=<value>5. Restarted listener.
    C:\>lsnrctl stop
    LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 18-SEP-2012 11:33
    :51
    Copyright (c) 1991, 2010, Oracle.  All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    The command completed successfully
    C:\>lsnrctl start
    LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 18-SEP-2012 11:33
    :54
    Copyright (c) 1991, 2010, Oracle.  All rights reserved.
    Starting tnslsnr: please wait...
    TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
    System parameter file is C:\oraclexe\app\oracle\product\11.2.0\server\network\ad
    min\listener.ora
    Log messages written to C:\oraclexe\app\oracle\diag\tnslsnr\PHAILORTD000012\list
    ener\alert\log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    STATUS of the LISTENER
    Alias                     LISTENER
    Version                   TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Produ
    ction
    Start Date                18-SEP-2012 11:33:57
    Uptime                    0 days 0 hr. 0 min. 3 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Default Service           XE
    Listener Parameter File   C:\oraclexe\app\oracle\product\11.2.0\server\network\a
    dmin\listener.ora
    Listener Log File         C:\oraclexe\app\oracle\diag\tnslsnr\PHAILORTD000012\li
    stener\alert\log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
      Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "PLSExtProc" has 1 instance(s).
      Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "SQLSERVER" has 1 instance(s).
      Instance "SQLSERVER", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully6. Created database link using the following command.
    create database link sqlserver using 'SQLSERVER';7. Test using
    select * from "dbo.mytable"@sqlserver;
    ORA-28545: error diagnosed by Net8 when connecting to an agent
    Unable to retrieve text of NETWORK/NCR message 65535
    ORA-02063: preceding 2 lines from SQLSERVER
    select * from dbo.mytable@sqlserver;
    ORA-28545: error diagnosed by Net8 when connecting to an agent
    Unable to retrieve text of NETWORK/NCR message 65535
    ORA-02063: preceding 2 lines from SQLSERVER
    select * from mytable@sqlserver;
    ORA-28545: error diagnosed by Net8 when connecting to an agent
    Unable to retrieve text of NETWORK/NCR message 65535
    ORA-02063: preceding 2 lines from SQLSERVERI followed the steps provided in this link but not sure where I went wrong. Can someone help me.
    http://www.dba-oracle.com/t_heterogeneous_database_connections_sql_server.htm
    Thanks,
    Allen

    Here's more information on the machines.
    Machine where the Oracle Database 11g Express Edition: IP Address is 10.162.128.67
    Machine where the SQL Server database: IP Address is 142.120.51.30.
    I've modified the tnsnames.ora to the following:
    XE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 10.162.128.67)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
    SQLSERVER =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 142.120.51.30)(PORT=1433))
        (CONNECT_DATA =
          (SID = SQLSERVER)
      (HS = OK)
    )But now I'm getting the following error:
    C:\>tnsping sqlserver
    TNS Ping Utility for 32-bit Windows: Version 11.2.0.2.0 - Production on 18-SEP-2
    012 14:52:59
    Copyright (c) 1997, 2010, Oracle.  All rights reserved.
    Used parameter files:
    C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
    (HOST = 142.120.51.30)(PORT=1434))) (CONNECT_DATA = (SID = SQLSERVER)) (HS = OK)
    TNS-12541: TNS:no listener
    C:\>Regards,
    Allen

  • How do I connect Oracle 11g 11.1.0.7 on LINUX 64-bit machine to SQL Server?

    Hi,
    Does anyone know how do I connect from Oracle 11g 11.1.0.7 on LINUX 64-bit machines to SQL Server 2000 DB please so I can set up a regular data extraction job to migrate data? Does this use products I am already licenced for under Oracle Enterprise Edition?
    Thanks,
    Jeremy

    you must be not read it carefully.
    The gateway software is there, in the bottom.
    Oracle Database Gateways 11g Release 1 (11.1.0.6.0)
    for Linux x86-64
        linux.x64_11gR1_gateways.zip (505,401,641 bytes) (cksum - 2593459988)  just download it.
    and this is how to install and configure
    http://download.oracle.com/docs/cd/B28359_01/gateways.111/b31042/partsql.htm#BJEGEBFH

  • How do I migrate views from MS SQL 2008 to Oracle 11g through SQL Developer

    Is there any way to migrate the views from MS SQL 2008 to Oracle 11g through SQL Developer? Please give me some detail steps. Thanks for your help.
    Kevin

    Hi Kevin,
    user13531850 wrote:
    Hi Turloch,
    When I use migrate to oracle, I got a problem, the migrate tool create a new schema for me in my case (AZTECA_KSMMS), it migrates all the stuffs under that schema (AZTECA_KSMMS). However my application need the all the Oracle data under schema AZTECA instead of AZTECA_KSMMS. Is there any way to specify specific schema (AZTECA) for target oracle database? Schema remapping is available:
    First Capture (separately) then during right click convert on the captured model there is a Specify the conversion options with a Object Naming tab where the schema (and other) name changes are editable.
    I have not used this recently.
    Also during the migration process, when I choose repository, there is a check box for truncate to reset repository to empty state, Do I need to check that truncate Check Box so the repository will be cleared from last migration?The repository can hold multple migration attempts. Check truncate to get rid of previous attempts information. This cleans up the repository - not the destination database.
    There are also online database and offline database options during the migration process, what are the difference between these two choices? After I migrated to Oracle, all my views has a red cross icon next to it. Does that mean the view migration is failed or not? Please give me your comments. Thanks for your help.offline: for big (amount of data) databases with simple data types,
    uses bcp + files + scripts + sqlldr.
    online: for small (amount of data) databases (easier),
    uses (Java) jdbc.
    The view is likely to be broken - recompiling it may help.
    The Oracle schema is created using a .sql file - see under generated in the directory you gave originally in the wizard. There is a .out file that contains the result of running this script including any errors. During conversion there are also likely to be warnings displayed on the UI.
    There may be a single issue that is causing multiple issues - if viewa depends on functionb, and functionb is broken, viewa will also fail.
    >
    Kevin-Turloch
    SQLDeveloper Team

  • Problem with getting started with the SQL Developer in oracle 11g

    I downloaded the oracle 11g from the oracle site and installed it on my machine.Now i want to write the sql queries and practise them......so i tried this:start\oracle11gHome\ApplicationDevelopment\Sqldeveloper . But I get a messagebox with a browse button asking me to "Enter the full pathname for java.exe"
    what is this all about?Do i need to install jave in my host machine?
    how to solve this problem?

    hi
    If you are asked to enter the full pathname for java.exe, click Browse and find java.exe. For example, the path might have a name similar to C:\Program Files\Java\jdk1.5.0_06\bin\java.exe.
    http://download.oracle.com/docs/cd/E10405_01/doc/install.120/e10407/install.htm
    hope this helps
    zekeriya

  • How to validate XML Digital Signature with XML DB (o PL/SQL) in Oracle 11g

    Hi,
    Do you know if there is possibility to validate XML Digital Signature using XML DB (or PL/SQL) in Oracle 11g?
    Let say I have CLOB/XMLType containing Digitally Signed XML, and I want to validate, that thsi is proper signature. I also have public key of signer (I could store it in CLOB or file or Oracle wallet).
    Is it possible to do?
    If there is need to install additional component - then which one?
    Regards,
    Paweł

    Hi,
    this is what i got from someone...
    but the links he gave are not opening up...
    u have to place a picture there and have to load the digital signatures as Jpegs on to the server to OA top
    and have to refer them in the XML for dynamically get the signature on the reports
    when u select the properties of the picture placed in the XML template,
    there will be one tab with "URL"... in that u have to give the path for that jpegs
    Pls refer the following documents for enabling digital signature on pdf documents.
    http://iasdocs.us.oracle.com/iasdl/bi_ee/doc/bi.1013/e12187/T421739T481159.htm#5013638    (refer section 'Adding or Designating a Field for Digital Signature'
    http://iasdocs.us.oracle.com/iasdl/bi_ee/doc/bi.1013/e12188/T421739T475591.htm#5013688
    (Implementing a Digital Signature
    Is the BI Publisher installed on your instance of version 10.1.3.4 or higher?
    Pls procure a digital signature as soon as possible. The process can take time. OR we could use any certificate that you already might have OR generate a certificate using Oracle Certificate Authority for demo.

  • Sql Developer 1.1 is bundled in Oracle 11g

    Dear,
    The Oracle 11g is bundled with SQL Developer 1.1. I could install Sql Developer 1.5 in the same machine. But two Sql developers 1.1 and 1.5 are there eating the disk space. How to uninstall only the SQL developer 1.1 which bundled with Oracle11g. I am not able to do with Universal uninstaller.
    -mathews

    Just delete the installation folder...
    Have fun,
    K.

  • Connecting SQL server from Oracle 11g

    Hello,
    I know there are several threads available to this post but please help me in
    *step by step process to follow in connecting 2 servers.
    I tried everything in internet but got Connection closed error after tnsping of DNS name. Do i need to run any instance sort of thing in SQL server?
    I dont have any access on SQL server.Whatever i have to do that has to be only in Oracle server.I got all those information and created ODBC (using SQL server driver) and tested the connection successfully in Oracle server. Altered INIT*.ORA,TNSNAMES.ORA and LISTENER.ORA but when pinging TNS awfully getting the afore said error.
    My environment : Oracle 11g server - SQL server 2008 ( both in windows platform).
    My
    TNS names entry
    GSIS =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.1)(PORT = 63455))
    (CONNECT_DATA = (SID=GSIS)
    (SERVER = DEDICATED)
    (HS=OK)
    Listener entry
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
    (ADDRESS = (PROTOCOL = TCP)(HOST = COB417147.cob.apac.bosch.com)(PORT = 1522))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = CLRExtProc)
    (ORACLE_HOME = C:\Oracle\app\amk1cob\product\11.2.0\dbhome_1)
    (PROGRAM = extproc)
    (ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle\app\amk1cob\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    (SID_DESC =
    (SID_NAME = GSIS)
    (ORACLE_HOME = C:\Oracle\app\amk1cob\product\11.2.0\dbhome_1)
    (PROGRAM = hsodbc)
    and
    initGSIS
    entry
    # This is a sample agent init file that contains the HS parameters that are
    # needed for the Database Gateway for ODBC
    # HS init parameters
    HS_FDS_CONNECT_INFO = GSIS
    HS_FDS_TRACE_LEVEL = OFF
    # Environment variables required for the non-Oracle system
    #set
    when tnsping i am getting
    TNS connection closed.
    I am awfully stuck here.
    Please guide..

    Status
    C:\Oracle\app\amk1cob\product\11.2.0\dbhome_1\BIN>lsnrctl status
    LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 11-MAY-2012 17:48
    :14
    Copyright (c) 1991, 2010, Oracle. All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
    STATUS of the LISTENER
    Alias LISTENER
    Version TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Produ
    ction
    Start Date 11-MAY-2012 17:36:30
    Uptime 0 days 0 hr. 11 min. 48 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File C:\Oracle\app\amk1cob\product\11.2.0\dbhome_1\network\
    admin\listener.ora
    Listener Log File c:\oracle\app\amk1cob\diag\tnslsnr\COB417147\listener\
    alert\log.xml
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1522ipc)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=COB417147.cob.apac.bosch.com)(PORT=1
    522)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=COB417147.cob.apac.bosch.com)(PORT=8
    080))(Presentation=HTTP)(Session=RAW))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
    Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "GSIS" has 1 instance(s).
    Instance "GSIS", status UNKNOWN, has 1 handler(s) for this service...
    Service "orcl.cob.apac.bosch.com" has 1 instance(s).
    Instance "orcl", status READY, has 1 handler(s) for this service...
    Service "orclXDB.cob.apac.bosch.com" has 1 instance(s).
    Instance "orcl", status READY, has 1 handler(s) for this service...
    The command completed successfully
    TNS ping
    C:\Oracle\app\amk1cob\product\11.2.0\dbhome_1\BIN>tnsping GSIS
    TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 11-MAY-2
    012 18:21:55
    Copyright (c) 1997, 2010, Oracle. All rights reserved.
    Used parameter files:
    C:\Oracle\app\amk1cob\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.
    1.1)(PORT = 63455)) (CONNECT_DATA = (SID=GSIS)) (HS=OK))
    TNS-12537: TNS:connection closed
    C:\Oracle\app\amk1cob\product\11.2.0\dbhome_1\BIN>
    BTW it is 32-bit machine.
    Edited by: 933729 on May 11, 2012 5:57 AM

  • Oracle 11g - Merge PL/SQL issue - Same code work in Oracle10g

    Below PL/SQL block stop working after Oracle11g upgrade, working fine in Oracle10g
    CREATE TABLE TMP_TABLE1 (P_PROVIDER NUMBER, P_ID NUMBER);
    CREATE TABLE TMP_TABLE2 (COL1 NUMBER, COL2 NUMBER);
    CREATE TABLE TMP_TABLE3 (COL3 NUMBER, COL4 NUMBER);
    BEGIN
    FOR i IN (SELECT p_provider p_provider, p_id p_id FROM tmp_table1)
    LOOP
    MERGE INTO TMP_TABLE2 T
    USING ( SELECT I.P_PROVIDER P_PROVIDER,
    I.P_ID P_ID FROM DUAL) DDD
    ON (T.COL1= DDD.P_PROVIDER AND T.COL2 = DDD.P_ID)
    WHEN NOT MATCHED THEN
    INSERT (COL1, COL2) VALUES (1, (SELECT x.COL4 FROM TMP_TABLE3 x WHERE x.COL4 = DDD.P_ID));
    END LOOP;
    END;
    Oracle 10g Version:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE 10.2.0.4.0 Production
    TNS for Solaris: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    Oracle 11g Version:
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE 11.2.0.2.0 Production
    TNS for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 – Production
    Oracle11 g Error:
    Error at line 5
    ORA-06550: line 11, column 93:
    PL/SQL: ORA-00904: "DDD"."P_ID": invalid identifier
    ORA-06550: line 5, column 7:
    PL/SQL: SQL Statement ignored
    Script Terminated on line 5.
    Is there any patch/work around in Oracle 11g?
    Please advice
    Thank you
    Raj

    We had a similar issue when our organization upgraded to 11gR2.
    It looks like it boils down to a change Oracle made in regards to how it works with correlated subqueries within an insert statement.
    Anyway, this thread has a little more information:
    Merge Command in 10g vs 11g
    And it says to look at Metalink note 1109983.1 (which I can't seem to find).
    Anyway, a workaround in thread is suggests (which worked for us) to wrap the insert subquery around a dummy decode clause, and oddly it will work.
    eg:
    INSERT (COL1, COL2) VALUES (1, (decode(1,1,(SELECT x.COL4 FROM TMP_TABLE3 x WHERE x.COL4 = DDD.P_ID)) ) ) ;
    Quite a kludge, but at least it is an immediate fix to the problem, without having to rewrite anything.

  • Difference between Oracle 10g and Oracle 11g when using Distinct in SQL

    Hi All,
    When I use Distinct in Oracle 10g, the result would be sorted in ascending order automatically, while there is no sorting in the result set in Oracle 11g.
    I was using plsql developer to run my sql.
    May I know if anyone have the same experience before?
    Is there any kind of setting in 11g that I can make the result in order? Thanks!
    Edited by: user5810051 on 2011/4/6 下午 8:47

    As acadet says, if you want your result ordered you must specify an ORDER BY clause in your query. Just because previous versions of oracle included some ordering as part of the processing of a query, that was not a guaranteed ordering, but just a side-effect. Now that Oracle have improved the internal workings, they've removed the side-effect, and that's why you're not getting the ordering you want, because you were relying on that side-effect rather than explicitly stating the order you wanted.

Maybe you are looking for