【数据库名】
概念:就是一个数据库的标识,作用等同于我们的身份证的作用,假设一台机器上安装了多个数据库,那么每一个数据库都会有一个数据库名称相应,这些数据库名称在数据库被创建的时候,数据库名称也会被写入控制文件里去,在控制文件里是以二进制的文件存储。我们假设要改动的话就不是太方便。所以我们在起数据库名称的时候尽量考虑清楚。
作用:数据库名称是在创建数据库,安装数据库,创建数据库控制文件。改动数据结构的时候或者备份数据库的时候会使用到。
我们假设想在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网络组件,client与数据库连接的主机字符串使用的是数据库服务名,之前用的是数据库实例名。
SQL>select value from v$parameter where name='service_names';
SQL>show parameter service_name;【网络服务名】
也能够称为数据库别名,是client訪问数据库时所须要。网络服务名被记在tnsnames.ora文件里。