This discussion is archived
3 Replies Latest reply: Jan 8, 2013 11:21 AM by 774285 RSS

TNS-12533: TNS:illegal ADDRESS parameters

774285 Newbie
Currently Being Moderated
I'm trying to get my application to connect to the database at work and need some help with my tnsnames definition. I have one tns entry that can successfully connect to our two node RAC, and I have one tns entry that can successfully connect to either or our two standalone databases. The standalone databases are backup databases to use should the RAC fail to connect for any reason. But I want a single tns entry that will try to connect to both RAC nodes before giving up and then trying the stand alone, and I get TNS-12533 error.

If it matters, I'm connecting to a 10.2.0.4 Enterprise edition database on Windows 2003 server R2 32-bit.

Here are the two entries that work...

TNSCLUSTER =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = on)
(FAILOVER = on)
(ADDRESS = (PROTOCOL = TCP)(HOST = DBRAC1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = DBRAC2-vip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MYDB)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 2)
(DELAY = 1)
)
)
)

TNSSTANDALONE =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = on)
(FAILOVER = on)
(ADDRESS = (PROTOCOL = TCP)(HOST = DB3)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = DB4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = MYDB)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 2)
(DELAY = 1)
)
)
)

Since the SERVER parameters are different (SHARED vs DEDICATED), I tried combining into tns entry with DESCRIPTION_LIST but it isn't working...

TNSALL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = on)
(FAILOVER = on)
(ADDRESS = (PROTOCOL = TCP)(HOST = DBRAC1-vip(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = DBRAC2-vip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MYDB)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 2)
(DELAY = 1)
)
)
)
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = on)
(FAILOVER = on)
(ADDRESS = (PROTOCOL = TCP)(HOST = DB3)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = DB4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = MYDB)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 2)
(DELAY = 1)
)
)
)
)
  • 1. Re: TNS-12533: TNS:illegal ADDRESS parameters
    sb92075 Guru
    Currently Being Moderated
    wannabe21 wrote:

    Since the SERVER parameters are different (SHARED vs DEDICATED), I tried combining into tns entry with DESCRIPTION_LIST but it isn't working...

    TNSALL =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (LOAD_BALANCE = on)
    (FAILOVER = on)
    (ADDRESS = (PROTOCOL = TCP)(HOST = DBRAC1-vip(PORT = 1521))
    line above appears to be missing closing parenthesis after "DBRAC1-vip"; like below
    (ADDRESS = (PROTOCOL = TCP)(HOST = DBRAC1-vip)(PORT = 1521))
  • 2. Re: TNS-12533: TNS:illegal ADDRESS parameters
    GReboute Newbie
    Currently Being Moderated
    Hi,
    As Oracle documentation points for multiple descriptions :
    net_service_name=
    (DESCRIPTION_LIST=
    (DESCRIPTION=
    (ADDRESS=(protocol_address_information))
    (ADDRESS=(protocol_address_information))
    (ADDRESS=(protocol_address_information))
    (CONNECT_DATA=
    (SERVICE_NAME=service_name)))
    (DESCRIPTION=
    (ADDRESS=(protocol_address_information))
    (ADDRESS=(protocol_address_information))
    (ADDRESS=(protocol_address_information))
    (CONNECT_DATA=
    (SERVICE_NAME=service_name))))
  • 3. Re: TNS-12533: TNS:illegal ADDRESS parameters
    774285 Newbie
    Currently Being Moderated
    Nailed it. You know what? That was actually my first suspicion and so I counted the level of parentheses. But I missed it when I first typed it, missed it when I looked at it, and missed it again when I counted it. Once I even thought I should paste it into a code editor that would check for balanced parentheses, but told myself "nah". Thank you for having a keener eye than me :)

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points