oracle的sid设置

1. 什么是SID?

SID(系统ID) 是Oracle中的一个重要概念,它代表着一个数据库实例。一个数据库可以拥有多个实例,每个实例都有一个唯一的SID。SID命名的规则是:1-8个字符,必须以字母开头,可以包含字母、数字、$、#、_。

2. 如何设置SID?

2.1 在安装时设置SID

在Oracle数据库的安装过程中,会要求设置数据库实例的名称,即SID。下面是设置SID的示例截图:

![oracle安装](oracle_instane_name.png)

2.2 在Oracle实例中修改SID

如果您已经安装了Oracle数据库,需要修改实例的SID,可以按照以下步骤进行操作:

1. 登录数据库实例所在主机,以sysdba身份连接数据库:

$ sqlplus / as sysdba

2. 查看当前实例的SID:

SQL> show parameter instance_name;

3. 关闭所需修改SID的数据库实例:

SQL> shutdown immediate;

4. 修改$ORACLE_HOME/network/admin目录下的tnsnames.ora文件,将其中的SID对应的值修改为所需的新值:

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 系统IP地址)(PORT = 相应端口))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SID = 新的SID值)

)

)

5. 修改$ORACLE_HOME/dbs目录下的init${ORACLE_SID}.ora文件,将其中的${ORACLE_SID}对应的值修改为所需的新值:

*.db_name=新的SID值

6. 修改$ORACLE_HOME/network/admin目录下的listener.ora文件,将其中的SID对应的值修改为所需的新值:

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 系统IP地址)(PORT = 相应端口))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SID = 新的SID值)

)

)

7. 重启数据库实例:

SQL> startup;

3. SID与服务名的区别

3.1 SID与服务名的概念

在Oracle中,SID是一个实例,服务名是多个实例组成的服务,是一个逻辑概念。每个实例都有一个暴露给客户端的服务名。客户端使用服务名来访问数据库服务。在网络环境中,通过客户端使用网络服务名称定位该服务相应的实例。

3.2 SID与服务名的关系

在Oracle中,本地连接只需要使用SID即可,而在访问远程数据库时,客户端必须通过服务名来访问数据库服务。Oracle支持使用tnsnames.ora文件将服务名映射到对应的SID。例如下面这个例子:

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 系统IP地址)(PORT = 相应端口))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SID = orcl)

)

)

客户端通过访问服务名ORCL来访问实例orcl。

4. 结语

本文介绍了SID的概念及其设置方法,并与服务名进行了对比。了解和掌握SID的设置及使用,对于Oracle数据库的应用和维护具有重要意义。

数据库标签