博文说明【前言】:
本文将通过个人口吻介绍记录用户及表空间创建相关命令,在目前时间点【2017年5月16号】下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容。
正文:
一:创建表空间
此空间用用于数据存储【存储表、function、存储过程等,即存储数据结构以及真实数据,使用实际物理存储区域】
示例1:创建表空间和表空间初始数据文件
create tablespace xxxx_db
datafile ‘/u2/oradb/datafile/dsdb/xxx_db01.dbf‘ size 1024M REUSE
AUTOEXTEND ON --自动增长
NEXT 500M MAXSIZE 20G --限制最大容量(单个数据文件一般在10G~25G之间,不要超过32G)
--增加第二个数据文件,在硬盘空间允许的情况下,可继续增加。
alter tablespace xxxx_db add datafile
‘/u2/oradb/datafile/dsdb/xxxx_db02.dbf‘ SIZE 1024M
AUTOEXTEND ON NEXT 500M MAXSIZE 20G;
命令解释:创建表空间:xxxx_db,数据文件物理存储路径为:/u2/oradb/datafile/dsdb/,数据文件初始大小为1G(1024M),当1G使用完毕之后,每个数据文件可自动扩展容量,每次扩展大小为500M,最大可扩展到20G。
注意:/u2/oradb/datafile/dsdb/为数据文件存储路径,物理路径可通过sql语句查询得出。
select file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;
二:创建临时表空间
此空间用于管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT及其他需要存储临时数据的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。
当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。
示例2:创建临时表空间(可选,非必要,如果没有创建专用的临时表空间,则创建用户时,使用系统默认临时表空间就行。)
create temporary tablespace xxxx_temp_db --初始大小:10G
TEMPFILE ‘/u2/oradb/datafile/dsdb/xxxx_temp_db01.dbf‘ SIZE 1000M REUSE
AUTOEXTEND ON NEXT 200M MAXSIZE 10G;
命令解释:创建临时表空间:xxxx_temp_db,数据文件物理存储路径为:/u2/oradb/datafile/dsdb/,数据文件初始大小为1000M,当1000M使用完毕之后,每个数据文件可自动扩展容量,每次扩展大小为200M,最大可扩展到10G。
注意:/u2/oradb/datafile/dsdb/为数据文件存储路径,物理路径可通过sql语句查询得出。
select file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;
三:创建用户
示例3:
1、创建用户
create user xxxx identified by "xxxx" default tablespace xxxx_db;
--如果有创建专用临时表空间,则使用以下第一个语句;没有则使用第二个语句:
alter user xxxx temporary tablespace xxxx_temp_db; --可选
alter user xxxx temporary tablespace TEMP1;
2、给用户分配表空间权限
--分配无限的表空间限额
alter user xxxx quota unlimited on xxxx_db;
3、授权
grant connect,resource to xxxx;
--授权dba要看具体情况(可选)
grant dba to xxxx;
实际案例:
create tablespace factorytest_db datafile ‘+DATA/orcl/datafile/factorytest.dbf‘ size 1024M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 5G
create user factorytest identified by "factorytest" default tablespace factorytest_db;
grant connect,resource,dba to factorytest;
alter user factorytest quota unlimited on factorytest_db;
commit;
结尾:
感谢阅读,祝有收获的一天,谢谢!