How SID is different from Service name in Oracle tnsnames.ora

后端 未结 5 1807
迷失自我
迷失自我 2020-11-28 18:06

Why do I need two of them? When I have to use one or another?

5条回答
  •  南方客
    南方客 (楼主)
    2020-11-28 18:12

    Please see: http://www.sap-img.com/oracle-database/finding-oracle-sid-of-a-database.htm

    What is the difference between Oracle SIDs and Oracle SERVICE NAMES. One config tool looks for SERVICE NAME and then the next looks for SIDs! What's going on?!

    Oracle SID is the unique name that uniquely identifies your instance/database where as Service name is the TNS alias that you give when you remotely connect to your database and this Service name is recorded in Tnsnames.ora file on your clients and it can be the same as SID and you can also give it any other name you want.

    SERVICE_NAME is the new feature from oracle 8i onwards in which database can register itself with listener. If database is registered with listener in this way then you can use SERVICE_NAME parameter in tnsnames.ora otherwise - use SID in tnsnames.ora.

    Also if you have OPS (RAC) you will have different SERVICE_NAME for each instance.

    SERVICE_NAMES specifies one or more names for the database service to which this instance connects. You can specify multiple services names in order to distinguish among different uses of the same database. For example:

    SERVICE_NAMES = sales.acme.com, widgetsales.acme.com

    You can also use service names to identify a single service that is available from two different databases through the use of replication.

    In an Oracle Parallel Server environment, you must set this parameter for every instance.

    In short: SID = the unique name of your DB instance, ServiceName = the alias used when connecting

提交回复
热议问题