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