Oracle 数据库实例

Oracle- 数据库的实例,表空间,用户,表之间的关系

一、完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例

1.数据库是一些列物理文件的集合(数据文件,控制文件,联机文件,参数文件)

2.Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区;

  用Oracle官方描述:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。其实就是用来访问和使用数据库的一块进程,它只存在于内存中。就像Java中new出来的实例对象一样。我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。实例名指的是用于响应某个数据库操作的数据库管理系统的名称。她同时也叫SID。实例名是由参数instance_name决定的。
查询当前数据库实例名:

select instance_name from v$instance;

数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。比如我们作开发,要连接数据库,就得连接数据库实例名:

jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)

二、数据库

  1.全局数据库名:就是数据库的一个标识,在安装的时候一般就要想好;

  2.启动数据库:也叫全局数据库,是数据库系统的入口,它会内置一些高级权限的用户,如:sys,system;

三、表空间

  1.Oracle数据库是通过表空间来存储物理表的,数据库实例=N*表空间=*张表

  创建表空间语法:

创建临时表空间

CREATE TEMPORARY TABLESPACE wj_temp /* 临时表空间名称:wj_temp */
tempfile 'D:appdbfwj_temp.dbf' /* 表空间路径 */
size 50m /* 空间初始大小:50M*/
autoextend ON /* 开启自动扩展 */
NEXT 50m /* 空间满了一次扩展50M*/
maxsize 6G /* 空间最终大小6G,可设为 unlimited 大小不受限制*/
extent management local;

创建表空间

CREATE TABLESPACE wj_data /* 临时表空间名称:wj_data */
datafile 'D:appdbfwj_data.dbf' /* 表空间路径 */
size 50m /* 表空间初始大小:50M */
autoextend ON /* 开启自动扩展*/
NEXT 50m /* 表空间满了后一次扩展50M */
maxsize 10G /* 空间最终大小10G,可设为 unlimited 大小不受限制*/
logging extent management local;

查看已经创建好的表空间:

select default_tablespace, temporary_tablespace, d.username  
from dba_users d

四、用户

  1.Oracle 数据库建好之后,要想在数据库里建表,必须先为数据库建立用户,并未用户指定表空间(用户是在实例下创建的);

  Oracle是由用户和表空间对数据进行管理和存放的,但是表不是用表空间查询的,而是由用户去查询,因为不同用户可以在同一个表空间,建立同一个名字的表;

CREATE USER wj                    /* 用户名 */
IDENTIFIED BY 123456              /* 密码 */  
DEFAULT TABLESPACE wj_data        /* 表空间 */    
TEMPORARY TABLESPACE wj_temp      /* 临时表空间 */

 五、角色

-- connect 角色使得用户可以登录;resource 角色使得用户可以进行程序开发,如建立表、触发器等。授权命令如下:
GRANT CONNECT,RESOURCE TO wj;

 -- 查询数据库中的用户 

SELECT * FROM dba_users ORDER BY userName

  

 

原文地址:https://www.cnblogs.com/wangjianly/p/9311796.html