整体思路:通过使用外部表将用户名导入Oracle的表中,然后通过PL/SQL遍历数据表,批量创建用户。

具体步骤如下:

1、在安装数据库的服务器的C盘根目录创建一个User List.txt文件,内容如下:

2、以sys用户登录数据库,创建directory对象。

create directory test_d as 'c:\';

3、给scott用户赋予读写directory对象的权限;

grant read, write on directory test_d to scott;

4、切换到scott用户,创建外部表,并关联到c盘根目录下的User List.txt文件

SQL> show user;
User is "scott"

create table t_ex_user
(
uname VARCHAR2(100)
)
organization external
(
type oracle_loader
default directory test_d
location ('User List.txt')
)
reject limit unlimited;

5、检查一下t_ex_user表中是否有内容

SQL> select * from t_ex_user;

UNAME
--------------------------------------------------------------------------------
user1
user2
user3
user4

6、切换回sys用户批量建立用户

begin
for us in (select uname from scott.t_ex_user) loop
dbms_output.put_line(us.uname);
execute immediate 'create user ' || us.uname || ' identified by ' ||
us.uname;
end loop;
end;
/

7、查看用户是否成功创建

SQL> select * from dba_users where username like '%USER%';

USERNAME                          USER_ID PASSWORD                       ACCOUNT_STATUS                   LOCK_DATE   EXPIRY_DATE DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           CREATED     PROFILE   ...
------------------------------ ---------- ------------------------------ -------------------------------- ----------- ----------- ------------------------------ ------------------------------ ----------- ----------------------
USER3 102 OPEN 2018-02-26 USERS TEMP 2017-08-30 DEFAULT ...
USER1 100 OPEN 2018-02-26 USERS TEMP 2017-08-30 DEFAULT ...
USER4 103 OPEN 2018-02-26 USERS TEMP 2017-08-30 DEFAULT ...
USER2 101 OPEN 2018-02-26 USERS TEMP 2017-08-30 DEFAULT ...
  

注意事项:

1、本文用的测试文件在安装数据库的服务器上,开始我把文件放到了PL/SQL Developer所在的机器上,报以下错误。是否可以用远程文件需要再研究。

ORA-29913: 执行 ODCIEXTTABLEOPEN 调出时出错
ORA-29400: 数据插件错误打开文件 d:\T_EX_USER_1240_2936.log 时出错
ORA-06512: 在 line 2

2、文件应该支持txt、csv,开始用xlsx不行。。。

3、其实用UltraEdit的列编辑整理一下最方便。。。

Oracle使用外部表批量创建用户的更多相关文章

  1. Oracle基础--创建临时表空间/表空间/创建用户/授权

    总结:创建用户一般分四步: 第一步:创建临时表空间(创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp.) SQL> CREATE TEMPORARY T ...

  2. Oracle起步---创建临时表空间/表空间/创建用户/授权

    1. 安装: 百度一下你就知道 2. sqlplus登录/sqlplus命令登录 在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和 口令,在以两种方式登录时: 用户名: s ...

  3. Oracle的外部表

    一.外部表特性 数据文件位于操作系统之外,并且具有一定的格式分割的文本文件或其他类型文件.ORACLE的外部表通过SQL的形式访问数据文件中的数据,数据并不需要加载到数据库中且数据是可读的,所以不用D ...

  4. Oracle 之 外部表

    一.外部表概述 外部表只能在Oracle 9i 之后来使用.简单地说,外部表,是指不存在于数据库中的表. 通过向Oracle 提供描述外部表的元数据,我们可以把一个操作系统文件当成一个只读的数 据库表 ...

  5. [工具] 分布式系统下批量创建用户及分发公钥打通ssh通道的脚本

    在分布式系统下偶尔会有这样的需求,要增加一个服务时,需要在集群的所有节点上创建同一个用户,然后打通ssh通道,再分发软件包.配置.执行命令.启动服务... 这个问题的根源是如何集中配置和管理系统,专业 ...

  6. salt进程查看插件&salt批量创建用户

    接受key 剔除主机   启动 salt-minion-d     软件包的安装   salt '*' state.sls init.env-init test=true   salt批量创建用户: ...

  7. SERVER 2012 R2 core域环境下批量创建用户

      Write by xiaoyang 转载请注明出处 步骤一:创建域 基本配置 1.         输入命令进入配置 2.         输入8进入网络配置 3.         选择要配置的网 ...

  8. windows批量创建用户

    一.建立用户的命令行语法: 建立用户:net  user  用户名  密码  /add           (如:net user test 123 /add)  提升权限:net  localgro ...

  9. shell脚本实例-实现监控tcp的链接状态另一种方式批量创建用户

    Array实现TCP的链接状态 #!/usr/bin/bash declare -A status type=`ss -an | grep :80|awk '{print $2}'` for i in ...

随机推荐

  1. equals方法中变量在前和在后的区别

    对于变量:String str1; 使用str1.equals("null"); 对于变量str1,如果str1是null,空是没有equals方法的,会抛出空指针异常 使用&qu ...

  2. vivado封装IP

    reference: https://www.cnblogs.com/mouou/p/5851736.html   1.新建一个测试工程 工程化的设计方法是离不开工程的,第一步往往都是新建工程,后面我 ...

  3. 字符串及其操作,字符的Unicode编码

    plainText=input('message:') for c in plainText: print(chr(ord(c)-3),end='') plainText=input('message ...

  4. Vmware Vsan 部署中如何将非SSD 硬盘标识为SSD

    通过SSH 登录ESXi主机 # esxcli storage nmp device list #查询ESXI 发现的存储设备 #   esxcli storage nmp satp rule add ...

  5. LINUX 学习笔记 账号与群组的管理

    LINUX 账号与群组的管理 UID:UserID 保存文件:/etc/passwd GID:GroupID 保存文件:/etc/group /etc/passwd 文件结构 一行代表一个账号,里面还 ...

  6. holer实现外网访问本地tomcat

    外网访问内网Tomcat 内网主机上安装了Tomcat,只能在局域网内访问,怎样从公网也能访问本地Tomcat? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装Java 1.7 ...

  7. VMSTAT监控CPU使用率,内存使用,虚拟内存交换情况

    Linux性能监控分析命令(一)—vmstat命令详解 一.vmstat介绍 语法格式: vmstat [-V] [-n] [-S unit] [delay [count]] -V prints ve ...

  8. SHELL输出带颜色字体

    输出特效格式控制:\033[0m  关闭所有属性  \033[1m   设置高亮度  \03[4m   下划线  \033[5m   闪烁  \033[7m   反显  \033[8m   消隐  \ ...

  9. vxlan基础

    1. 为什么需要Vxlan 普通的VLAN数量只有4096个,无法满足大规模云计算IDC的需求,而IDC为何需求那么多VLAN呢,因为目前大部分IDC内部结构主要分为两种L2,L3.L2结构里面,所有 ...

  10. [转载]Fiddler为所欲为第四篇 直播源抓取与接口分析 [四]

    今天的教程,主要是教大家如何进行“封包逆向”,关键词跳转,接口分析.(怎么样,是不是感觉和OD很像~~~)今天的教程我们以[麻花影视]为例,当然,其他APP的逻辑也是一样,通用的哦~ 首先需要做好准备 ...