首页  >  文章  >  数据库  >  Oracle 批量创建删除多用户

Oracle 批量创建删除多用户

WBOY
WBOY原创
2016-06-07 17:12:081269浏览

今天我们公司需求要求给每个客户创建一个oracle用户,大概需求是300个Oracle用户吧。后面会更多,如果手工创建的话估计很麻烦。找

今天我们公司需求要求给每个客户创建一个Oracle用户,大概需求是300个Oracle用户吧。后面会更多,如果手工创建的话估计很麻烦。找了一些方法结合实际吧,终于有个可以用的。可能是太简单了。现在感觉,主要是这个是很基础的oracle用户基础知识不过关。

方法如下:

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

注意:

批量删除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的创建用户有了更深入的认识。

linux

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn