Oracle使用外部表批量创建用户
整体思路:通过使用外部表将用户名导入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使用外部表批量创建用户的更多相关文章
- Oracle基础--创建临时表空间/表空间/创建用户/授权
总结:创建用户一般分四步: 第一步:创建临时表空间(创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp.) SQL> CREATE TEMPORARY T ...
- Oracle起步---创建临时表空间/表空间/创建用户/授权
1. 安装: 百度一下你就知道 2. sqlplus登录/sqlplus命令登录 在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和 口令,在以两种方式登录时: 用户名: s ...
- Oracle的外部表
一.外部表特性 数据文件位于操作系统之外,并且具有一定的格式分割的文本文件或其他类型文件.ORACLE的外部表通过SQL的形式访问数据文件中的数据,数据并不需要加载到数据库中且数据是可读的,所以不用D ...
- Oracle 之 外部表
一.外部表概述 外部表只能在Oracle 9i 之后来使用.简单地说,外部表,是指不存在于数据库中的表. 通过向Oracle 提供描述外部表的元数据,我们可以把一个操作系统文件当成一个只读的数 据库表 ...
- [工具] 分布式系统下批量创建用户及分发公钥打通ssh通道的脚本
在分布式系统下偶尔会有这样的需求,要增加一个服务时,需要在集群的所有节点上创建同一个用户,然后打通ssh通道,再分发软件包.配置.执行命令.启动服务... 这个问题的根源是如何集中配置和管理系统,专业 ...
- salt进程查看插件&salt批量创建用户
接受key 剔除主机 启动 salt-minion-d 软件包的安装 salt '*' state.sls init.env-init test=true salt批量创建用户: ...
- SERVER 2012 R2 core域环境下批量创建用户
Write by xiaoyang 转载请注明出处 步骤一:创建域 基本配置 1. 输入命令进入配置 2. 输入8进入网络配置 3. 选择要配置的网 ...
- windows批量创建用户
一.建立用户的命令行语法: 建立用户:net user 用户名 密码 /add (如:net user test 123 /add) 提升权限:net localgro ...
- shell脚本实例-实现监控tcp的链接状态另一种方式批量创建用户
Array实现TCP的链接状态 #!/usr/bin/bash declare -A status type=`ss -an | grep :80|awk '{print $2}'` for i in ...
随机推荐
- 关注Yumiot公众号,了解最新的物联网资讯
Yumiot,专注于物联网行业,每天不定期推送最新的物联网行业新闻.详情请用微信搜索关注 yumiot .
- 在eclispe上git 代码滚回
1.项目 - 鼠标右键 - team - show in history: 2.history窗口 - 选择需要回滚到的版本 - reset - hard:3.项目 - 鼠标右键 - team - p ...
- erlang证书加密
-module(...). -include("ewp.hrl").-include("backend.hrl").-include_lib("pub ...
- cin.get();cin.clear();cin.sync()
先看代码: #include<iostream> using namespace std; int main(){ int c,x; cout<<"输入大小" ...
- jQuery 核心函数
$() ;/ jQuery () ; 就代表调用 jQuery 的核心函数. 1. 接收一个函数. $(function(){ alret('hello world'); }); 2. 接收一个字 ...
- Beta冲刺 4
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10123035.html 作业博客:https://edu.cnblogs.com/campus ...
- 对于一个段错误(核心已转储)问题的解答,错误的英文翻译是segment fault(core dumped)
笔者在学习ROS的时候遇到的这个问题,使用的系统是ubuntu16.04,ROS版本是kinetic,在运行小海龟程序的时候突然打不开海龟界面的程序节点turtlesim-node,四处寻找答案未果, ...
- nginx——配置 Nginx 错误页面优雅显示
...... http { location / { root html/www; index index.html index.htm; error_page 400 401 402 403 404 ...
- mybatics 与jpa
mybatics,dao层接口,mapper: public interface UserMapper { @Select("SELECT * FROM T_ROLE WHERE ROLE_ ...
- idea添加JPA导出实体类
https://blog.csdn.net/liu_yulong/article/details/72910588