【Oracle】 - 数据库的实例、表空间、用户、表之间关系
    		       		warning:
    		            这篇文章距离上次修改已过427天,其中的内容可能已经有所变动。
    		        
        		                
                在Oracle数据库中,一个实例可以包含多个表空间,而每个表空间又可以包含多个用户和表。用户是在实例层级上定义的,但是用户创建的表和数据都存储在表空间中。以下是一个简单的示例来描述这种关系:
- 实例(Instance): 是由一组后台进程和共享内存组成的,用于存放数据库的内存结构和服务器进程,是Oracle数据库的核心。
 - 表空间(Tablespace): 是数据库中一个逻辑上的概念,用于分配表和索引等数据对象。一个实例可以包含多个表空间。
 - 用户(User): 是一个数据库实体,用于存放表和其他数据库对象。用户在实例层次上定义,但用户的数据存储在表空间中。
 - 表(Table): 是数据库中存储数据的基本结构,用于存储数据。它属于某个用户,而这个用户又存储在某个表空间。
 
示例代码:
-- 创建一个新的表空间
CREATE TABLESPACE new_tablespace 
DATAFILE 'path_to_datafile.dbf' SIZE 100M 
AUTOEXTEND ON NEXT 10M MAXSIZE 500M;
 
-- 创建一个新用户,指定其表空间
CREATE USER new_user IDENTIFIED BY password
DEFAULT TABLESPACE new_tablespace
TEMPORARY TABLESPACE temp;
 
-- 授权新用户
GRANT CONNECT, RESOURCE TO new_user;
 
-- 在新用户下创建一个表
CREATE TABLE new_user.new_table (
    id NUMBER PRIMARY KEY,
    name VARCHAR2(50)
) TABLESPACE new_tablespace;在这个示例中,首先创建了一个名为new_tablespace的新表空间,然后创建了一个名为new_user的新用户,并指定其默认表空间为new_tablespace,临时表空间使用系统默认的temp。接着,给新用户授权,并在该用户下创建了一个名为new_table的表,该表存储在new_tablespace表空间中。
评论已关闭