Oracle - 新装数据库、新建用户需要注意的几点
目前,新装数据库一般会建两个tablespace: cdmadata, cdmaidx。在新建用户时,一般赋予新用户几个role:
因为用户还要创建视图,而以上两个角色都不提供创建视图的权限,所以要赋予用户 create view 的权限。另外如果数据库是给开发、采集使用,还需要考虑采集会调试function, procedure,应该再赋予如下权限:
另外,一般将cdmadata设置为新用户的缺省表空间。由于cdmaidx不是新建用户的缺省表空间,所以cdmaidx的使用有限额限制,需要明确赋予新建用户在cdmaidx的无限限额。即新建用户还需配置如下限额:
需要注意的是:以后可能会有细分更多的tablespace,所有的tablespace都应该明确地赋予新建用户无限限额。
以下为上述操作的脚本:
角色 | 说明 |
---|---|
connect | 用于连接,数据访问,还可以修改本schema的对象 |
resource | 可以新建、删除对象,在运行数据库创建脚本时需要此权限 |
权限 | 说明 |
---|---|
create view | 允许创建视图 |
debug connect session | 系统权限。允许调试function, procedure |
限额 | 说明 |
---|---|
cdmadata | 无限 |
cdmaidx | 无限 |
以下为上述操作的脚本:
-- Create the user
create user CDMATEST
identified by "cdmatest"
default tablespace CDMADATA
temporary tablespace TEMP
profile DEFAULT
quota unlimited on cdmadata
quota unlimited on cdmaidx;
-- Grant/Revoke role privileges
grant connect to CDMATEST;
grant resource to CDMATEST;
-- Grant/Revoke system privileges
grant debug connect session to CDMATEST;
数据库安装完成后,resource 权限应该可以收回。即使是采集组应该也可以在 connect 角色下通过脚本来创建新分区