创建用户之前需要先为用户创建表空间。
创建临时表空间:Oracle 临时表空间用于存储数据库操作过程中的临时数据,例如排序、哈希操作或者大查询的中间结果。临时表空间主要用于保证用户会话中的操作不会影响到系统的稳定性。
#用管理员登入数据库。
sqlplus / as sysdba
create temporary tablespace DATA_temp
tempfile '/app/oracle/oradata/DATA/DATA_temp01.dbf'
size 32m
autoextend on
next 32m maxsize 1024m
extent management local;
其中DATA_temp是临时表空间的名字,TEMPFILE 指定了临时文件的名称和它的位置。SIZE 设置了初始大小,AUTOEXTEND ON 表示空间不足时自动扩展。NEXT 32M 表示每次自动扩展增加的大小,MAXSIZE 1024M 是自动扩展的最大限制,EXTENT MANAGEMENT LOCAL 表示使用本地管理区域。
临时表空间的角色在于在操作结束后,Oracle会自动清理和释放占用的临时表空间,保证系统的稳定性和性能。
创建表空间:
Oracle表空间是Oracle数据库环境中用于存储数据和相关对象(如表、索引、视图、存储过程等)的逻辑单位。每个Oracle数据库都至少有一个表空间,名为SYSTEM表空间,用于存储系统数据和元数据。
表空间的主要作用如下:
-
数据存储:表空间是数据库中数据存储的逻辑单位,用户的数据都存储在某一个或多个表空间中。
-
管理数据的增长:可以将不同的数据类型分配到不同的表空间,并设置表空间的大小,以防止数据的无序增长。
-
控制用户访问:可以为不同的用户或角色分配不同的表空间配额,限制他们使用的资源。
-
备份与恢复:表空间是备份与恢复的基本单位,可以单独备份和恢复表空间。
创建表空间的基本语法如下:
用管理员登入数据库
sqlplus / as sysdba
create tablespace DATA
logging
datafile '/app/oracle/oradata/DATA/DATA_data01.dbf'
size 32m
autoextend on
next 32m maxsize 10240m
extent management local;
-
tablespace_name 是你想要创建的表空间的名称。
datafile_path_size 是数据文件的路径和名称。
datafile_size 是数据文件的初始大小。
AUTOEXTEND ON 和 NEXT 子句用于指定数据文件在满时自动扩展。
datafile_size_increment 是自动扩展的大小。
MAXSIZE 子句用于指定数据文件可以增长到的最大尺寸。
LOGGING | NOLOGGING 用于指定表空间是否使用日志模式。
创建用户并付权限
create user wendianfei identified by pass1234567
default tablespace DATA
temporary tablespace DATA_temp;grant connect,resource,select any table,create view,create materialized view,create any procedure,execute any procedure,create job,manage scheduler,create any table to dacs2;
#赋权:登录数据库,创建实体,读表,创建视图,创建物化视图,创建存储过程,创建作业,管理调度器,创建表。
grant select any dictionary to dacs2;#查询目录变量的权限
GRANT CREATE ANY DIRECTORY TO dacs2; #创建目录变量权限
grant imp_full_database to dacs2; #数据库导入/导出权限
user 后面跟的是用户名
identified by 后面跟的是密码
default tablespace 后面配置是用户默认表空间
temporary tablespace 后面配置的是临时表空间