Oracle reserved and non-reserved keywords

Hello,
I'm looking for a list of reserved and non-reserved keywords for all Oracle versions starting from 9.
I think Oracle starts at R1, right? So the versions needed would be:
9.1, 9.2
10.1, 10.2 and
11.1
I found lists of keywords querying Oracle view V$RESERVED_WORDS
http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_2048.htm#REFRN30204
here:
http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200/ap_keywd.htm
However, this is only for version 10.2 and it contains only reserved keywords.
I need a list for every maintenance/minor version. This list must contain all keywords in Oracle PL/SQL, not just the reserved ones, but also those which shouldn't be used in certain contexts described by the V$RESERVED_WORDS view (former link) -> probably reserved = 'N'.
Since I don't own a copy of Oracle and definitely not of every minor version, does anyone know where to obtain such lists?
You might want to do me a favor and query that view for me... ;-) (you can send the output to "k w u t z k e AT w e b DOT d e" ... don't forget to mention the version)
From what the view tells me, the SQL statements to query are:
For reserved words:
select keyword from v$reserved_words where reserved='Y' order by keyword;
For all other non-reserved words:
select keyword from v$reserved_words where reserved='N' order by keyword;
Are there any keywords/entities that are neither reserved='Y' nor reserved='N'?
Can anyone help on this issue please?
TIA,
Karsten

Not sure about differences between specific versions but the easy way to get reserved words is in SQL*Plus...
SQL> help reserved words
RESERVED WORDS (PL/SQL)
PL/SQL Reserved Words have special meaning in PL/SQL, and may not be used
for identifier names (unless enclosed in "quotes").
An asterisk (*) indicates words are also SQL Reserved Words.
ALL*            DESC*           JAVA            PACKAGE         SUBTYPE
ALTER*          DISTINCT*       LEVEL*          PARTITION       SUCCESSFUL*
AND*            DO              LIKE*           PCTFREE*        SUM
ANY*            DROP*           LIMITED         PLS_INTEGER     SYNONYM*
ARRAY           ELSE*           LOCK*           POSITIVE        SYSDATE*
AS*             ELSIF           LONG*           POSITIVEN       TABLE*
ASC*            END             LOOP            PRAGMA          THEN*
AT              EXCEPTION       MAX             PRIOR*          TIME
AUTHID          EXCLUSIVE*      MIN             PRIVATE         TIMESTAMP
AVG             EXECUTE         MINUS*          PROCEDURE       TIMEZONE_ABBR
BEGIN           EXISTS*         MINUTE          PUBLIC*         TIMEZONE_HOUR
BETWEEN*        EXIT            MLSLABEL*       RAISE           TIMEZONE_MINUTE
BINARY_INTEGER  EXTENDS         MOD             RANGE           TIMEZONE_REGION
BODY            EXTRACT         MODE*           RAW*            TO*
BOOLEAN         FALSE           MONTH           REAL            TRIGGER*
BULK            FETCH           NATURAL         RECORD          TRUE
BY*             FLOAT*          NATURALN        REF             TYPE
CHAR*           FOR*            NEW             RELEASE         UI
CHAR_BASE       FORALL          NEXTVAL         RETURN          UNION*
CHECK*          FROM*           NOCOPY          REVERSE         UNIQUE*
CLOSE           FUNCTION        NOT*            ROLLBACK        UPDATE*
CLUSTER*        GOTO            NOWAIT*         ROW*            USE
COALESCE        GROUP*          NULL*           ROWID*          USER*
COLLECT         HAVING*         NULLIF          ROWNUM*         VALIDATE*
COMMENT*        HEAP            NUMBER*         ROWTYPE         VALUES*
COMMIT          HOUR            NUMBER_BASE     SAVEPOINT       VARCHAR*
COMPRESS*       IF              OCIROWID        SECOND          VARCHAR2*
CONNECT*        IMMEDIATE*      OF*             SELECT*         VARIANCE
CONSTANT        IN*             ON*             SEPERATE        VIEW*
CREATE*         INDEX*          OPAQUE          SET*            WHEN
CURRENT*        INDICATOR       OPEN            SHARE*          WHENEVER*
CURRVAL         INSERT*         OPERATOR        SMALLINT*       WHERE*
CURSOR          INTEGER*        OPTION*         SPACE           WHILE
DATE*           INTERFACE       OR*             SQL             WITH*
DAY             INTERSECT*      ORDER*          SQLCODE         WORK
DECIMAL*        INTERVAL        ORGANIZATION    SQLERRM         WRITE
DECLARE         INTO*           OTHERS          START*          YEAR
DEFAULT*        IS*             OUT             STDDEV          ZONE
DELETE*         ISOLATION
RESERVED WORDS (SQL)
SQL Reserved Words have special meaning in SQL, and may not be used for
identifier names unless enclosed in "quotes".
An asterisk (*) indicates words are also ANSI Reserved Words.
Oracle prefixes implicitly generated schema object and subobject names
with "SYS_". To avoid name resolution conflict, Oracle discourages you
from prefixing your schema object and subobject names with "SYS_".
ACCESS          DEFAULT*         INTEGER*        ONLINE          START
ADD*            DELETE*          INTERSECT*      OPTION*         SUCCESSFUL
ALL*            DESC*            INTO*           OR*             SYNONYM
ALTER*          DISTINCT*        IS*             ORDER*          SYSDATE
AND*            DROP*            LEVEL*          PCTFREE         TABLE*
ANY*            ELSE*            LIKE*           PRIOR*          THEN*
AS*             EXCLUSIVE        LOCK            PRIVILEGES*     TO*
ASC*            EXISTS           LONG            PUBLIC*         TRIGGER
AUDIT           FILE             MAXEXTENTS      RAW             UID
BETWEEN*        FLOAT*           MINUS           RENAME          UNION*
BY*             FOR*             MLSLABEL        RESOURCE        UNIQUE*
CHAR*           FROM*            MODE            REVOKE*         UPDATE*
CHECK*          GRANT*           MODIFY          ROW             USER*
CLUSTER         GROUP*           NOAUDIT         ROWID           VALIDATE
COLUMN          HAVING*          NOCOMPRESS      ROWNUM          VALUES*
COMMENT         IDENTIFIED       NOT*            ROWS*           VARCHAR*
COMPRESS        IMMEDIATE*       NOWAIT          SELECT*         VARCHAR2
CONNECT*        IN*              NULL*           SESSION*        VIEW*
CREATE*         INCREMENT        NUMBER          SET*            WHENEVER*
CURRENT*        INDEX            OF*             SHARE           WHERE
DATE*           INITIAL          OFFLINE         SIZE*           WITH*
DECIMAL*        INSERT*          ON*             SMALLINT*
SQL>If you haven't got oracle then I'm not sure where you're going to find out all the minor differences I'm afraid.

Similar Messages

  • Oracle 10G R2: Cannot access a table whose name is a reserved keyword

    Hello,
    Oracle 10G R2 database being accessed using Oracle 10G thin driver in Java.
    There is a table named GROUP in the db - GROUP is a reserved keyword of course.
    When I execute the statement (after getting the database metadata object from a java.sql.Connection to the DB):
    oracle.jdbc.OracleDatabaseMetaData.getIndexInfo(null, "MYDB", "GROUP", false, true)
    I get:
    Exception in thread "main" java.sql.SQLException: ORA-00903: invalid table name
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
    at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1606)
    at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1571)
    at oracle.jdbc.OracleDatabaseMetaData.getIndexInfo(OracleDatabaseMetaData.java:3485)
    When I execute the statement:
    oracle.jdbc.OracleDatabaseMetaData.getIndexInfo(null, "MYDB", "\"GROUP\"", false, true)
    the result set is empty
    What is the correct way for me to get the index info from the table named GROUP?
    Thanks,
    Sundeep

    user5486925 wrote:
    oracle.jdbc.OracleDatabaseMetaData.getIndexInfo(null, "MYDB", "\"GROUP\"", false, true)
    the result set is empty
    Which would suggest you are using the correct name as a quoted identifier. Presumably the code you are using works for other tables. But you might try variations in case.
    You can also query the database directly to get the index information rather than using the metadata.
    What is the correct way for me to get the index info from the table named GROUP?The correct way is to not use reserved words.

  • Incomprehensible Oracle Reserved Word Error

    I'm trying to create a Table for a new application and I keep getting this error message:
    1 error has occurred
    The identified column name is an Oracle reserved word. Please choose another name.
    Unfortunately, it doesn't identify a column as containing a reserved word. I tried googling for a list of Oracle Reserved Words, Oracle Keywords, and PL/SQL Reserved Words; but none of them match the column names in my table. My column names are:
    PROJECT NAME (Aliases)     
    (C)USTOMER REQUEST or (IT) REQUEST     
    Priority (1= high)     
    PROJECT STATUS     
    PROJECT MANAGER     
    LAST STATUS     
    Link to Status     
    START DATE     
    ESTIMATED COMPLETION     
    NOTES     
    Report on Time?     
    Business Analyst     
    Technical Lead     
    Business Apps     
    DBA_Name     
    Systems     
    Network     
    NOC     
    CSC     
    Training      
    Communications     
    SME     
    Super User     
    Contracts     
    ERP     
    DBA_Name used to be DBA, which is a keyword, but when I changed it to DBA_Name, i got the same error. Please help.
    Steve in Raleigh NC

    Thanks. I'm using Oracle 11g. I think what you're suggesting would work, if the objective is to create an empty table and then populate it with data.
    However, what I'm trying to do is import a spreadsheet into APEX as a table, after which I shall build an application on that. If I do it your way, I'll have to key all the spreadsheet data in after creation, creating the possibility of keyed errors, which would require proof-reading. I'd prefer not to do that.
    This morning, before returning to this thread, I was able to import the spreadsheet by changing all the column names to the corresponding Excel column heads: A, B, C and so on. When I went to SQL workshop to rename the columns, I found only 10 had been imported. There are 22 columns in the spreadsheet, most of them populated, and we need them all.
    I believe I can still use the table I have created. I can add the extra 12 columns now, one at a time, and populate them by typing, if I must.
    However, if there's some constraint or constant I can alter to import all 22 columns with all the information in one pass, I would appreciate it. There are 53 rows. Keying 12 columns for all 53 would be something of a pain.
    Steve the n00b in Raleigh NC

  • Tag is Oracle reserved word

    My XML document has the tag <DATE>. (an Oracle reserved word)
    My Oracle table has the column DATE. This was creating by enclosing the column name with quotes when creating the table.
    I assumed that a putXML would work since the SQL Reference manual says that Oracle considers DATE and "DATE" to be the same thing.
    However, when I run putXML, I get the error message "missing SELECT keyword encountered during processing ROW element 1".
    Does this XML file need to be preprocessed by XSLT to alter the DATE element, does getXML have a bug, or did I do something wrong?
    Thanks.

    Scott,
    <p>
    Yeah I know it is a bug but what I was not sure of is whether Product Development knew about it or not.
    <p>
    I was just letting Product Development know about it in case they did not already.
    <p>
    <b>Is there, or should there be, another (better) way of reporting bugs with Application Express to product development.</b>
    <p>
    Chris

  • Reserved keyword?

    Hi,
    I am porting a program to use Oracle 10g database. (previously mssql server).
    I noted that some existing sql statements becomes errorneous after porting.
    Examples below.
    select '' as number from log;
    select '' as level from log;
    I get the sql error:
    ORA-00923: FROM keyword not found where expected
    These statements are parsed perfectly in MSSQL server.
    Did i step onto something forbidden in oracle?
    Please advice.

    The column alias specification can't be used tougether with '*' symbol but
    only with particular column:
    SQL> desc t
    Name                                      Null?    Type
    ID                                                 NUMBER
    SQL> select id as nm from t;
    no rows selected
    SQL> select * as nm from t;
    select * as nm from t
    ERROR at line 1:
    ORA-00923: FROM keyword not found where expected As for the rest of Rod's post it is quite correct - number and level
    are reserved keywords and can't be used as column aliases.
    Rgds.

  • Oracle Reserved Words in EJB Implementations

    Hello Everybody!
    Suppose there is a table in Oracle , say Account which has a column, say comment. comment is a reserved word in Oracle. I would like to know how Oracle reserved words are handled in EJB implementation. For example, suppose there is an enterprise application that accesses such a table using CMP beans, how would we specify the <field-map>
    <field-map>
    <cmp-field>comment</cmp-field>
    <dbms-column>COMMENT</dbms-column>
    </field-map>
    This doesnt work because COMMENT is a reserved word in Oracle. In Oracle,
    if we use comment as a column name, it has to be represented in double quotations.
    for example, this select query doesnt work
    select COMMENT from account;
    these select queries works
    select "COMMENT" from account;
    select A."COMMENT" from account A;
    Regarding the current EJB implementations, the question is whether they support Oracle reserved words in their mappings??
    "COMMENT"s welcome
    Thanks!
    Manu Ramakrishnan

    >
    This doesnt work because COMMENT is a reserved word in
    Oracle. In Oracle,
    if we use comment as a column name, it has to be
    represented in double quotations.
    Did you try it?
    Did you try it with double quotes?
    The specs I looked at do not discuss this(jdbc, ejb, j2ee.) The ejb spec reserves as part of EJB QL some standard ANSI SQL reserved words and specifically suggests that other ANSI SQL reserved words should not be used.
    And if I am reading the EJB QL section correctly identifiers (which would be a table, field names) do not allow quoted identifiers. Or at least they specifically do not allow fields with, for example, a space. This sort of name is specifically allowed for in ANSI SQL and has been since the first version of ANSI SQL. They also do not allow for case sensitive names, which again is allowed in ANSI SQL as part of a quoted identifier.
    That suggests to me that you use reserved words that either you going to be using a non-J2EE feature of a container or it simply won't work in the first place.

  • Timestamp keyword or reserved keyword

    This is actualy a definition question...
    consider a table having a timestamp column named timestamp and the v$reserved_words view in oracle 10.
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    CREATE TABLE TF
    (timestamp timestamp);(timestamp is a keyword according to the v$reserved_words_view)
    and a procedure to delete data from it
    BEGIN
    DELETE TF;
    END;
    /produces this output
    delete tf;
    ERROR at line 2:
    ORA-06550: line 2, column 8:
    PL/SQL: ORA-06552: PL/SQL: Compilation unit analysis terminated
    ORA-06553: PLS-320: the declaration of the type of this expression is
    incomplete or malformed
    ORA-06550: line 2, column 1:
    PL/SQL: SQL Statement ignoredThis fails to compile.... I would think timestamp is a reserved keyword instead of a normal keyword.

    Zpuit wrote:
    Lukasz,
    I think it should have replied this:
    SQL> SELECT * FROM v$reserved_words WHERE keyword = 'TIMESTAMP';
    KEYWORD                            LENGTH R R R R D
    TIMESTAMP                               9 Y N N N Nand i already know this falls into a hair-splitting category of things. The reservered words view contains both keywords and reserved keywords. According to the definition (as I interpret it) Reserved keywords cannot be used in table and columnnames. Keywords should not be used as identifiers and
    keywords might be promoted to reserved keywords in a future release (which is the question I am asking but for this release). It only fails in PLSQL, I know it works fine in SQL.Bottom line: never user either reserved words or key words as identifiers. Regardless of how oracle handles it, it just makes for confusion when reading and debugging code. If shops had strong naming standards (an idea that seems to have gone the way of the buggy whip) this would not even be an issue.

  • Can i create any procedure or function inside a oracle reserve package?

    Hi!
    Can i create any procedure or function inside a oracle reserve package. Suppose, I want to create a function called x in the dbms_output package. Can i do that? Or can i extend the features of this package and create/derived a function from it like we extend any class in JAVA. I'm not sure - whether this is at all possible. I'll be waiting for your reply.
    Thanks in advance.
    Satyaki De.

    No, but you can write a wrapper package and use that instead of using the Built-In package directly. So, instead of calling DBMS_OUTPUT, you call your own Package.
    Steven Feuerstein wrote a wrapper for DBMS_OUTPUT, called P:
    Re: DBMS_OUTPUT.PUT_LINE

  • Create App From Spreadsheet: "column name is an Oracle reserved word"

    I'm creating an App from a spreadsheet on apex.oracle.com (3.0.0.00.20 at time of writing) and receiving the error "The identified column name is an Oracle reserved word. Please choose another name."
    I've tried adding an underscore to the end of each column name in order to avoid having to check every column name (yup, lazy) but that didn't remove the error, nor is any column name identified by the interface.
    Thoughts?

    Hi David,
    There was a bug at one time where reserved words were not being checked properly when creating columns. A particular problem related to names beginning with "SYS".
    Try adding the underscore in front of the column name.
    Regards
    Andy

  • CMP table name using reserved keyword

    Hello,
    I am migrating an existing application from JBoss to WebLogic.
    One of the issues that came up is that there are three tables
    named User, Transaction, Identity which in case of SQL Server
    happen to be reserved keywords. In JBoss descriptors we used
    to escape those names with square brackets and it worked fine.
    I can not seem to find a way to make it work in WebLogic. If
    I escape them as mentioned, the appc compilation fails. If I
    don't - the application fails to deploy not being able to find
    those tables.
    There must be a way to specify that the app server should
    escape those table names. Can You help?
    Klaus

    Hello. Thx for response.
    I have tried something like
    exec 'INSERT INTO "tuser"."dam.test.db::tuser.procedures.search_result" SELECT '''||table_name||''' AS TABLE_NAME, '||column_name||' AS ID, SCORE() AS SCORE  FROM '||table_name||' WHERE contains(*, '''||keyword||''', fuzzy(0.5))';
    but here i have "tuser"."dam.test.db::tuser.procedures.search_result" created before the execution. What i really want is to make it as a local variable. Something like:
    DECLARE schema_name NVARCHAR(300) := 'tuser';
    indexed_tables = SELECT DISTINCT "TABLE_NAME" FROM "SYS"."FULLTEXT_INDEXES" WHERE "SCHEMA_NAME" = :schema_name ;
    but i can not transform the top 'exec ...' statement into 'result = SELECT ...' because it always says that it can not pass the scalar value into the 'FROM ...' part.

  • ORACLE SERVER AND UNIX TP MONITOR-2

    제품 : ORACLE SERVER
    작성날짜 : 1995-01-24
    Subject: Oracle Server and UNIX Transaction Processing Monitors-2
    Page(3/4)
    This file contains commonly asked questions about Oracle7 Server and UNIX
    Transaction Processing Monitors (TPMs). The topics covered in this article are
         o Oracle Parallel Server and TP Monitors
         o Oracle and DCE-based TP Monitors
         o Other commonly asked questions
    The questions answered in part 3 provide additional detail to the information
    provided in part 1.
    Oracle Parallel Server and TP Monitors
    ======================================
    How does Oracle Parallel Server (OPS) work with TP Monitors?
    If you are using Oracle-managed transactions, there are no special
    considerations. But if you are using TPM-managed transactions, and
    thus need to use the XA interface, then Oracle requires release 7.1.3
    or later and a special version of the Distributed Lock Manager, called
    the session-based lock manager. This version of the DLM is not yet
    available for all platforms. To understand this restriction, let's take
    a look at one of the technical details of XA.
    The XA specification requires that the Resource Manager be able to
    move a transaction from one process to another, and even to be
    able to commit in a separate process. In Oracle, transactions are
    attached to sessions, so that means that we also have to be able to
    move sessions. Therefore, the session/transaction can't have any state
    which is tied to a particular process. The first generation distributed
    lock managers were all built to use the process id as the lock owner,
    which doesn't work for locks which need to move with the transaction.
    Oracle and DCE-based TP Monitors
    ================================
    How does Oracle interface to the Encina TP monitor? To CICS/6000? I've
    heard that they require OSF DCE facilities in order to run?
    Oracle interfaces to Encina and CICS/6000 just as it does to any other
    TP Monitor. The TP Monitor issues XA commands to control transactions, and
    Oracle executes the commands. Encina and CICS/6000 do use DCE features for
    their own operation. However, this use is transparent to the Oracle Server.
    What DCE facilities can Oracle products take advantage of when working with
    a DCE-based TP Monitor?
    The two most commonly mentioned DCE features which might be useful
    to Oracle users are multi-threading and security. We look at these in
    the subsequent questions in this section.
    Encina documentation suggests that a Resource Manager such as Oracle can
    be either single-threaded or multi-threaded? Which way is Oracle XA
    implemented?
    The Oracle XA implementation is single-threaded, as is any Oracle client.
    Within a single process, at most one thread can access Oracle at a time.
    Does that mean that only a single Encina application can access an instance
    of Oracle transactionally at any given moment?
    No. Oracle XA is only single-threaded within a single application server
    process. Multiple applications can access Oracle simultaneously using XA
    by using different application processes. Encina allows
    (1) serial reuse of a single server by different clients. There are
    two options for this. The server can use long term reservation
    but be defined to be in shared or concurrent access mode, which
    allows the server to be used by another client as soon as an RPC
    completes. Alternatively, the server can use default reservation
    and exclusive mode, which allows the server to be used by another
    client as soon as the current transaction ends.
    (2) concurrent execution by multiple servers, even if they are accessing
    the same Oracle database. These may be executing the same or different
    procedures.
    These two features should let you get as much concurrency as you need.
    Why isn't the Oracle XA library multi-threaded?
    The XA specification specifically states that its use of the phrase
    "thread of control" means a process. If an RM were to multi-thread its
    XA, it would be in violation of the specification. This restriction
    was put place in because at the time the specification was written,
    there were numerous thread packages: if the TM used one, the application
    another, and perhaps the RM yet a third, there's no way it could work.
    As threads standards settle down, the later versions of XA will probably
    relax this restriction.
    Will Oracle change if the XA specification changes?
    Very likely. The exact time frame will of course depend on the priority of
    all work items at that time.
    Does Oracle use DCE security via the TP Monitors?
    The integrity of the connection between a DCE TP Monitor client and DCE
    TP Monitor server is protected by the DCE security functionality.
    Theoretically, the TP Monitor could make the DCE-protected client security
    information available to Oracle. Unfortunately, there's no standard way
    for a TP Monitor to pass security information information to a Resource
    Manager such as Oracle. Oracle is leading an effort to extend the X/Open
    model to allow use of the security information provided by the Monitor.
    In the meantime, the basic DCE security features such as encryption are
    useful within TP Monitors.
    Effective use of DCE security would normally also mean that the security of
    the TP Monitor client be passed through the TP Monitor, through the Oracle
    client (application server), to the Oracle Server, and possibly on
    to other Oracle Servers through database links. The ability to transfer
    security information to other processes, called delegation, is missing
    in DCE version 1.0. DCE version 1.1, expected to emerge in late 1994,
    has some delegation features. Oracle is examining these features to see
    how they might be used.
    Are there any special considerations for CICS/6000?
    There are two:
    (1) It is inefficient to run without XA. CICS/6000 is designed to
    use XA. It uses XA so that the CICS server can log on to Oracle
    when it starts, after which it makes that Oracle connection available
    to any transaction it executes. If you don't use XA, the CICS server
    does not itself log on to Oracle so each transaction has to log on
    and log off - a very expensive mode of operation. Also, it is very
    un-cics-like in that the application does the log{on,off} and also
    commits - in a mainframe CICS database program CICS would implicitly
    do these operations. Oracle does not recommend this mode because of the
    performance penalty.
    (2) CICS servers are generic and dynamically load application modules.
    In order for these modules to access the Oracle connection made by
    CICS, the applications must be built with a shared object version of
    the Oracle libraries. This is an installation option on platforms which
    support CICS/6000 and other products using its architecture such as
    CICS 9000.
    Other commonly asked questions
    ==============================
    What other Resource Managers can be included in an Oracle XA transaction?
    Several other relational database vendors have an XA implementation
    available or in progress. There is an XA C-ISAM product from
    Gresham Telecomputing. There are also Resource Managers contained
    within some of the TP Monitors which can be coordinated in the same
    transaction. For example, CICS/6000 has VSAM files and other data
    stores, Encina has its RQS queuing system, and Tuxedo has its /Q queuing
    system.
    What is Recoverable Queuing Service (RQS) and how does it interoperate with
    Oracle7 and Encina? What about /Q?
    Recoverable Queuing Service is a feature provided by Encina which allows
    transactional, distributed queuing (enqueue/dequeue). Tuxedo has a similar
    product called /Q. Because these products are themselves coordinated by the
    TM component of the TP Monitor, their queue operations are atomically
    coordinated with with operations on XA Resource Managers such as Oracle7
    Server. That is, they can atomically put something on one of their queues
    and commit an Oracle transaction, then at some later time dequeue an
    entry atomically with doing some other Oracle transaction. The queue
    system guarantees that the message will not be lost or transmitted twice.
    Can I mix TP Monitor applications with standard Oracle7 Server applications?
    Yes, you can have existing Oracle applications connected to the database
    with alongside TPM applications against the same database. The TPM does
    not manage the whole database, just those transactions which are started
    by the TPM. The Oracle Server will properly handle concurrency control
    between the transactions managed by itself and those managed by the TPM.
    Is Oracle planning to change its tools to be more suitable for TP Monitors?
    With Oracle Procedure Builder 1.5, to be available with CDE2,
    Oracle will provide a foreign function interface that allows you to
    dynamically set up PL/SQL calls that access C functions. In other
    words, you can access C routines in Windows DLLs from within your
    PL/SQL procedures. This will allow PL/SQL under Windows easy access to
    TP Monitor APIs.
    Does Oracle7 Server itself use XA-compliant TPMs as the interface to
    foreign RMs?
    No, for this purpose Oracle Server uses the SQL*Connect products or the new
    Transparent and Procedural Gateway products.
    Does Oracle7 Server use XA to coordinate Oracle7-only distributed
    transactions?
    No, it uses an internal mechanism.
    Can database links be used with XA?
    If an Oracle7 database is running under XA, it can access other Oracle7
    databases through database links, with some restrictions. First, the
    access to the other database must use SQL*Net V2 and be running MTS.
    Second, it must currently be to another Oracle7 database. Assuming those
    restrictions, the Oracle 7 database can do distributed update to another
    Oracle 7 database by using a database link, whether it is started by an
    Oracle application or a TP Monitor application. The TPM will see Oracle
    as only a single RM, but Oracle7 will propagate all the transaction
    commands to the other database, including the two-phase commit. If
    the transaction is started by a TP Monitor application and is using XA,
    it can also update non-Oracle resources managed by the TPM. If it
    is started from an Oracle application, it can only include resources
    managed by Oracle.
    Here's a sample configuration:
    | TPM | | TPM |
    | client | | client |
    | |
    | |
    | TPM |
    | |
    | |
    | Oracle | Forms, Forms, | Oracle | | non-XA | | XA |
    | client | Plus, Plus, | client | | TPM | | TPM |
    --------- Pro, Pro, --------- | server | | server |
    | Financials, Financials, | |(note 1)| ----------
    | etc. etc. | ---------- |
    | | | |
    | SQL | SQL | SQL | XA
    | commit | commit | commit | commit
    | | | |
    | Oracle | | Oracle | | Oracle | | Oracle |
    | server | | server | | server | | server |
    | | | |
    | | | |
    | | | |
    | Database 1 | | Database 2 |
    | | | |
    | A | A
    | | dblink to database 1 | |
    | ------------------------------------ |
    | |
    dblink to database 2
    Note 1: Oracle will work having both XA and non-XA servers but some TPMs
    may have restrictions on this.
    Are multiple direct connections possible from a Pro* program?
    Using XA, you can not only specify multiple direct connections to Oracle7
    databases, you can also update them both in the SAME transaction. The
    way to do this is to use a precompiler feature called a named database.
    When you use a named database, you qualify the SQL statement with the
    database name. For example, you write EXEC SQL AT dbname UPDATE emp ....
    We have a complementary feature in the xa open string to let the user
    associate the name with a particular RM instance, called the DB clause.
    You will also want to use the SqlNet clause in the open string so you
    can give the two different SIDs. This clause does not require the use of
    the SQL*Net product, it is just a naming convention. For more information,
    see Oracle7 Server for UNIX Administrator's Reference Guide.
    Some TP Monitors may not support having multiple Resource Mangers in the
    same server; check with the TPM vendor.
    Is there any collateral available for XA or TP Monitors?
    Oracle At Work 52684.0692
    Oracle7 Server for UNIX Administrator's #A10324-1
    Reference Guide
    Guide to Oracle's Products and Services #A10560
    Oracle7 Server and CICS/6000               #A14200
    Where can I get more information on the DTP model?
    X/Open's address is
    X/Open company Ltd (Publications)
    P O Box 109
    Penn
    High Wycombe
    Bucks HP10 8NP
    Tel: +44 (0)494 813844
    Fax: +44 (0)494 814989
    Request
    G307 Distributed Transaction Processing: Reference Model Version 2
    X/Open Guide G307 ISBN 1-859120-19-9 28cm.44p.pbk.220g.11/93
    Page(4/4)
    This file contains commonly asked questions about Oracle Server and UNIX
    Transaction Processing Monitors (TPMs). The topics covered in this article are
         o Performance with Oracle Server and TP monitors
         o Performance using Oracle's XA Library
    The questions answered in part 4 provide additional detail to the information
    provided in part 1.
    Performance with Oracle Server and TP Monitors
    ==============================================
    I have heard that Transaction Processing Monitors (TPMs) will increase
    Oracle Server performance. Is this true?
    Several hardware and TPM vendors have made the claim that TPMs
    will increase RDBMS performance. This claim is based on TPC-A
    benchmarks. The key point to understand about TPC-A is that it
    requires, for every transaction-per-second, ten times that many
    users to be connected. For example, to get 600 TPS, you need 6000
    users. The next question will answer in more detail how the the
    three-tier architecture addresses this requirement, but first let's
    look more generally at what TP Monitors can and can't do to improve
    performance.
    TP Monitors can provide better performance:
    (1) When there are more than several hundred users connected.
         This is because of the TP Monitor's role in the three-tier
         architecture, described in the next question. In this
         architecture, terminal handling is offloaded to one or more
         separate machines, freeing up those cycles to do database work.
         Note that this does NOT mean that Oracle itself runs faster,
         just that we've given it more CPU cycles to use.
    (2) When, because of the high potential concurrency of requests,
         significant resource contention exists. Use of a TP Monitor can
         limit the degree of concurrency and thus reduce contention.
    TP Monitors can not provide better performance:
    (1) For existing applications. The applications must be designed
         to fit the TP Monitor architecture.
    (2) For applications which are highly interactive in their use of
         the database. These applications put many messages
         through the transport system, and the TP Monitor is not as
         efficient as SQL*Net for point-to-point communication.
    (3) For CPU intensive single-query decision support. When executing
         a single large command, Oracle query facilities work efficiently,
         especially with the use of Oracle Parallel Query, available in 7.1.
    How does the three-tier solution help TPC-A, or other situations with
    thousands of on-line users?
    The TPC-A test calls for a large number of users to produce a given
    result. In the high-end results we produced in June, 1992, for example,
    6150 terminals were simulated to produce 618 TPC-A transactions.
    Thus, terminal concentration accounts for a large portion of the total
    processing time used.
    First, let's look at how the Multi Threaded Server would work for
    this benchmark. In this case, there are many client processes,
    but only a few server processes, which handle client requests on a
    first-come first serve basis. When they are done with a request,
    they take another client's request.
    ORACLE7 CLIENT/SERVER ARCHITECTURE WITH MULTI THREADED SERVER
    | Client | | Server |
    | __________ |______________|_____ _____________ _____________ |
    | | Client | | SQL*Net | |_|Dispatcher | | | |
    | | Process| | | ____| Process |___| | |
    | |________| | | | __|___________| | | |
    |____________| | | | | | | | |
    | | | | | | Oracle7 | |
    ______________ | | | __|__|____ | Server | |
    | Client | | | | __|_|_____ | | | |
    | __________ | | | | | Shared | |____| | |
    | | Client | | SQL*Net | | | | Server |_|____| | |
    | | Process|_|______________|__| | | Process|_| | | |
    | |________| | | | |________| |___________| |
    |____________| | | |
    | | |
    ______________ | | |
    | Client | | | |
    | __________ | | | |
    | | Client | | SQL*Net | | |
    | | Process|_|______________|____| |
    | |________| | | |
    |____________| | |
    |_______________________________________|
    Client processes = N Dispatcher processes >= 1
    Shared server processes >= 1
    If there are 500 clients in this environment, there will be one or more
    dispatcher processes, dynamically tunable, and one or more shared
    server processes, dynamically tunable, on the server. The reduction
    in the total number of processes handled by the server system
    results in more processing time available for RDBMS activity. Thus
    higher RDBMS transaction throughput can be obtained on the
    server system.
    But the problem for the TPC-A, and for certain large customer
    configurations, is not the only ability of the Oracle Server to
    process transactions, but also the ability of the operating
    system to handle huge numbers of incoming connections.
    There is one incoming connection for each client. Most UNIX
    operating systems have a limit on how many such connections they can
    handle. Even if a particular operating system allows a large number of
    connections, each takes some amount of overhead to manage.
    In order to service all 6150 terminals, we selected a 3-tier hardware
    environment where the middle tier, using a TPM, acted as a terminal
    concentrator. The high-end TPC-A architecture looked like the following.
    The Application Servers, which contain the Pro*C statements used to
    perform the transaction also run on the terminal concentrator machine
    in order to offload as much work from the database serve as possible.
    They send the compiled SQL over SQL*Net to the Oracle7 Server processes.
    ORACLE7 TPS-A CLIENT/SERVER ARCHITECTURE
    | Client | | Terminal | | Server |
    | ________ | | Concentrator | | |
    | | Client | |TPM | | | |
    | | Process|_|_____|__ _____ | | |
    | |________| |Comm | | | | | | |
    |____________| | | | | | | |
    | |__| | | | |
    ____________ | | TPM | | | |
    | Client | | ___| | _______ | | ________ _______ |
    | ________ | | | | |_| |__|_______|__| Oracle | | | |
    | | Client | |TPM | | | | |Appl. | |SQL*Net| | Server |__| | |
    | | Process|_|_____|_| |_____| |Server | | | | Process| | | |
    | |________| |Comm | |_______| | | |________| | | |
    |____________| | | | | | |
    |_______________________| | | | |
    | | | |
    ____________ _______________________ | |Oracle7| |
    | Client | | Terminal | | |Server | |
    | ________ | | Concentrator | | | | |
    | | Client | |TPM | | | | | |
    | | Process|_|_____|__ _____ | | __________ | | |
    | |________| |Comm | | | | _______ |SQL*Net| | Oracle | | | |
    |____________| | | | |_| |__|_______|__| Server |__| | |
    | |__| | |Appl. | | | | Process| | | |
    ____________ | | TPM | |Server | | | |________| |_______| |
    | Client | | ___| | |_______| | | |
    | ________ | | | | | | | |
    | | Client | |TPM | | | | | | |
    | | Process|_|_____|_| |_____| | | |
    | |________| |Comm | | | |
    |____________| | | | |
    |_______________________| |________________________|
    Clients = 6150 Terminal concentrators = 17
    TP Monitor instances = 17
    Application server processes Oracle Server processes
    = 17*8 = 17*8
    The TPM is the software component of the terminal concentrator. In this role
    it offloads terminal handling from the the machine running Oracle Server.
    Since more than one terminal concentrator can be configured, whereas the
    database in this case had to run on a single machine, concentrator machines
    can be added until the performance of the back-end machine was optimized.
    This three-tier solution resulted in the outstanding transaction throughput
    announced with Oracle7 Server. Even with Oracle Parallel Server, it may pay
    to offload the terminal handling so that the cluster can be exclusively used
    for database operations.
    Can you summarize the performance discussion for me?
    Depending on the number of users required, different architectures may be
    used in a client/server environment to maximize performance:
    1) For a small number of users, the traditional Oracle two-task
    architecture can be used. In this case, there is a one-to-one
    correspondence between client processes and server processes. It's
    simple, straightforward, and efficient.
    2) For a large number of users, Multi Threaded Server might be a better
    approach. Although some tuning may be required, Multi Threaded Server
    can handle a relatively large number of users for each machine size
    compared to the traditional Oracle approach. Using this approach,
    customers will be able to handle many hundreds of users on many
    platforms. Furthermore, current Oracle applications can move to this
    environment without change.
    3) For a very large number of users, where transactions are simple and
    terminal input concentration is the overriding performance issue, a
    3-tier architecture incorporating a TPM may be useful. In this case,
    terminal concentration is handled by the TPM in the middle tier. As
         you might expect, it is a more complex environment requiring more
         system management. For existing Oracle customers, significant Oracle
    application modifications will be required.
    Oracle provides all of these choices.
    Performance using Oracle's XA Library
    =====================================
    Are there any performance implications to using the XA library (in other
    words, to using TPM-managed transactions)?
    (1) The XA library imposes some performance penalty. You should use
    TPM-managed transactions only if you actually need them. Even if you
    are getting the one-phase commit optimization, the code path is
    longer because we need to map back and forth between external
    formats and internal ones. Also, prior to 7.1, XA requires you
    to release all cursors at the end of a transaction, which results
    in extra parsing. Even with shared cursors, there is time spent
    looking up the one you need and re-validating it. This has been
    improved for 7.1.
    (2) If you need to use two-phase commit, this will incur additional cost
    since extra I/Os are required. If you do need 2PC, you need to account
    for that when sizing the application.
    (3) Although some TPMs allow parallel execution of services (such as Tuxedo's
    "tpacall"), this will not normally enhance performance unless different
    resource managers are being used. In fact, Oracle Server must serialize
    accesses to the same transaction by the same Oracle instance, and the
    block/resume code will in fact degrade performance in that case compared
    to running the services sequentially.

    hello,
    the role is the same on all plattforms. the reports server takes requests for running reports, spawns an engine that executes the request. in addition to that, the server also provides scheduling services and security features for the reports environment.
    regards,
    the oracle reports team

  • ORA-28500: connection from ORACLE to a non-Oracle system returned this message: ORA-02063: preceding line from OWB_75

    ORA-28500: connection from ORACLE to a non-Oracle system returned this message: ORA-02063: preceding line from OWB_75
    Scenario:
    I am having difficulty getting ODBC connection between Oracle OWB app with an 11gR2 DB (running on a VirtualBox Linux) and SQL Server 2008 running directly on the host. (Windows 8)
    I am trying to take a SQL Server 2008 feed into Oracle Ware house Builder, and think(!) I have read everything and configured it in accordance (but I presume not given 3 days of failed attempts to fix it). I have also read several blogs, hence there might be a few more settings in the configuration files than the formal documentation says, but these have come from blogs that have “Solved” problems for other similar situations.
    The environments:
    HOST:
    Name: RESOLVEIT-PC
    IP: 192.168.1.80
    Windows 8 (64bit) , with system DSN ODBC connection ACME_POS created with 32 bit ODBC set up (This setting still shows up fine in the 64 bit ODBC).
    GUEST VM:
    Name: OraDBSvr.com
    GUES fixed IP Address: 192.1.200
    Oracle VirtualBox (4.2.16)
    Oracle Redhat Linux 6 (x86)
    Oracle 11gR2 Enterprise Edition (11.2.0.1.0)
    ODBC: Freetds driver
    Configuration files:
    initacmepos.ora
    HS_FDS_CONNECT_INFO = 192.168.1.80/SQLEXPRESS/ACME_POS
    HS_FDS_TRACE_LEVEL = 0
    HS_FDS_SUPPORT_STATISTICS=FALSE
    HS_RPC_FETCH_REBLOCKING= OFF
    HS_FDS_FETCH_ROWS = 1
    HS_FDS_SHAREABLE_NAME = /usr/local/lib/libtdsodbc.so
    set ODBCINI=/opt/odbc/odbc.ini
    # set <envvar>=<value>
    odbc.ini
    [ACME_POS]
    Driver     = FreeTDS
    Description = ODBC Connection via FreeTDS
    Trace       = 1
    Servername  = 192.168.1.80
    Database    = dbo
    odbcinst.ini
    [PostgreSQL]
    Description                        = ODBC for PostgreSQL
    Driver                   = /usr/lib/psqlodbc.so
    Setup                    = /usr/lib/libodbcpsqlS.so
    Driver64                              = /usr/lib64/psqlodbc.so
    Setup64                              = /usr/lib64/libodbcpsqlS.so
    FileUsage                           = 1
    [MySQL]
    Description                        = ODBC for MySQL
    Driver                   = /usr/lib/libmyodbc5.so
    Setup                    = /usr/lib/libodbcmyS.so
    Driver64                              = /usr/lib64/libmyodbc5.so
    Setup64                              = /usr/lib64/libodbcmyS.so
    FileUsage                           = 1
    [FreeTDS]
    Discription             = TDS driver (Sybase / MS SQL)
    Driver                           = /usr/local/lib/libtdsodbc.so
    # Setup                         = /usr/local/lib/libtdsS.so
    FileUsage                           = 1
    CPTimeout               =
    CPReuse                 =
    [oracle@oraDBsvr etc]$
    freetds.conf
    #   $Id: freetds.conf,v 1.12 2007-12-25 06:02:36 jklowden Exp $
    # This file is installed by FreeTDS if no file by the same
    # name is found in the installation directory. 
    # For information about the layout of this file and its settings,
    # see the freetds.conf manpage "man freetds.conf". 
    # Global settings are overridden by those in a database
    # server specific section
    [global]
            # TDS protocol version
    ;              tds version = 4.2
                   # Whether to write a TDSDUMP file for diagnostic purposes
                   # (setting this to /tmp is insecure on a multi-user system)
    ;              dump file = /tmp/freetds.log
    ;              debug flags = 0xffff
                   # Command and connection timeouts
    ;              timeout = 10
    ;              connect timeout = 10
                   # If you get out-of-memory errors, it may mean that your client
                   # is trying to allocate a huge buffer for a TEXT field.
                   # Try setting 'text size' to a more reasonable limit
                   text size = 64512
    # A typical Sybase server
    [egServer50]
                   host = symachine.domain.com
                   port = 5000
                   tds version = 5.0
    # A typical Microsoft server
    [ACME_POS]
      host = 192.168.1.80
      port = 60801                                # also tried 1433
      instance = SQLEXPRESS
      tds version = 8.0
      client charset = UTF-8
    tsql -LH 192.168.1.80
         ServerName RESOLVEIT-PC
       InstanceName SQLEXPRESS
        IsClustered No
            Version 10.50.4000.0
                tcp 60801
                 np \\RESOLVEIT-PC\pipe\MSSQL$SQLEXPRESS\sql\query
                via RESOLVEIT-PC,0:1433
    Oracle listener:
    [oracle@oraDBsvr log]$ cat /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = acmepos)
    (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
    (PROGRAM = dg4odbc)
    (HS = OK)
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oraDBsvr)(PORT = 1521))
    ADR_BASE_LISTENER = /u01/app/oracle
    [oracle@oraDBsvr log]$ lsnrctl status
    LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 16-SEP-2013 13:57:41
    Copyright (c) 1991, 2009, Oracle.  All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraDBsvr)(PORT=1521)))
    STATUS of the LISTENER
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    Start Date                16-SEP-2013 13:50:34
    Uptime                    0 days 0 hr. 7 min. 7 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    Listener Log File /u01/app/oracle/diag/tnslsnr/oraDBsvr/listener/alert/log.xml
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraDBsvr)(PORT=1521)))
    Services Summary...
    Service "acmepos" has 1 instance(s).
    Instance "acmepos", status UNKNOWN, has 1 handler(s) for this service...
    Service "dw" has 1 instance(s).
    Instance "dw", status READY, has 1 handler(s) for this service...
    Service "dwXDB" has 1 instance(s).
    Instance "dw", status READY, has 1 handler(s) for this service...
    The command completed successfully
    Oracle tnsnames.ora
    [oracle@oraDBsvr admin]$ cat tnsnames.ora
    # tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    dw =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = dw)
    acmepos  =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
    (CONNECT_DATA=(SID=acmepos)
    (HS=OK)
    Oracle sqlnet.ora
    [oracle@oraDBsvr admin]$ cat sqlnet.ora
    # sqlnet.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora
    # Generated by Oracle configuration tools.
    NAMES.DIRECTORY_PATH= (EZCONNECT, TNSNAMES)
    ADR_BASE = /u01/app/oracle
    I can connect from the linux server to SQL Server, and query the database:
    [oracle@oraDBsvr etc]$ tsql -S acme_pos -U acme_dw_user -P acme1234
    locale is "en_US.utf8"
    locale charset is "UTF-8"
    using default charset "UTF-8"
    1> select last_name from dbo.employees;
    2> go
    last_name
    Davolio
    Fuller
    Leverling
    Peacock
    Buchanan
    Suyama
    King
    Callahan
    Dodsworth
    (9 rows affected)
    1>
    However, I can’t get a response through Oracle OWB , and I get:
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message: ORA-02063: preceding line from OWB_75
    In the hs log file I get:
    [oracle@oraDBsvr log]$ cat acmepos_agt_3821.trc
    Oracle Corporation --- MONDAY    SEP 16 2013 13:51:22.170
    Heterogeneous Agent Release
    11.2.0.1.0
    HS Gateway:  NULL connection context at exit
    [oracle@oraDBsvr log]$
    I am really stuck now and going round in circles and can’t see the wood for trees! Can anyone please help?!!
    Many Thanks.
    Rafe.

    Let us rewrite your ODBC DSN a little bit... Your current odbc.ini looks like:
    [ACME_POS]
    Driver     = FreeTDS
    Description = ODBC Connection via FreeTDS
    Trace       = 1
    Servername  = 192.168.1.80
    Database    = dbo
    Let us change it a little bit so that we only need one config file - no odbcinst.ini nor freetds.conf file anymore:
    [ACME_POS]
    Driver =/usr/local/lib/libtdsodbc.so
    Server = 192.168.1.80
    Database
    = dbo     ####  I have some doubts that you have a SQL Server database called dbo - one database that always exists is master - so as a test use master here or get the real database name of the SQL Server database you want to connect
    Port = 60801 ## make sure it really is the correct port - best would be to check on the SQL server and then try telnet <ip> <port> if you can connect to the SQL server
    TDS_Version = 8.0
    QuotedId=YES
    Especially the last 2 parameters are mandatory. TDS_Version specifies the TDS Version you have to use to connect to the SQL Server and QuotedID is required for DG4ODBC as it surrounds objevt names by double quotes.
    What happens now when you try to connect with for example isql - the ODBC test utility shipped with the ODBC Driver manager?
    In addition, could you please do me another favour and check the word size of DG4ODBC and the ODBC Driver Manager as well as the ODBC Driver - just execute:
    file /u01/app/oracle/product/11.2.0/dbhome_1/bin/dg4odbc
    file /usr/local/lib/libtdsodbc.so
    file < the patch to your libodbc.so library>/libodbc.so
    and post the output.

  • ORA-28500: connection from ORACLE to a non-Oracle system

    Hi, I need to connect to a OWB mysql database, but when making a query in sql plus sends me this error.
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    [Generic Connectivity Using ODBC][H006] The init parameter
    <HS_FDS_CONNECT_INFO> is not set. Please set it in init<orasid>.ora file.
    ORA-02063: preceding 2 lines from MYSQLINK
    listener.ora
    # listener.ora Network Configuration File: C:\oraclebi\db\network\admin\listener.ora
    # Generated by Oracle configuration tools.
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
         (SID_NAME = PLSExtProc)
         (ORACLE_HOME = C:\oraclebi\db)
         (PROGRAM = extproc)
         (SID_DESC =
         (SID_NAME = MYSQL)
         (ORACLE_HOME = C:\oraclebi\db)
         (PROGRAM = hsodbc)
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (ADDRESS = (PROTOCOL = TCP)(HOST = bi.oratechla.com)(PORT = 1521))
    tnsnames.ora
    # tnsnames.ora Network Configuration File: C:\oraclebi\db\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    BISE1DB =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = bi.oratechla.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = bise1db)
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    OTCL_MORDOR =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.31.210)(PORT = 1620))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = TEST)
    MYSQL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = bi.oratechla.com)(PORT = 1521))
    (CONNECT_DATA =
    (SID = MYSQL))
    (HS = OK)
    inithMYSQL.ora
    # This is a sample agent init file that contains the HS parameters that are
    # needed for an ODBC Agent.
    # HS init parameters
    HS_FDS_CONNECT_INFO = MYSQL
    HS_FDS_TRACE_LEVEL = off
    # Environment variables required for the non-Oracle system
    #set <envvar>=<value>
    system dsn --> MYSQL
    databaselink
    CREATE PUBLIC DATABASE LINK mysqlink CONNECT TO "oracle" IDENTIFIED BY "oracle" using 'ejemplo';
    Database link created.
    select * from empleado@mysqlink;
    ERROR at line 1:
    ORA-12154: TNS:could not resolve the connect identifier specified
    or
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    [Generic Connectivity Using ODBC][H006] The init parameter
    <HS_FDS_CONNECT_INFO> is not set. Please set it in init<orasid>.ora file.
    ORA-02063: preceding 2 lines from MYSQLINK
    tnsping
    C:\Documents and Settings\Administrator>tnsping MYSQL
    TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 06-AUG-2
    010 06:31:57
    Copyright (c) 1997, 2005, Oracle. All rights reserved.
    Used parameter files:
    C:\oraclebi\db\network\admin\sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = bi.orate
    chla.com)(PORT = 1521)) (CONNECT_DATA = (SID = MYSQL)) (HS = OK))
    OK (30 msec)

    Use the setup failing with
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    [Generic Connectivity Using ODBC][H006] The init parameter
    <HS_FDS_CONNECT_INFO> is not set. Please set it in init<orasid>.ora file.
    ORA-02063: preceding 2 lines from MYSQLINK
    There is a typo in the name of you gateway init file. You posted the content of inithMYSQL.ora but the naming is init<SID>.ora which is in your case initMYSQL.ora.
    In addition please keep in mind HSODBC has been desupported since 2008 and when starting a new configuration you should use the follow up product dg4odbc (Database Gateway for ODBC) V11.

  • Dblink oracle to postgres with dg4odbc | ORA-28500: connection from ORACLE to a non-Oracle system returned this message: ORA-02063: preceding line

    Hi, i'm trying to create database link from a database Oracle 11g to PostgreSQL with DG4ODBC, and unixODBC
    my configured to /etc/odbc.ini
    [PostgreSQL]
    Description = Test to Postgres
    Driver = psqlodbc
    Trace = Yes
    TraceFile = /tmp/sql.log
    Database = danieldb
    Servername =
    UserName = SA
    Password = password
    Port = 5432
    Protocol = 6.4
    ReadOnly = No
    RowVersioning = No
    ShowSystemTables = No
    ShowOidColumn = No
    FakeOidIndex = No
    my configured to /etc/odbcinst.ini
    [ODBC]
    CommLog=1
    Debug=1
    FileUsage=1
    Pooling=No
    Trace=1
    [psqlodbc]
    Description=PostgreSQL ODBC driver
    Driver=/usr/lib64/psqlodbcw.so
    CommLog=1
    Debug=0
    FileUsage=1
    my configured to /u01/app/oracle/product/11.2.0/xe/hs/admin/initPostgreSQL.ora
    HS_FDS_CONNECT_INFO = PostgreSQL
    HS_FDS_TRACE_LEVEL = 0
    HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbcpsql.so
    set ODBCINI=/etc/odbc.ini
    my configured to /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
    Listener =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracle-poc)(PORT = 1521))
    SID_LIST_LISTENER =
            (SID_LIST =
                    (SID_DESC=
                            (SID_NAME=PostgreSQL)
                            (ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe)
                            (PROGRAM=dg4odbc)
                            (ENVS="LD_LIBRARY_PATH=/usr/lib64:/u01/app/oracle/product/11.2.0/xe/lib")
    my configured to /u01/app/oracle/product/11.2.0/xe/network/admin/tnsname.ora
    PostgreSQL=
            (DESCRIPTION =
                    (ADDRESS = (PROTOCOL = TCP)(HOST = oracle-poc)(PORT = 1521))
                    (CONNECT_DATA =
                            (SID = PostgreSQL)
                    (HS = OK)
    i'm try to created public database link :
    CREATE PUBLIC DATABASE LINK "orapos" CONNECT TO "SA" IDENTIFIED BY "password" USING 'PostgreSQL';
    when i used tnsping
    [root@oracle-poc admin]# tnsping PostgreSQL
    TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 16-MAY-2013 20:34:19
    Copyright (c) 1997, 2011, Oracle.  All rights reserved.
    Used parameter files:
    /u01/app/oracle/product/11.2.0/xe/network/admin/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle-poc)(PORT = 1521)) (CONNECT_DATA = (SID = PostgreSQL)) (HS = OK))
    OK (0 msec)
    and last i try to use the database link :
    SQL> select * from "tabel2"@orapos
      2  ;
    select * from "tabel2"@orapos
    ERROR at line 1:
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    ORA-02063: preceding line from ORAPOS
    Whats wrong with my configuration??
    Thank you and best regards,
    Daniel

    Mike,
    yes i've downloaded the ODBC driver manager..
    for HS_FDS_SHAREABLE_NAME i use /usr/lib/psqlodbc.so
    and i get this error when i call the db link(orpos)
    ERROR at line 1:
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    ORA-02063: preceding line from ORAPOS
    for HS_FDS_SHAREABLE_NAME = /usr/lib64/psqlodbcw.so
    and i get this error when i call the db link(orpos)
    ERROR at line 1:
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    c
    and when i used isql isql to call DNS(PostgreSQL) is success
    whats wrong with my config?
    about PostGres ODBC did you mean postgresql-odbc-08.04.0200-1.el6.x86_64 ??
    Thank you and best regards,
    Daniel

  • OWSM 10.1.3.4 and Non-SOAP XML-based web service

    Hi all,
    According to the OWSM 10.1.3.4 Administrator's Guide, "all Web services registered with an Oracle WSM Gateway are virtualized as both a SOAP and non-SOAP Web service." To access the non-SOAP (XML-only) web service, the documentation states "The non-SOAP virtualized URL can be determined from the virtualized SOAP URL by replacing the services keyword in the URL with the xml keyword."
    For example, if the SOAP virtualized endpoint is:
    http://host:port/gateway/services/SID0003001
    then, the non-SOAP XML service endpoint is:
    http://host:port/gateway/xml/SID0003001
    I have several web services registered with an OWSM gateway, running on SOA Suite 10.1.3.4, and can access those without any problem. However, when I attempt to access the "/gateway/xml" version of these services, I simply get an HTTP 200 response header with a null body.
    Does anyone have any ideas what could be causing this or what the secret is to get the non-SOAP XML service feature of OWSM to work?
    Thanks!
    --Gary                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi all,
    According to the OWSM 10.1.3.4 Administrator's Guide, "all Web services registered with an Oracle WSM Gateway are virtualized as both a SOAP and non-SOAP Web service." To access the non-SOAP (XML-only) web service, the documentation states "The non-SOAP virtualized URL can be determined from the virtualized SOAP URL by replacing the services keyword in the URL with the xml keyword."
    For example, if the SOAP virtualized endpoint is:
    http://host:port/gateway/services/SID0003001
    then, the non-SOAP XML service endpoint is:
    http://host:port/gateway/xml/SID0003001
    I have several web services registered with an OWSM gateway, running on SOA Suite 10.1.3.4, and can access those without any problem. However, when I attempt to access the "/gateway/xml" version of these services, I simply get an HTTP 200 response header with a null body.
    Does anyone have any ideas what could be causing this or what the secret is to get the non-SOAP XML service feature of OWSM to work?
    Thanks!
    --Gary                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Maybe you are looking for

  • Downloads going to The "Temp" Folder

    Hi! I've had this problem for a while now and now i want to fix it. I see other people have this problem too. When i download a file and open it dircetl, its saves in the Temp folder on my C drive(witch is an SSD) I don't want it there and i have not

  • Customer Master / Vendor master Creation

    Hi Folks, I have a requirement that the whenever Customer / vendor is created or changed, then there needs to be a mail sent for the same. We are currently using the user exit : EXIT_SAPMF02D_001  for customer creation and user xit : EXIT_SAPMF02K_00

  • Question: Trouble linking PDF in Muse

    Hi. I purchased a Adobe Creative Cloud subscription for Christmas and have since been learning how to use Muse. Today, I was working on a website for a client that includes a downloadable PDF of the clients brochure. Everything works fine except that

  • Install on intel

    okay, i have the multi-part files. i've read the other suggestions from this forum for concatenating the files into a .iso and burning the cd's (actually taken from a sparc install, but i get the idea). but i cannot boot from my cd. where do i find t

  • Volume settings for my ipod

    How do you adjust the volume for this ipod? I can't seem to adjust it. Please help.