Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
2009-05-22 14:56
711 查看
常被oracle的几个概念搞得很晕,和公司做pl/sql的同事讨论后,又到网上搜索下,现将个人对这几个概念的理解做个笔记: 先通俗的解释下数据库这个概念,数据库就是存储在磁盘上的文件,这些文件中保存的数据有一定的物理结构和逻辑结构。
数据库名就是数据库的名称标识,如myOracle,这种叫法一般只适用于单机; 全局数据库名就是数据库处于一个网络中的名称标识。比如数据库宿主机的域为mydomain, 则数据库的全局数据库名为myOracle.mydomain; 实际上myOracle和myOracle.mydomain两者指的是同一个数据库. 即:全局数据库名=数据库名+"."+网络位置(宿主机所在的域)
设定全域数据库名称Oracle9i的全域数据库名称由「数据库名称」与「网域名称」所组成,其中「数据库名称」设定于DB_NAME起始参数,而「网域名称」则是设定于DB_DOMAIN参数。这两个参数合并之后就可以在网际网络上唯一识别每一个Oracle9i数据库。举例来说,假设我们欲建立的Oracle9i数据库之全域数据库名称为mydb.uuu.com.tw,那么可在起始参数档内设定下列两参数:DB_NAME=mydbDB_DOMAIN=uuu.com.tw
SID=Oracle实例
SID是Oracle实例的唯一名称标识,
用户去访问数据库,实际上是向某一个Oracle实例发送请求,oracle实例负责向数据库获取数据。
Oracle实例=内存结构+后台进程,所以Oracle实例是临时性的;
可以通过startupnomount去启动实例,但是注意这时Oracle数据库并没有启动,需要用open去启动数据库;
一个实例只能对应一个数据库,一个数据库可以用多个实例;
命名空间,有点复杂。
命名空间定义了一组对象类型,在命名空间里,对象的名字必须是唯一的,当然,在不同的命名空间里,是可以使用相同的的名字的。
下面的对象类型共享同一个命名空间:
•Tables
•Views
•Sequences
•Privatesynonyms
•Stand-aloneprocedures
•Stand-alonestoredfunctions
•Packages
•Materializedviews
•User-definedtypes
因此,如果数据库中有一个表叫做myObject1,那么就不能再创建一个叫做myObject1的视图,至少,在一个schema中是不可能出现这种现象的;
下面的对象类型有各自的命名空间:
•Indexes
•Constraints
•Clusters
•Databasetriggers
•Privatedatabaselinks
•Dimensions
所以你可以创建一个叫做myObject1的索引,即使在相同的schema中;
不受Schema局限的对象类型(Nonschemaobjects)有它们自己的命名空间,如下:
•Userroles
•Publicsynonyms
•Publicdatabaselinks
•Tablespaces
•Profiles
•Parameterfiles(PFILEs)andserverparameterfiles(SPFILEs)
所以两个Non-schemaobjects可以用相同的名字。
Schema是基于用户的,在数据库中创建一个用户,就创建了一个和用户名相同的Shema。
Namespace是基于数据库的.
相关文章推荐
- [转载]Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- oracle 10g中的几个概念(表空间,数据库名,实例名,操作系统环境变量SID)
- 数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名(转)
- 数据库名(DB_NAME)、数据库实例名(Instance_name、ORACLE_SID) 、数据库域名、全局数据库名、数据库服务名 在ORACLE7、8数据库中只有数据库名(db_name)和数据库实例名(instance_name)。
- 数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工创建数据库
- 数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名 数据库名、实例名
- 数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库详解
- 数据库名 实例名 ORACLE_SID 数据库域名 全局数据库名 服务名
- oracle 10g中的几个概念(表空间,数据库名,实例名)
- 数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名
- 备忘:ORACLE 数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名
- 数据库名(DB_NAME)、数据库实例名(Instance_name、ORACLE_SID) 、数据库域名、全局数据库名、数据库服务名
- ORACLE 数据库、表空间、SCHEMA、数据文件的概念
- oracle10G 数据库名、实例名、ORACLE_SID 及创建数据库- hl3292转载修改
- ORACLE 数据库、表空间、SCHEMA、数据文件的概念