您的位置:首页 > 数据库 > Oracle

Oracle 9i创建用户和表空间并赋予权限

2009-03-04 11:11 671 查看
/*create tablespace(后面指定其为user's default tablespace)*/
--DROP TABLESPACE HOT;/*tablespace HOT只能在此删除*/
--删除时先切换用户,保证有足够权限
DROP USER jkant CASCADE;

create tablespace HOT datafile 'D:/MyOracleDB/HOT.dbf' size 100m reuse autoextend on next 10m;

/*在ORACLE中创建一个可用用户步骤如下:*/
--1、创建用户+密码
create user jkant identified by jkant;

--2、单独赋予用户权限(集体赋予也可以分开)
--grant create session to jkant;
--grant create table to jkant;
--grant create sequence to jkant;
--集体式
--GRANT CREATE USER,DROP USER,ALTER USER,CREATE ANY VIEW,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字
GRANT CREATE SESSION,CREATE TABLE,CREATE SEQUENCE,CREATE ANY VIEW,DROP ANY VIEW,RESOURCE,EXP_FULL_DATABASE,IMP_FULL_DATABASE TO jkant;

/*4、指定默认tablespace,使用户创建的各种对象若无特殊指定,都将在该默认tablespace中创建
注意:HOT必须是当前ORACLE存在的tablespace*/
alter user jkant default tablespace HOT;

--5、为用户分配tablespace配额(可以分配在多个表空间)
alter user jkant quota 40m on HOT;
alter user jkant quota 60m on USERS;
/*至此在[ORACLE企业管理器-安全性-用户]中可以看到该用户,
并可以在PL/SQL中以该用户登陆,但是在未创建任何对象之前将不会在[方案]中显示;
所以在PL/SQL中以该用户身份登陆后运行下面的建表语句,刷新[方案]即可看到该用户方案
*/
COMMIT;

/*关于权限分配可以查看一下表信息,其中有单个权限(如:create session,create table等)
也有角色权限(如:dba,sys,resource等,--自己猜的这应该就叫角色吧)*/
SELECT * FROM DBA_SYS_PRIVS;
SELECT GRANTEE,PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE = 'RESOURCE';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: