Oracle 批量创建删除多用户

2014-11-24 18:55:36 · 作者: · 浏览: 7

方法如下:


for那个地方可以随便指定oracle用户的个数,要给oracle用户适当的权限,要不登陆不进去。



[oracle@developserver ~]$sqlplus / as sysdba


SQL*Plus: Release 11.2.0.1.0 Production on Fri Oct 14 19:41:45 2011


Copyright (c) 1982, 2009, Oracle. All rights reserved.



Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL>


//创建临时表空间


create temporary tablespace ss_temp tempfile '/home/oracle/ss/user_temp.dbf' size 1000m autoextend on next 50m maxsize 20480m extent management local;


connect system/oracle;



//创建数据表空间


SQL>create tablespace ss_users_datalogging datafile '/home/oracle/ss/ss_users_data.dbf' size 1000m autoextend on next 50m extent management local;


SQL>declare


usernum varchar2(10);


begin


for i in 1..300


loop


usernum:=to_char(i);


execute immediate 'create user ss_'||usernum||' identified by uid5a default tablespace ss_users_data temporary tablespace ss_temp';


execute immediate 'grant resource,connect,dba to ss_'||usernum;


end loop;


end;


/


查询新建的用户列表


SQL>select username from dba_users;


用新建的用户登录测试


SQL>connect ss_1/uid5a





注意:





1、斜杠/,不要省略,/表示提交,按ctrl+c退出终端;


2identified by 后面是密码,这边的用户密码是字母i,注意不要在它的后面加空格,会产生不必要的错误。


3、默认创建的表空间是users表空间。


4、如果不指定表空间名称,默认的表空间是users表空间。


批量删除oracle用户脚本
declare
usernum varchar2(10);
begin
for i in 1..300
loop
usernum:=to_char(i);
execute immediate 'drop user ss_'||usernum||' cascade'; end loop;
end;
/


那批量撤权用户权限的话( revoke 权限... from 用户名;),只要把drop相关的语句修改完就可以了



总结:用户创建的基本知识很重要,通过这次的问题对oracle的创建用户有了更深入的认识。