随着企业信息化建设的不断发展,Oracle数据库已成为数据存储服务的主流,往往在建设过程中需要创建新的表空间和用户,以满足企业数据库的扩容。经过实践发现,用Oracle数据库中的两条SQL指令即可在一步完成表空间与用户的创建,帮助企业快速建立数据库结构,为业务系统提供服务。
创建表空间,首先要使用Create Tablespace命令,具体格式如下:
CREATE TABLESPACE tablespace_name
DATAFILE ‘file_name’
SIZE file_size
[EXTENT MANAGEMENT {dictionary|local}]
SEGMENT SPACE MANAGEMENT {AUTO|MANUAL}
[BLOCKSIZE blocksize]
[LOGGING | NOLOGGING]
[ONLINE | OFFLINE]
[MINIMUM EXTENT min_ext]
[DEFAULT STORAGE(next n K col1 col2)
EXTENT MANAGEMENT {dictionary|local}
[DEFAULT pctincrease value]
[AUTOALLOCATE | UNIFORM size] ;
例如,要创建一个名为DATA01的表空间,用户数据文件叫ops.dbf,文件路径在/home/oracle/oradata/project.dbf,用户数据文件的容量设定为500M,表空间的日志模式设为 LOGGING,则其 SQL语句如下:
CREATE TABLESPACE DATA01
DATAFILE ‘/home/oracle/oradata/project.dbf’ SIZE 500M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
LOGGING ;
接着,要创建用户,需要使用 Create User命令,具体格式如下:
CREATE [OR REPLACE] USER username
IDENTIFIED BY {password | EXTERNALLY | GLOBALLY |
[AS] sys_dba_privs_clause |
[AS] sys_oper_privs_clause |
[AS] system_privs_clause |
[AS] object_privs_clause
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE tablespace];
例如,要新建一个名为Alice的用户,用户登录密码为My_pass123,用户默认表空间为DATA01,用户拥有问及管理自己表上的权限,则该SQL语句为:
CREATE USER Alice IDENTIFIED BY My_pass123
DEFAULT TABLESPACE DATA01
QUOTA UNLIMITED ON DATA01
GRANT CREATE SESSION, SELECT ON USER.ORDERS TO Alice;
最后,需要注意的是,完成创建表空间与用户前,一定要尽量核对用户输入,以免因为数据类型转换而导致出现bug,耽误以后的开发测试工作。