表空间(tablespace)
Oracle中的用户都有属于自己的默认的表空间,在一段内存空间中存储的大部分是表,所以称为表空间
用户的表空间
1,系统用户的表空间
2,普通用户的表空间
为什么要给普通用户创建属于自己的表空间那?
项目中很可能与其他项目使用同一个数据库,
多个用户在使用同一个数据库的时候有可能访问同一个数据库文件,就会造成资源争用问题,
给不同的用户指定不同的表空间,就可以让他们使用不同的数据文件,解决争用问题。
创建表空间
总结:创建用户一般分四步:
第1步:创建数据表空间
第2步:创建用户并制定表空间
第3步:给用户授予权限
以下操作可以在oracle客户端执行
--创建表空间
CREATE TABLESPACE POEP5
LOGGING
DATAFILE '/u01/app/oracle/product/11.2.0/xe/dbdata/POEP5.DBF' -- 文件位置(自动生成)
SIZE 100M --初始大小
AUTOEXTEND ON
NEXT 50M MAXSIZE 1024M --下一次扩展大小 --最大值
EXTENT MANAGEMENT LOCAL;
CREATE TABLESPACE POEP8 DATAFILE '/u01/app/oracle/product/11.2.0/xe/dbdata/POEP8.DBF' SIZE 100M AUTOEXTEND ON ;
创建用户,授权
--给用户指定默认表空间:
CREATE USER YUE8 IDENTIFIED BY 123456 DEFAULT TABLESPACE POEP8;
-- 给用户授予权限
GRANT CONNECT,RESOURCE TO YUE8; --表示把 connect,resource权限授予news用户
GRANT DBA TO YUE8; --表示把 dba权限授予给NEWUSER用户
-------------------------------------------------------------------------------------------------------------------------------------------
--创建用户后修改用户表空间:
ALTER USER user_name DEFAULT TABLESPACE new_tablespace_name;
--删除表空间:
DROP TABLESPACE POEP6 INCLUDING contents AND datafiles;
--oracle 重启监听
lsnrctl reload
--oracle服务名
select global_name from global_name;
--查看表空间 :
SELECT tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;