`
echohfut
  • 浏览: 231116 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SERVICE_NAME, SID和schema区别

阅读更多

1. SID是Oracle实例名,实例名指的是用于响应某个数据库操作的数据库管理系统的名称。实例名是由初始化参数文件的参数instance_name决定的。如果这个参数不被指定(即instance_name没有被指定为任何值),那么实例的名字由该用户的环境变量ORACLE_SID(注意这里是大写)决定。在windows平台下,则是注册表中oracle_sid值决定。

SID是Oracle实例的唯一名称标识,用户去访问数据库,实际上是向某一个Oracle实例发送请求,oracle实例负责向数据库获取数据。Oracle实例 = 内存结构+后台进程,所以Oracle实例是临时性的;可以通过startup nomount去启动实例,但是注意这时Oracle数据库并没有启动,需要用open去启动数据库;
一个实例只能对应一个数据库,一个数据库可以用多个实例;

 

 


2. SERVICE_NAME指的是listener中的全局数据库名:这个名字是由listener.ora中GLOBAL_DBNAME参数决定的。这个名字代表的是客户端连接到数据库时,tnsnames.ora中service_name参数所对应的值。

GLOBAL_DBNAME=DBNAME.DBDOMAIN

 

 

3. 连接字符串

    配置tnsname.ora时,可以用SID,也可以用SERVICE_NAME.  注意这两个值不一定相同,具体要看数据库服务器中的配置。

 

connect_str =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = xxxx
    )
  )

 

 

connect_str =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = xxx)
      (SERVER = DEDICATED)

    )
  )

 

4.  schema 命名空间

命名空间定义了一组对象类型,在命名空间里,对象的名字必须是唯一的,当然,在不同的命名空间里,是可以使用相同的的名字的。Table,View,Sequence,Package等对象共享一个名字空间,所以同一个名字空间中不能有相同的。Indexes,Constraints,Triggers等对象有各自的名字空间,因此可以有相同的名字。

 

一般来说,Schema是基于用户的, 在数据库中创建一个用户,就创建了一个和用户名相同的Shema。

分享到:
评论
1 楼 shaier 2011-05-19  
讲的很不错啊!

相关推荐

    oracle数据库备份还原BAT脚本

    set DB_SID=your_SID 或 your_service_name set BACKUP_DIR=C:\Oracle_Backups expdp %DB_USER%/%DB_PASSWORD%@%DB_SID% directory=BACKUP_DIR dumpfile=backup_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%...

    最全的oracle常用命令大全.txt

    WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME; 7、查看数据库库对象 select owner, object_type, status, count(*) count# from all_objects group by owner, object_...

    解析Oracle数据库中的对象集合schema

    总之,Oracle数据库中的Schema是组织和管理数据的重要工具,它与实例、Service Name、SID等概念共同构建了Oracle数据库的复杂架构。深入理解和掌握这些概念,对于有效地使用和管理Oracle数据库至关重要。

    oracle安装以及创建数据库教程.doc

    - SID(System Identifier):数据库的唯一标识,用于DBA操作和操作系统交互,通过ORACLE_SID访问实例,记录在注册表中。 - 服务名(SERVICE_NAME):从oracle9i开始引入,是全局数据库名或数据库名,用于识别数据库...

    [三思笔记]RMAN管理ORACLE_RAC数据库的备份与恢复

    SQL> alter system set log_archive_dest_2='service=jssdbn2' sid='jssdbn1'; -- 确认设置 SQL> show parameter log_archive_dest; ``` **注意事项**: - `log_archive_dest_n`参数支持多种格式,如`location`, ...

    ORACLE数据库期末考试题目及答案.docx

    - **Oracle_Service_SID**:指数据库实例的服务名。 - **Oracle_HOME_NAME_Agent**:指Oracle安装目录下的代理配置文件。 - **Oracle_HOME_NAME_HTTPServer**:指Oracle安装目录下的HTTP服务器配置文件。 **答案**...

    Oracle相关资料

    在Windows操作系统中,使用iSQL*Plus工具时,需要启动**Oracle Service SID**服务。该服务提供了与数据库交互的基础支持,是执行SQL命令所必需的。 #### 九、默认表空间分配 当创建Oracle用户时,如果没有指定默认...

Global site tag (gtag.js) - Google Analytics