RAC OCCI connectString

Dear all,
Recently i have set up a 2-node RAC environment, and i will put the my application on the local host. The rac database global name: agdb.world, the 2 instances respectively are agdb1 and agdb2. i also use the DBCA to create a service name ag_db.
tnsnames.ora:
ag_db=
(description =
(address=(protocol=tcp)(host=myip1)(port=1521))
(address=(protocol=tcp)(host=myip2)(port=1521))
(load_balance=yes)
(connect_data=
(server = dedicated)
(service_name = agdb.world)
In my occi application, i use the connectString //localhost:1521/ag_db to connect to my RAC database, and i got the following error:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor.
I also use the "tnsping ag_db", it is OK, even use the "sqlplus user/pass@ag_db", it is OK too. But when i input the "sqlplus user/pass@//localhost:1521/ag_db", i got the ORA-12514 too.
Can anyone give me a hint?
thanks

Having looked into this matter myself there is a concern
about fail over with OCI or OCCI. Isn't there suppose to be
something in the tnsnames that specifies TAF failover. In
other words if one node goes down there has to be something
in the tnsnames that tells the OCCI app which node to route
to. I just looked into this and there were some talk about OCCI
& OCI and failover, which I would like some clarification on as
well.

Similar Messages

  • OCCI connectString format

    I am using occi in Visual C++ 6.0/sp6, windows xp pro, oracle 9204. I got a problem when I try to connect to a database. Here is my code:
    env = Environment::createEnvironment (Environment::DEFAULT);
    ConnectionPool *connPool = env->createConnectionPool
    ("poolUser", "poolPassword", "masterdb.world", minConn, maxConn, incrConn);
    I always got an error "ORA-12560: TNS:protocol adapter error" at second statement, in which I used the correct maxConn= 5, minConn= 3, incrConn= 2. My only suspection is the connectstring, where I have tried all of the followoing:
    1. alias of TNS name (which is "masterdb.world" in the example and can be found in my tnsnames.ora; I can connect to the database by using it in sqlplus: sqlplus dbuser/[email protected]); 2. db_user/[email protected]; 3. full string of the tns_name ( (description =(...)).
    None of the above strings worked. Does anybody know what is wrong in my code and what is the right format of the connect string? (the document is not very helpful on this since all of its examples are using the default connect string.)
    Thanks,

    you may using the wrong version of OCCI libraries. Please search this forum for 'vc6' and 'debug'.

  • OCCI ERROR:  (ORA-24392 ) !!

    hello all:
    After my OCCI connection pool runs a moment.
    it Crash:
    Error number: 24392
    ORA-24392: 没有与服务器句柄相关的连接池
    ORA-24392: no connection pool to associate server handle
    follow is my occi connection pool source code.
    help me to find problem. thanks.
    class COcciPool
    public:
         Environment *env;
         ConnectionPool *connPool;
         //Connection *con;
         //Statement *stmt;
    private:
              string poolUserName;
              string poolPassword;
              string connectString;
              string username;
              string password;
              unsigned int maxConn;
              unsigned int minConn;
              unsigned int incrConn;
    public :
         * Constructor for the occipool test case.
         COcciPool ()
              //env = Environment::createEnvironment (Environment::DEFAULT);
              connPool = NULL;
              env = Environment::createEnvironment (Environment::THREADED_MUTEXED);
         }// end of constructor occipool ()
         * Destructor for the occipool test case.
         ~COcciPool ()
              if(connPool) freePool();
              Environment::terminateEnvironment (env);
    public:
         bool InitPool(char dbname,char uid,char *pwd,int min,int max,int incr);
         void freePool();
         Connection *getFreeConn();
         void freeConn(Connection *pcon);
    #include "occipool.h"
    #include "system.h"
    bool COcciPool::InitPool(char dbname,char uid,char *pwd,int min,int max,int incr)
         if( min>max || (min==0 && max==0) )
              printlog("Invalid Pool Parameter");
              return false;
         connPool = env->createConnectionPool(uid, pwd, dbname, min, max, incr);
    try
              if (connPool)
              printlog("SUCCESS - createConnectionPool");
              else
              printlog("FAILURE - createConnectionPool");
              /*con = connPool->createConnection (uid, pwd);
              if (con)
              cout << "SUCCESS - createConnection" << endl;
              else
              cout << "FAILURE - createConnection" << endl;*/
    }catch(SQLException ex)
              printlog("Exception thrown for createConnectionPool");
              printlog("Error number: %d", ex.getErrorCode());;
              printlog("%s",ex.getMessage().c_str());
              connPool = NULL;
              return false;
         connectString = dbname;
         poolUserName=uid;
         poolPassword=pwd;
         username = uid;
         password = pwd;
         maxConn = max;
         minConn = min;
         incrConn = incr;
         return true;
    void COcciPool::freePool()
         env->terminateConnectionPool (connPool);
    Connection *COcciPool::getFreeConn()
         Connection *pcon = NULL;
         if(connPool->getBusyConnections()>=maxConn)
              return NULL;
         try
              pcon = connPool->createConnection (username, password);
              if (!pcon)
              printlog("!!Warning:FAILURE - createConnection");
              /*cout << "SUCCESS - createConnection" << endl;
              else
              cout << "FAILURE - createConnection" << endl;*/
    }catch(SQLException ex)
              printlog("Exception thrown for createConnection");
              printlog("Error number: %d",ex.getErrorCode());
              printlog("%s",ex.getMessage().c_str());
              return NULL;
         return pcon;
    void COcciPool::freeConn(Connection *pcon)
         if(pcon)
              connPool->terminateConnection (pcon);
    Message was edited by:
    user470898

    When exactly do you get this error? Are you by any chance first terminating the connection pool and then trying to use/free a Connection?. Please post your coding showing the connection pool is being accessed.
    Thanks,
    Shankar

  • How does this connectString be written?

    I want to connect Oracle whit occi.
    Because I do not have files that "sqlnet.ora" and "tnsnames.ora", I must write the connectString properly.
    login Service
    User Id: root
    Password : 123456
    login Oracle DB
    User Id : oracle
    Password: 654321
    SID: mydb
    IP and Port
    192.168.0.1:1521
    My first connectString :
    env->createConnection ("oracle", "654321", "root/[email protected]:1521/mydb");
    But,I get the error:
    ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
    the file "listener.log" :
    16-MAY-2008 17:19:19 * (CONNECT_DATA=(SERVICE_NAME=[email protected]) (INSTANCE_NAME=mydb)(SERVER=1521)(CID=(PROGRAM=connectoracle)(HOST=ubuntu)(USER=gxl))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.148)(PORT=46185)) * establish * [email protected] * 12514
    TNS-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor

    Hello,
    I am getting following error -
    terminate called after throwing an instance of 'oracle::occi::SQLException'
    what(): ORA-01017: invalid username/password; logon denied
    Aborted
    This is code -
    #include<occi.h>
    using namespace oracle::occi;
    int main()
    Environment* env = Environment::createEnvironment();
    Connection* conn = env->createConnection("oracle", "oracle","orcl");
    env->terminateConnection(conn);
    Environment::terminateEnvironment(env);
    I have sqlnet.ora and tnsnames.ora in $ORACLE_HOME/network/admin
    Also; I am able to connect to "orcl" as
    sqlplus oracle as sysdba
    Can someone help how to connect to database from OCCI application? What are prerequisite configurations (I read documentation but could not find any help from it :-( )

  • Oracle RAC and FAN

    Hi,
    I use OCCI to connect RAC DB, I implemented TAF in our application, do I need to implement FAN in my applicaiton? it seems that I will write much code in OCCI.
    And who can interpret the diffirence of FAN and TAF, in othe words, when do I need to use FAN, TAF or both of all.
    Thanks in advance.

    TAF says what to do when there is a failure. FAN is a way to find out quickly that there was a failure.
    With TAF you are expressing your wishes for how the client will respond to the loss of a connection. Do you want the client to retry? Wait for some period of time before doing so? Should it use basic method, etc?
    FAN on the other hand means that the client is going to be notified of the failure by one of the other nodes. This is presumeably faster than waiting for the network connection to time out for instance.
    With FAN, your client can more quickly take the course of action prescribed in the TAF configuration, but you do not need FAN in order to implement TAF.
    Chris

  • OCCI ResultSet problems

    Hi!
    My problem is the same as this thread.
    OCCI programming
    I call the method getColumnListMetaData and the method returns a STL vector with
    Metadata objects and it works fine. My problem is when the vector should be deallocated.
    When I run the testprogram a get this error message:
    *** glibc detected *** double free or corruption (!prev): 0x08121568 ***
    The sample code....
    vector<MetaData> md = rs->getColumnListMetaData();
    //column names to number mapping
    map<string, int> columns;
    for (int i = 0; i < md.size(); i++)
         columns[md[ i ].getString(MetaData::ATTR_NAME)] = i;
    My versions:
    CentOS release 4.2 (Final)
    Kernel 2.6.9-34.EL
    gcc version 3.4.4
    OCCI 10g Release 2 (10.2)

    Code:
    int test(int argc, char **argv)
         const string userName = ".........";
         const string password = "....";
         const string connectString = "..";
         Environment *env = Environment::createEnvironment();
              Connection *conn = env->createConnection(
                   userName, password, connectString);
              Statement *stmt = conn->createStatement(
                   "SELECT * FROM TEST_TABLE");
              ResultSet *rs = stmt->executeQuery();
              vector<MetaData> md = rs->getColumnListMetaData();
              //column names to number mapping
              map<string, int> columns;
              for (int i = 0; i < md.size(); i++)
                   columns[md[ i ].getString(MetaData::ATTR_NAME)] = i;
    cout << "Column name: " << md[0].getString(MetaData::ATTR_NAME) << endl;
              stmt->closeResultSet(rs);
              conn->terminateStatement(stmt);
              env->terminateConnection(conn);
    Environment::terminateEnvironment(env);
    return 0;
    Output:
    Column name: ID
    *** glibc detected *** double free or corruption (!prev): 0x08c52568 ***
    Aborted

  • Correct OCCI connection String

    Hi,
    I trying to write some small application on a 32bit Centos machine, with g++ and OCCI, I have correctly setup the library linking and have some sample code running alright, however I don't seem to be able to get a correct connection string to connect to a remote 11g database (11.0.2.3).
    below are codes that I have tried.
    [code]
    #include <occi.h>
    #include <iostream>
    using namespace std;
    using namespace oracle::occi;
    int main(){
            string userName = "user";
            string password = "STRONGPW";
            string connectString = "";
            try{
                    Environment *env = Environment::createEnvironment();
                            cout << "before create connection\n";
                            Connection *conn = env->createConnection(userName, password, connectString);
                    Environment::terminateEnvironment(env);
            }catch(exception& e){
                    cout << e.what();
    [/code]
    I have double confirmed the username and password, and whenever it goes the createConnection method, it will throw exception error,
    I am compiling and running as root, I have tried all sort of connection strings
    connectionString = "";
    ORA-12546: TNS:permission denied
    connectString = "TCP://192.168.1.2:1522";  // I did also try "tcp://192.168.1.2:1522"
    ORA-12154: TNS:could not resolve the connect identifier specified     (192.168.1.2 being host machine, 1522 being listening port)
    connectString = "User Id=user;Password=STRONGPW;Data Source=ORCL222";
    ORA-12154: TNS:could not resolve the connect identifier specified    (ORCL222 being name specified in  $ORACLE_HOME/network/admin/tnsnames.ora)
    connectString = "DataSource="  // I did try "ORCL222="
    "  (DESCRIPTION ="
    "       (ADDRESS=(PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1522))"
    "    (CONNECT_DATA="
    "      (SERVICE_NAME = ORCL2)"
    "      (SERVER = DEDICATED)"
    ORA-12154: TNS:could not resolve the connect identifier specified    (ORCL2 being ORACLE service name)
    did I miss anything? or is there any spacing in the connection string that I might have did wrongly?

    Hi Darryl,
    Thanks for trying to answer, I found the answer in
    Oracle® C++ Call Interface Programmer's Guide 10g Release 1 (10.1)
    the correct connection string seems to be
    192.168.1.2:1522/ORCL2 for my case

  • Db 11.2 and OCCI

    hi
    http://www.oracle.com/technology/tech/oci/occi/occidownloads.html
    is my db contain OCCI ?
    db version
    SQL*Plus: Release 11.2.0.1.0 Production on Thu Feb 4 20:04:26 2010linux version
    [oracle@rac-1 ~]$ uname -a
    Linux rac-1.sayantan-chakraborty.de 2.6.18-164.el5 #1 SMP Thu Sep 3 04:15:13 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
    [oracle@rac-1 ~]$ what to do to run a OCCI code.i do not have any sound knowledge over it.if you can guide it could be helpful to start....
    do any OCCI driver to fetch data from db with gcc?
    occblob.cpp currently giving 117 no(s) of error.
    my gcc version
    [oracle@rac-1 ~]$ rpm -qa | grep gcc
    compat-libgcc-296-2.96-138
    gcc44-gfortran-4.4.0-6.el5
    compat-gcc-34-3.4.6-4
    gcc-gfortran-4.1.2-46.el5
    libgcc-4.1.2-46.el5
    compat-gcc-34-g77-3.4.6-4
    gcc-4.1.2-46.el5
    gcc-gnat-4.1.2-46.el5
    gcc-java-4.1.2-46.el5
    libgcc-4.1.2-46.el5
    gcc44-c++-4.4.0-6.el5
    compat-gcc-34-c++-3.4.6-4
    gcc44-4.4.0-6.el5
    gcc-objc-4.1.2-46.el5
    gcc-c++-4.1.2-46.el5
    [oracle@rac-1 ~]$ regards

    Kun Niu wrote:
    How did you install Oracle? Did you installed the server version? You should download and install a upgraded version of occi library before using it on your system.
    http://www.oracle.com/technology/tech/oci/occi/occidownloads.html
    And the library can be used on your system. Yours is rh as5, right?i do not agree.As he is using linux,OEL 5.4.probably the OCCI is already installed.

  • Occi createEnvironment  resulting in a Segmentation Fault

    The following code will compile in my environment but when it is executed it returns a segmentation fault. Using gdb I've been able to identify that it is createEnvironment. Can someone point me in the right direction?
    The demo application attempts to call a stored procedure that for demonstration purposes place three string fields into a dummy table.
    Code follows:
    #include <iostream>
    #include "occi.h"
    using oracle::occi::Connection;
    using oracle::occi::Environment;
    using oracle::occi::Statement;
    using namespace std;
    int main(){
    std::string userName;
    std::string password;
    std::string connectString;
    userName="devuser";
    password ="devuser";
    connectString="";
    Environment *env;
    Connection *conn;
    Statement *stmt;
    env=Environment::createEnvironment (Environment::OBJECT);
    conn=env->createConnection (userName,password,connectString);
    stmt->setSQL("BEGIN devuser.test:1, :2, :3);END:");
    stmt->setString(1,"1");
    stmt->setString(2,"This is a Test");
    stmt->setString(3,"Only a Test");
    stmt->executeUpdate();
    stmt->executeQuery();
    std::cout<<"Message Sent";
    conn->terminateStatement(stmt);
    env->terminateConnection(conn);
    Environment::terminateEnvironment(env);
    return 0;
    Compilation commsn:
    gcc -I /mnt/Phase_7/oracleclient/10g/product/10.2.0/rdbms/public -ggdb testapp.C -o testapp -L/mnt/Phase_7/oracleclient/10g/product/10.2.0/lib -locci -lclntsh
    Development Environment:
    g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-47)

    Here is the stack trace as you suggested I post.
    (gdb) run
    Starting program: /home/pflore/WorkBench/src/OCCI/src/testapp
    [Thread debugging using libthread_db enabled]
    [New Thread -1342263168 (LWP 17180)]
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread -1342263168 (LWP 17180)]
    0x00e1ae4c in OCIPClearMxCtr () from /mnt/Phase_7/oracleclient/10g/product/10.2.0/lib/libclntsh.so.10.1
    (gdb) where
    #0 0x00e1ae4c in OCIPClearMxCtr () from /mnt/Phase_7/oracleclient/10g/product/10.2.0/lib/libclntsh.so.10.1
    #1 0x0016de00 in oracle::occi::OCCIErrorGet ()
    from /mnt/Phase_7/oracleclient/10g/product/10.2.0/lib/libocci.so.10.1
    #2 0x001636e6 in ZN6oracle4occi16SQLExceptionImplC9EPvS2i ()
    from /mnt/Phase_7/oracleclient/10g/product/10.2.0/lib/libocci.so.10.1
    #3 0x00164448 in oracle::occi::SQLExceptionImpl::SQLExceptionImpl ()
    from /mnt/Phase_7/oracleclient/10g/product/10.2.0/lib/libocci.so.10.1
    #4 0x00165a84 in oracle::occi::SQLExceptionCreate ()
    from /mnt/Phase_7/oracleclient/10g/product/10.2.0/lib/libocci.so.10.1
    #5 0x00165e85 in destr_detour0 () from /mnt/Phase_7/oracleclient/10g/product/10.2.0/lib/libocci.so.10.1
    #6 0x08049268 in main () at testapp.C:24
    (gdb) frame 6
    #6 0x08049268 in main () at testapp.C:24
    24 env=Environment::createEnvironment(Environment::OBJECT);
    (gdb)

  • How to set connectString?

    Please help me!
    I have been doing som tests to connect to database in OCCI Environment,but failed.
    Test 1:
    I connect to database use connectString with "MYORA", but show folllwing wrong message:
    ---------Wrong Message-----------
    the connectString is:
    MYORA
    the error is:12705
    the error is:ORA-12705: invalid or unknown NLS parameter value specified
    ---------Wrong Message-----------
    Test 2:
    Then I use Following string, The errors still occur:
    ---------Wrong Message-----------
    the connectString is:
    (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.
    181.21.1)(PORT = 1521)) ) (CONNECT_DATA = (SID = yxora) (SERVER
    = DEDICATED) ) )
    the error is:12705
    the error is:ORA-12705: invalid or unknown NLS parameter value specified
    ---------Wrong Message-----------
    Test 3:
    I modify the connectString is:
    //10.181.21.1:1521/YXORA
    Then connect, but the error is still!
    ---------Wrong Message-----------
    the connectString is:
    //10.181.21.1:1521/yxora
    the error is:6401
    the error is:ORA-06401: NETCMN: invalid driver designator
    ---------Wrong Message-----------
    Test 4:
    I connect to database useing MYORA in sqlplus, It is successfull!
    How to set connectString in OCCI Environment?
    Note:
    *1.The "MYORA" is seted in file "tnsnames.ora" is:
    MYORA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.181.21.1)(PORT = 1521))
    (CONNECT_DATA =
    (SID = yxora)
    (SERVER = DEDICATED)
    *2.I work under Winxp+vc6

    1. My test code:
    #include "stdafx.h"
    #include <occi.h>
    #include <iostream.h>
    using namespace oracle::occi;
    using namespace std;
    const string userName = "test";
    const string ppassword= "oratest";
    //const string connectString="//10.181.21.53:1521/TESTORA";
    const string connectString="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.181.21.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=YXORA)))";
    int main(int argc, char* argv[])
         printf("\n1.Create Environment!\n");
         Environment *env = Environment::createEnvironment();
              try{
                   printf("\n2.Create Connection!\n");
                   cout<<"the connectString is:\n"<<connectString.c_str()<<endl;
                   Connection *conn = env->createConnection(userName,ppassword,connectString);
                   printf("\n3.Create Statement!\n");
                   Statement *stmt = conn->createStatement("Select ZHH,HM from ydd where zhh<10");
                   printf("\n4.Run SQL!\n");
                   ResultSet *rs=stmt->executeQuery();
                   printf("\n5.SQL Return result!\n");
                   while(rs->next()){
                        printf("ZHH=%d,\tHM=%s",rs->getInt(1),rs->getString(2));
                   stmt->closeResultSet(rs);
                   conn->terminateStatement(stmt);
                   env->terminateConnection(conn);
              }catch(SQLException ex){
                   string s = ex.getMessage();
                   cout<<"the error is:" << ex.getErrorCode()<<endl;
                   cout<<"the error is:" << s.c_str()<<endl;
         Environment::terminateEnvironment(env);
         return 0;
    the output is:
    1.Create Environment!
    2.Create Connection!
    the connectString is:
    (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.181.21.1)(PORT=1521))(CONNECT_DATA=
    (SERVICE_NAME=YXORA)))
    the error is:12705
    the error is:ORA-12705: invalid or unknown NLS parameter value specified
    Press any key to continue
    2. I test under Server9i/Client9i ,
    3. How to set Environment?
    4. I think this error is caused by Character set. My server's Character set is ZHS16GBK. I how to identified Charcter set in my OCCI program?

  • RAC-aware applications

    Hello All,
    I am asked to define RAC aware applications or filter out the applications from the applications currently supported by Oracle databases, which are "RAC-aware". My understanding is, at the database-tier, for example we could say the OEM console or the RMAN are implicitly "RAC-aware" if installed and configured using ASM 11g and Clusterware 11g.
    Is there any criteria to determine any particular application (in the application landscape which will be migrated onto new RAC platform) is "RAC-aware" or not?
    Could you please give me pointers/leads how to identify within domain applications (apps) which are RAC-aware and which are not.
    Many Thanks & Regards,
    Abhijit

    Thanks for the reply. Will Enterprise level legacy applications for a retail/healthcare business be single-threaded apps? or do they rely absolutely sequential process ? these used to happen in very old legacy mainframe based apps/having sequential reads etc?).. isnt it?
    Ability to re-apply the write operations after connection is restored which happens after a failed connection should be in any application as a default - isnt it? I was looking around if there is any such explicit command/other means which when issued from the Application after connecting to the OracleSID or ConnectString that says or returns something like this message to the application: "The connection is to a RAC database and this application is RAC-aware" (for RAC-aware apps) and not for RAC-aware apps.
    need more detailed inputs and examples please. Thanks a lot in advance..
    Abhijit

  • Oracle 12c occi netbeans

    I'm using netbeans 8.0 on Windows 7 x64 and trying to connect to oracle 12.1 using occi. I've downloaded 12.1.0.2.0 Oracle Instant Client for Windows x64 Basic+SDK. Installed it just unzipping to D:\instantclient_12_1. And then added this path into Windows Path variable. Netbeans is using mingw64 compiler In project properties in Make>compiler C++ category for include catalog(-I) D:/instantclient_12_1/sdk/include In linker addiational libraries(-L) catalog is D:/instantclient_12_1
    #include <iostream>
    #include <occi.h>
    using namespace std;
    using namespace oracle::occi;
    int main(int argc, char** argv) {
       Environment *env = Environment::createEnvironment();
       Environment::terminateEnvironment(env);
       return 0;
    But during making project I get:
    g++   -o dist/Debug/MinGW_64-Windows/cppapplication_1 build/Debug/MinGW_64-Windows/main.o
    build/Debug/MinGW_64-Windows/main.o: In function `main':
    C:\NetBeansProjects\CppApplication_1/main.cpp:17: undefined reference to `oracle::occi::Environment::createEnvironment(oracle::occi::Environment::Mode, void*, void* (*)(void*, unsigned long long), void* (*)(void*, void*, unsigned long long), void (*)(void*, void*))'
    C:\NetBeansProjects\CppApplication_1/main.cpp:18: undefined reference to `oracle::occi::Environment::terminateEnvironment(oracle::occi::Environment*)'
    collect2.exe: error: ld returned 1 exit status
    make.exe[2]: *** [dist/Debug/MinGW_64-Windows/cppapplication_1.exe] Error 1
    make.exe[2]: Leaving directory `/c/NetBeansProjects/CppApplication_1'
    make.exe[1]: *** [.build-conf] Error 2
    make.exe[1]: Leaving directory `/c/NetBeansProjects/CppApplication_1'
    make.exe": *** [.build-impl] Error 2
    I tried to add libraries "oraociei12.dll", "oraocci12d.dll"(in Debug mode), "oraocci12.dll", "orannzsbb12.dll", "oci.dll" with -l option but without changes. What's wrong?

    Oracle 12c (12.1.0.2) GI installed successfully on node1, node2 and node3.  But the ASM did not configure in the right order - means:
    node1 has +ASM1 with  MGMTDB
    node2 has +ASM3
    node3 has +ASM2 with MGMTDB
    1. Is this a normal behaviour?  How can I change the ASM configuration - means move +ASM to node 3
    It doesnt matter. Those numbers are just numbers. I currently have a two node RAC cluster where the nodes are named node3 and node4 but the instances are named instance1 and instance2.
    If you do want to fix it, then you'd have to use the "srvctl remove instance" command to remove the instance from the node. Then use "srvctl add instance" to add it to the "correct" node.
    Cheers,
    Brian

  • Swingbench on RAC

    Guys
    I am trying to configure swingbench (ver 2.2) on 2 node RAC cluster. I am not able to make clusteroverview run. This is what I am doing..
    1. start coordinator "./coordinator -g" -- Stars fine
    2. Start swingbench "./swingbench"
    3. ./clusteroverview
    At step 3, I get error that "There is no client attached to coordinator"
    4. ./coordinator -status
    Coordinator is running and has 0 clients attached
    Now the question was, How do I attach client to coordinator? Then in one option of swingbench command, I used following
    ./swingbench -co "//192.168.0.71/CoordinatorServer"
    This does attach client to coordinator, but it my options to run load on swingbech screen is grayed out. I can't hit play button.
    Any help/suggestion of this issue?
    Thanks in advance
    PG

    Okay....
    Apologies for the confusion... I thought I'd described this is in the 2.2 clusteroverview documentation
    http://www.dominicgiles.com/swingbench/clusteroverview21f.pdf but looking at it is a little out of date
    your nearly there...
    the process is
    1/ start the coordinator (say on node1)
    2/ start the load generators specifying node 1 as the coordinator i.e.
    ./minibench -co //node1/CoordinatorServer -cs rac1 &
    ./minibench -co //node2/CoordinatorServer -cs rac2 &
    This will start the load generators but will hand over control to the coordinator
    3/ edit the clusteroverview.xml file to reflect your environment.
    i.e
    <?xml version='1.0'?>
    <!-- This file describes the configuration of clusteroverview -->
    <ClusterOverviewConfiguration>
    <!-- DisplayedCharts lists the charts that are to shown at the startup of clusteroverview. It's child "Chart"
    can have the following values : ControlPanel, TPM, UserConnections, Scalability, Overview
    -->
    <DisplayedCharts RefreshRate="3000" MaxPoints="1024">
    <Chart>ControlPanel</Chart>
    <Chart>TPM</Chart>
    <Chart>UserConnections</Chart>
    <Chart>Overview</Chart>
    </DisplayedCharts>
    <!-- CoordinatorInformation specifies the swingbench coordinator that clusteroverview attaches to.
    It currently has a single child called "Server" with a value of the form //<hostname>/CoordinatorServer.
    It must be running before you start clusteroverview.
    -->
    <Coordinator>
    <Location>//node1/CoordinatorServer</Location>
    </Coordinator>
    <!-- The following is a list of databases to be monitored by cluseroverview. It must contain/should at least one "MonitoredDatabase"
    The MonitoredDatabase specifes the way to connect to a database and should contain a valid user
    name/password combination for a user with privileges to access V$tables. The DriverType can have values of
    "thin" or "oci" based on your preference. The connectstring can be of the form <host>:<port>:<SID> for "thin"
    connections or a service or tnsnames entry for "oci" connections. A MonitoredDatabase can have an attribute
    of MonitoredUsers which contains a list of monitored users (seperated by commas) for that database i.e "CC,SOE,SCOTT".
    Only users specified in this list will be monitored. If no list is specified all users are monitored.
    NOTE : Presently if you wish to measure the scalability of a cluster the DisplayName attribute must match one or more
    load generators connectstrings. i.e if you have a load generator(s) with a connecstring of //node1:1521/soeservice the
    the DisplayName must be //node1:1521/soeservice.
    -->
    <MonitoredDatabaseList>
    <MonitoredDatabase DisplayName="rac1" Username="system" Password="manager" DriverType="thin" ConnectString="node2:1521:RAC1" MonitoredUsers="CC,SOE"/>
         <MonitoredDatabase DisplayName="rac2" Username="system" Password="manager" DriverType="thin" ConnectString="node3:1521:RAC2" MonitoredUsers="CC,SOE"/>
    </MonitoredDatabaseList>
    </ClusterOverviewConfiguration>
    when clusteroverview starts you should be able to start the load generators from clusteroverview.... not from the loadgenerators themselves....
    Does this help?
    Dom

  • MULTIPLE USERS 10G RAC ORACLE_HOME INSTALL WITH ASM/CRS

    Hi,
    We need to install multiple 10g RAC databases on a two node Sun servers. Below is our configuration:
    1) Sun Solaris (ver 10) with Sun Cluster 3.2
    2) One ASM/CRS install (by 1 OS account)
    3) Four ORACLE_HOME 10g database install (by 4 different OS user accounts)
    We would like to use one ASM instance for all four databases with appropriate privileges.
    OS User:           OS Group
    ========      =========
    oraasm           dbaasm - (ASM and CRS install owner)
    ora1           dbaora1 - first db owner
    ora2           dbaora2 - second db owner
    ora3           dbaora3 - third db owner
    ora4           dbaora4 - fourth db owner
    I understand that certain privileges need to be shared between ASM/CRS and DB owners. Please let me know the steps to be followed to complete this install.
    Thanks in advance.

    Hi
    Please read that: Documentation http://download.oracle.com/docs/html/B10766_08/intro.htm
    - You can install and operate multiple Oracle homes and different versions of Oracle cluster database software on the same computer as described in the following points:
    -You can install multiple Oracle Database 10g RAC homes on the same node. The multiple homes feature enables you to install one or more releases on the same machine in multiple Oracle home directories. However, each node can have only one CRS home.
    -In addition, you cannot install Oracle Database 10g RAC into an existing single-instance Oracle home. If you have an Oracle home for Oracle Database 10g, then use a different Oracle home, and one that is available across the entire cluster for your new installation. Similarly, if you have an Oracle home for an earlier Oracle cluster database software release, then you must also use a different home for the new installation.
    If the OUI detects an earlier version of a database, then the OUI asks you about your upgrade preferences. You have the option to upgrade one of the previous-version databases with DBUA or to create a new database using DBCA. The information collected during this dialog is passed to DBUA or DBCA after the software is installed.
    - You can use the OUI to complete some of the de-install and re-install steps for Oracle Database 10g Real Application Clusters if needed.
    Note:
    Do not move Oracle binaries from one Oracle home to another because this causes dynamic link failures.
    . If you are using ASM with Oracle database instances from multiple database homes on the same node, then Oracle recommends that you run the ASM instance from an Oracle home that is distinct from the database homes. In addition, the ASM home should be installed on every cluster node. This prevents the accidental removal of ASM instances that are in use by databases from other homes during the de-installation of a database's Oracle home.

  • Error while running runcluvfy.sh(11g RAC on CentOS 5(RHEL 5))

    Oracle Version: 11G
    Operating System: Centos 5 (RHEL 5) : Linux centos51-rac-1 2.6.18-128.1.6.el5 #1 SMP Wed Apr 1 09:19:18 EDT 2009 i686 i686 i386 GNU/Linux
    Question (including full error messages and setup scripts where applicable):
    I am attempting to install oracle 11g in a RAC configuration with Centos 5 (redhat 5) as the operating system. I get the following error
    ERROR : Cannot Identify the operating system. Ensure that the correct software is being executed for this operating system
    Verification cannot complete
    I get this error message when I run runcluvfy.sh, to verify the my configuration is clusterable. I don't know why.
    I edited the /etc/redhat-release and entered echo "Red Hat Enterprise Linux AS release 4 (Nahant Update 7)" to attempt to fool the installer into thinking its red hat 4.
    But still shows the same message.
    Anyone knows how to fix this ?
    Please help me.

    http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_20.shtml
    runcluvfy.sh will not work on centos because the cluster verification utility checks the operating system version using the redhat-release packag and centos do this with his packages, so you must install and use redhat-release package
    Get rpm-build to be able to build rpm’s:
    [root@centos5 ~]# yum install rpm-build
    Get source rpm of redhat-release
    [root@centos5 ~]# wget ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/redhat-release-5Server-5.1.0.2.src.rpm
    Build package:
    [root@centos5 ~]# rpmbuild –rebuild redhat-release-5Server-5.1.0.2.src.rpm
    Install newly generated rpm:
    [root@centos5 ~]# rpm -Uvh –force /usr/src/redhat/RPMS/i386/redhat-release-5Server-5.1.0.2.i386.rpm

Maybe you are looking for