读书人

ORACLE 创造新表空间建立用户

发布时间: 2012-09-28 00:03:35 作者: rapoo

ORACLE 创建新表空间,建立用户
1、查看数据库中有哪些用户?
select username from all_users;
2、查看数据库中有哪些DBA用户?
select username from dba_users;
3、查看当前用户拥有哪些表?
select table_name from user_tables;
4、Oracle新建表空间,建立用户的步骤?
A,创建表空间
create tablespace blueskydb datafile 'D:\oracle\product\10.2.0\oradata\bluesky\blueskydb.dbf' size 500m;
B、新建用户
create user bluesky identified by bluesky;
C、用户授权
grant resource, connect, RECOVERY_CATALOG_OWNER to bluesky;
grant create table to bluesky;
alter user bluesky quota unlimited on blueskydb;
alter user bluesky default tablespace blueskydb;
D、这样就可以了,使用SQLPLUS或其他的工具连接试试吧!


quota的日常管理[/color]

常见问题

ORA-01536:space quota exceeded for table space 'CYYD'
解决办法:
alter user USERNAME quota 100M on TABLESPACENAME;
alter user USERNAME quota unlimited on TABLESPACENAME;
grant unlimited tablespace to USERNAME;

q[color=red]uota是为了限制用户对表空间的使用,比如你限制用户Guotu在tablespace CYYD中的quota为10m,当用户Guotu在tablespace CYYD中的数据量达到10m后,无论你的tablespace CYYD中有多少空间,Guotu都无法再使用tablespace CYYD了。
所以你需要:
alter user aGuotu quota 1000M on CYYD;
alter user Guotu quota unlimited on CYYD;
grant unlimited tablespace to Guotu


ORACLE内置角色Connect、RESOURCE[color=red][/color]
首先用一个命令赋予user用户connect角色和resource角色:

grant connect,resource to user;

运行成功后用户包括的权限:

CONNECT角色: --是授予最终用户的典型权利,最基本的
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接

CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图

RESOURCE 角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型

从dba_sys_privs里可以查到(注意这里必须以DBA角色登录):
select grantee,privilege from dba_sys_privs
where grantee='RESOURCE' order by privilege;

GRANTEE PRIVILEGE
------------ ----------------------
RESOURCE CREATE CLUSTER
RESOURCE CREATE INDEXTYPE
RESOURCE CREATE OPERATOR
RESOURCE CREATE PROCEDURE
RESOURCE CREATE SEQUENCE
RESOURCE CREATE TABLE
RESOURCE CREATE TRIGGER
RESOURCE CREATE TYPE

读书人网 >其他数据库

热点推荐