首页 > 代码库 > oralce中相关的概念整理

oralce中相关的概念整理

数据库名

 概念:就是一个数据库的标识,作用等同于我们的身份证的作用,如果一台机器上安装了多个数据库,那么每个数据库都会有一个数据库名称对应,这些数据库名称在数据库被创建的时候,数据库名称也会被写入控制文件中去,在控制文件中是以二进制的文件存储,我们如果要修改的话就不是太方便,所以我们在起数据库名称的时候尽量考虑清楚。

作用:数据库名称是在创建数据库,安装数据库,创建数据库控制文件,修改数据结构的时候或者备份数据库的时候会使用到。

我们如果想在sqlplus中查看当前连接的数据库名称:

方法一:select name from v$database;

方法二:shower parameter db;

方法三:查看所有参数文件。

数据库实例名

概念:实例是访问oracle数据库所需的一部分计算机内存和辅助处理计算机后台进程,是由进程和这些进程所使用的内存所构成的集合。它根本不需要一个与其相关联的数据库,没有任何数据文件也可以启动实例。

【sqlplus中启动oracle数据库实例】

SQL> connect system/manager as sysdba;
已连接到空闲例程。
SQL> startup open finance;
ORACLE 例程已经启动。

Total System Global Area 1249902592 bytes                                       
Fixed Size                  1292132 bytes                                       
Variable Size             318769308 bytes                                       
Database Buffers          922746880 bytes                                       
Redo Buffers                7094272 bytes                                       
数据库装载完毕。
数据库已经打开。
sqlplus中停止oracle数据库实例

SQL> connect system/manager as sysdba;
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
sqlplus中查看oracle数据库实例名称

SQL>select instance_name from v$instance;


大家访问oracle数据库就是访问一个实例,但这个实例如果是关联了数据库文件,就是可以访问的,如果没有就会有访问实例不存在的错误。


实例名是指用于响应某个数据库操作的数据库管理系统的名称。专业术语叫“SID”.

用于对外部连接,在操作系统中要取得与数据库的联系,必须要使用数据库实例名。

【实例和数据库的区别】

Q:实例是临时的,它只在相关的进程和内存集合存在的时候存在;数据库是永久的,文件存在他就存在。

Q:一个实例在其生存期内可安装和打开单个数据库。数据库可以被很多个实例安装和打开,或者一个接一个的实例安装和打开,或者由多个实例同时安装和打开。

【数据库服务名】

oracle8i引进,在8i以前,我们用SID来表示数据库的一个实例,但是在oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,为了方便,引入数据库服务名。该参数对应一个数据库,而不是一个实例。

如果数据库有域名,那么数据库服务名就是全局数据库名称。数据库服务名与数据库名一致。

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

SQL>select value from v$parameter where name='service_names';
SQL>show parameter service_name;
【网络服务名】

也可以称为数据库别名,是客户端访问数据库时所需要,网络服务名被记在tnsnames.ora文件中。



oralce中相关的概念整理