Orcle11G创建表空间,创建用户,授权等操作

--创建表空间
CREATE   TABLESPACE caiyl
DATAFILE 'D:\Oracle\app\caiyl\oradata\orcl\caiyl_space.dbf' size 500m
AUTOEXTEND ON 
NEXT 200M MAXSIZE 20480M 
EXTENT MANAGEMENT LOCAL;


--创建临时表空间

CREATE TEMPORARY TABLESPACE caiyl_temp

TEMPFILE 'D:\Oracle\app\caiyl\oradata\orcl\caiyl_temp.dbf' 

SIZE 200M

AUTOEXTEND ON

NEXT 50M MAXSIZE 20480M

EXTENT MANAGEMENT LOCAL;

--创建用户并指定表空间

CREATE USER caiyl IDENTIFIED BY 123456 DEFAULT TABLESPACE caiyl_space;

--创建用户并指定表空间和临时表空间
CREATE USER caiyl IDENTIFIED BY 123456

DEFAULT TABLESPACE caiyl_space

TEMPORARY TABLESPACE caiyl_temp;

--授权用户
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  caiyl;

--授权标准权限(开发权限)
GRANT   CONNECT,RESOURCE   TO  caiy1

--查看临时表空间
SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;

--增加表空间大小
ALTER TABLESPACE caiyl_space ADD DATAFILE 'D:\Oracle\app\caiyl\oradata\orcl\caiyl_space.dbf' size 4096M;

--增加临时表空间大小
ALTER DATABASE TEMPFILE 'D:\Oracle\app\caiyl\oradata\orcl\caiyl_temp.dbf' RESIZE 8192M;
--删除用户
DROP USER caiyl CASCADE    

--删除表空间
DROP TABLESPACE caiyl_space INCLUDING CONTENTS AND DATAFILES;

--查询用户信息
select * from dba_users  order  by   created desc

--查看你能管理的所有用户:
select * from all_users;  

--查看当前用户信息 :
select * from user_users; 

--查看用户权限 
--查看所有用户
SELECT * FROM DBA_USERS;
SELECT * FROM ALL_USERS;
SELECT * FROM USER_USERS; 
--查看用户系统权限
SELECT * FROM DBA_SYS_PRIVS;
SELECT * FROM USER_SYS_PRIVS; 
--查看用户对象或角色权限
SELECT * FROM DBA_TAB_PRIVS;
SELECT * FROM ALL_TAB_PRIVS;
SELECT * FROM USER_TAB_PRIVS; 
--查看所有角色
SELECT * FROM DBA_ROLES; 
--查看用户或角色所拥有的角色
SELECT * FROM DBA_ROLE_PRIVS;
SELECT * FROM USER_ROLE_PRIVS; 





 

oracle(11g) 数据库设置ID自增功能(一共两个步骤):

1.给要实现ID自增的数据表创建一个序列

SQL> CREATE SEQUENCE "序列名称"

increment by 1    ----- 每次递增:1  

start with 1       ----- 从哪开始:1 

nomaxvalue      ----- 递增最大值:没有 

minvalue 1       ----- 递增最小值:1  

NOCYCLE;      ----- 不循环  

2.给要实现ID自增的数据表创建一个触发器

SQL> CREATE OR REPLACE TRIGGER "触发器名称"

BEFORE INSERT ON "要实现ID自增的数据表名称"

FOR EACH ROW  

BEGIN  

SELECT "之前创建的序列名称".nextval INTO :new."要实现ID自增数据表中的ID字段名"  FROM dual;  

END;  

 

 

登 陆管理员或超级管理员用户可以自己建立属于自己的用户   : 

命令:CREATE USER USERNAME IDENTIFIED BY PASSWORD; 

创建用户名为: USERNAME, 密码为 PASSWORD 的用户 

分配权限: 
GRANT DBA TO USERNAME; --授予DBA权限 、慎用
GRANT UNLIMITED TABLESPACE TO USERNAME;--授予不限制的表空间 

GRANT SELECT ANY TABLE TO USERNAME; --授予查询任何表 
GRANT SELECT ANY DICTIONARY TO USERNAME;--授予 查询 任何字典

 

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里可以查到

SQL> select grantee,privilege from dba_sys_privs
  2  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

已选择8行。

 

另外补充:

1、grant update(sname) on student to tech1 with admin option;

这个是给用户tech1以update表student列sname的权限,并使tech1可以把这个权限授予别人

grant insert(sname,sid) on student to tech1; ---多列情况

 

2、grant alter on test_tab to user1;  --给用户user1修改表test_tab的权限

grant alter any table to user1;  --给用户user1修改任意表的权限

 

posted @ 2020-08-15 09:04  superming168  阅读(324)  评论(0编辑  收藏  举报