分别说明oracle安装过程中输入的 全局数据库名, SID 的作用;

分别说明oracle安装过程中输入的 全局数据库名, SID 的作用;,第1张

1、ORACLE_SID:是数据库在 *** 作系统内部的环境变量名,其值是正要启动的Oracle数据库实例名。 *** 作系统通过SID找到要启动的Oracle实例的初始化参数文件,根据初始化文件启动Oracle实例,配置内存和创建数据库进程。

2、Global_name:是全局数据库名,对一个数据库(实例)的唯一标识,oracle建议用此种方法命名数据库。该值是在创建数据库时决定的,构造方式=数据库名(Db_name)+数据库域名(Db_domain)。

当域名缺省时,数据库名=全局数据库名。作用是找到对应的数据库安装(mount)、打开(open)。

例:若创建数据库时输入orcl,则全局数据库=orcl;若输入了orclR211gwin,则数据库名=orcl,数据库域名=R211gwin。

关于oracle的全局数据库名称:

1、如果你只是单机使用的话起名字随便。

2、如果是多台电脑一起用的话,并且都是作为远程数据库的话,就要起一个在全局范围内能区分谁是谁的名字。

3、namedomain只是一个起名字的例子,(你可以不起这样的名字)。

4、举个例子:比如你的机器名叫xxxx那你就可以起namexxxx因为网络内的机器名字是不同的,这样就可以区分每一个oracle实例了。

说的比较乱,不知道你听明白了么。

---

以上,希望对你有所帮助。

DB_NAME: 数据库名,此参数在创建数据前决定,数据库创建后修改时,必须建控制文件

DB_DOMAIN: 数据库域名,用于区别同名数据库。数据库名与域名一起构成了全局数据库名

INSTANCE_NAME: 数据库实例名,可以与数据库名相同

SERVICE_NAMES: 数据库服务名,与全局数据库名相同如果没有域名,则服务名就是数据库名

下面详细介绍!!!

一、数据库名

什么是数据库名

数据库名就是一个数据库的标识,就像人的身份z号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。格式如下:

DB_NAME=myorcl

在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但是在Oracle启动时,由于参数文件中的DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。

数据库名的作用:

数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。

有很多Oracle安装文件目录是与数据库名相关的,如:

winnt: d:\oracle\product\1010\oradata\DB_NAME\

Unix: /home/app/oracle/product/1010/oradata/DB_NAME/

pfile:

winnt: d:\oracle\product\1010\admin\DB_NAME\pfile\iniora

Unix: /home/app/oracle/product/1010/admin/DB_NAME/pfile/init$ORACLE_SIDora

跟踪文件目录:

winnt: /home/app/oracle/product/1010/admin/DB_NAME/bdump/

另外,在创建数据时,careate database命令中的数据库名也要与参数文件中DB_NAME参数的值一致,否则将产生错误。

同样,修改数据库结构的语句alter database,当然也要指出要修改的数据库的名称。

如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文件,方法是以nomount方式启动实例,然后以create controlfile命令创建控制文件,当然这个命令中也是指指DB_NAME。

还有在备份或恢复数据库时,都需要用到数据库名。

总之,数据库名很重要,要准确理解它的作用。

查询当前数据名:

方法一:select name from v$database;

方法二:show parameter db

方法三:查看参数文件iniora。

修改数据库名:

前面建议:应在创建数据库时就确定好数据库名,数据库名不应作修改,因为修改数据库名是一件比较复杂的事情。

那么现在就来说明一下,如何在已创建数据之后,修改数据库名。步骤如下:

1关闭数据库。

2修改数据库参数文件中的DB_NAME参数的值为新的数据库名。

3以NOMOUNT方式启动实例,修建控制文件(有关创建控制文件的命令语法,请参考oracle文档)

二、数据库实例名

什么是数据库实例名?

数据库实例名是用于和 *** 作系统进行联系的标识,就是说数据库和 *** 作系统之间的交互用的是数据库实例名。实例名也被写入参数文件中,该参数为instance_name,在winnt平台中,实例名同时也被写入注册表。

数据库名和实例名可以相同也可以不同。

在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。这一点在第一篇中已有图例说明。

查询当前数据库实例名:

方法一:select instance_name from v$instance;

方法二:show parameter instance

方法三:在参数文件中查询。

数据库实例名与ORACLE_SID:

虽然两者都表是oracle实例,但两者是有区别的。instance_name是oracle数据库参数。而ORACLE_SID是 *** 作系统的环境变量。ORACLD_SID用于与 *** 作系统交互,也就是说,从 *** 作系统的角度访问实例名,必须通过ORACLE_SID。在winnt不台,ORACLE_SID还需存在于注册表中。且ORACLE_SID必须与instance_name的值一致,否则,你将会收到一个错误,在unix平台,是“ORACLE not available”,在winnt平台,是“TNS:协议适配器错误”。

数据库实例名与网络连接:

数据库实例名除了与 *** 作系统交互外,还用于网络连接的oracle服务器标识。当你配置oracle主机连接串的时候,就需要指定实例名(8i以前用)。

当然8i以后版本的网络组件要求使用的是服务名SERVICE_NAME。这个概念接下来说明。

三、数据库域名

什么是数据库域名?

在分布工数据库系统中,不同版本的数据库服务器之间,不论运行的 *** 作系统是unix或是windows,各服务器之间都可以通过数据库链路进行远程复制,数据库域名主要用于oracle分布式环境中的复制。举例说明如:

全国交通运政系统的分布式数据库,其中:

福建节点: fjjtyz

福建厦门节点: xmfjjtyz

江西: jxjtyz

江西上饶:srjxjtyz

这就是数据库域名。

数据库域名在存在于参数文件中,他的参数是db_domain

查询数据库域名:

方法一:select value from v$parameter where name = 'db_domain';

方法二:show parameter domain

方法三:在参数文件中查询。

全局数据库名:

全局数据库名=数据库名+数据库域名,如前述福建节点的全局数据库名是:oradbfjjtyz

四、数据库服务名

什么是数据库服务名?

从oracle9i版本开始,引入了一个新的参数,即数据库服务名。参数名是SERVICE_NAME。

如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。

查询数据库服务名:

方法一:select value from v$parameter where name = 'service_name';

方法二:show parameter service_name

方法三:在参数文件中查询。

数据库服务名与网络连接:

从oracle8i开始的oracle网络组件,数据库与客户端的连接主机串使用数据库服务名。之前用的是ORACLE_SID,即数据库实例名。

数据库实例名称为orcl的话,

方法一:

windows系统可以查看windows服务,如OracleServiceORCL

方法二:

查看安装目录下相应目录名称,如:D:\app\oracle\admin\orcl

方法三:

使用oracle net manager工具查看。

Oracle 服务名Service_name:该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置

实例名Instance_name:数据库实例名。用于和 *** 作系统之间的联系,用于对外部连接时使用。在 *** 作系统中要取得与数据库之间的交互,必须使用数据库实例名。例如,要和某一个数据库server连接,就必须知道其数据库实例名,只知道数据库名是没有用的,与数据库名不同,在数据安装或创建数据库之后,实例名可以被修改。

数据库名Db_name:对一个数据库(Oracle database)的唯一标识。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱,为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱

全局数据库名Global_name:对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name Db_domain

连接数据库时输入哪个。。。。这个需要看tnsnamesora文件中配置的是哪个,一般是service_name,或者是sid

Oracle服务器由数据库和实例组成,实例包括进程和内存结构。你连接到一个实例上,只能查到与该实例对应的数据库。数据库名可以这样简单查询show parameter db_name或者楼上的语句也可以,但是都只能获得当前的数据库名。

1、ORACLE_SID:是数据库在 *** 作系统内部的环境变量名,其值是正要启动的Oracle数据库实例名。 *** 作系统通过SID找到要启动的Oracle实例的初始化参数文件,根据初始化文件启动Oracle实例,配置内存和创建数据库进程。

2、Global_name:是全局数据库名,对一个数据库(实例)的唯一标识,oracle建议用此种方法命名数据库。该值是在创建数据库时决定的,构造方式=数据库名(Db_name)+数据库域名(Db_domain)。

当域名缺省时,数据库名=全局数据库名。作用是找到对应的数据库安装(mount)、打开(open)。

例:若创建数据库时输入orcl,则全局数据库=orcl;若输入了orclR211gwin,则数据库名=orcl,数据库域名=R211gwin。

select TABLE_NAME from all_tables where OWNER = '大写用户名';

说明:

如果用 DBA用户查询的话 会得到你要的结果

否则得到的是,当前用户能 *** 作到的'大写用户名'下的表,加入'大写用户名'下有表test但是当前用户没有 *** 作权限,你也不会将他查出,切记切记。

---

以上,希望对你有所帮助。

以上就是关于分别说明oracle安装过程中输入的 全局数据库名, SID 的作用;全部的内容,包括:分别说明oracle安装过程中输入的 全局数据库名, SID 的作用;、Oracle数据库的全局数据库名称的定义、请教一个关于oracle数据库的几个名词的区别,数据库,数据库名,全局数据库名,实例等等等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9841946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存