Oracle新建用户
注:本文针对像我之前一样刚入Oracle服务器的新手,运用极简形式快速入门,更多知识,请看本人博客!
1.创建临时表空间
说明:
临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。
临时表空间存储大规模排序操作(小规模排序操作会直接在RAM里完成,大规模排序才需要磁盘排序Disk Sort)和散列操作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporary files)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的操作不产生redo日志,不过会生成undo日志。
创建临时表空间或临时表空间添加临时数据文件时,即使临时数据文件很大,添加过程也相当快。这是因为ORACLE的临时数据文件是一类特殊的数据文件:稀疏文件(Sparse File),当临时表空间文件创建时,它只会写入文件头部和最后块信息(only writes to the header and last block of the file)。它的空间是延后分配的.这就是你创建临时表空间或给临时表空间添加数据文件飞快的原因。
语法:
create temporary tablespace 临时表空间名 tempfile 临时表空间路径/文件名.dbf 自增大小设置;
示例:
create temporary tablespace KETTLE_TEST tempfile '/data2/oracle/app/oradata/orcl/KETTLE_TEST.dbf' size 100m reuse autoextend on next 20m maxsize unlimited;
2.临时表空间查询
说明:通过查询临时表空间查看创建的临时表空间是否创建成功。
select name from v$tempfile;
3.创建表空间
说明:
ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的[逻辑结构](https://baike.baidu.com/item/逻辑结构)。
一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件,但一个数据库文件只能与一个表空间相联系。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的,用于存储系统的数据字典表、程序单元、过程、函数、包和触发器等。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)。
表空间简而言之就是虚拟的磁盘,就相当于是你用户的数据库文件保存位置。
语法:
create tablespace 表空间名 datafile 表空间路径/文件名.dbf 自增大小设置;
示例:
create tablespace KETTLE datafile '/data2/oracle/app/oradata/orcl/KETTLE.dbf' size 300M reuse autoextend on next 20M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
4.查询表空间
说明:通过查询表空间,查看创建的表空间是否成功。
select name from v$datafile;
5.创建用户
语法:
create user 用户名 identified by 密码;
示例:
create user KETTLE identified by 123456;
6.绑定表空间
语法:
alter user 用户名 default tablespace 表空间名 temporary tablespace 临时表空间名;
示例:
alter user KETTLE default tablespace KETTLE temporary tablespace KETTLE_TEST;
7.赋予角色
语法:
grant 角色名(多个角色名用逗号隔开) to KETTLE;
示例:
grant connect, resource to KETTLE;
8.赋予权限
语法:
grant 权限名(多个用逗号隔开) to KETTLE;
示例:
grant create session,create table,create view,create sequence,unlimited tablespace to KETTLE;
9.创建成功
用连接工具进行连接测试吧!
如有建议或错误,欢迎指正,共同学习!