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 ...
随机推荐
- ABP-DDD学习
有一个比较大的项目,打算使用 DDD +ABP +微服务 开发: 1.涉及到社交: 业务场景比较复杂:会多变: 2.采用前后端分离,netcore+vue; 3.部署采用K8S +docker 进行部 ...
- eclipse调试远程tomcat
1.设置tomcat远程调试端口 catalina.sh export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,susp ...
- 关于“load”方法
load是一个方法,在程序文件中,只有ruby遇到它的时候才会执行.Ruby不会搜索整个文件去执行load命令.也就是说,当Ruby解释器遇到它的时候,它才会去寻找它要加载的文件.这意味着需要加载的文 ...
- Oracle启动和关闭数据库
本机只安装一个数据库的情况下sqlplus / as sysdba启动数据库startup关闭数据库shutdown immediate
- python模块之os_sys_动态导入_包
os模块: #!/usr/bin/env python # coding:utf-8 import os print(os.getcwd()) #获取当前工作目录,即当前python脚本工作的目录路径 ...
- Mysql 设置远程连接
一.问题分析 有时候使用数据库远程连接工具连接MySQL的时候总是连接不上,确认过账号密码正确,端口telnet端口又是通的. Navicat Premium报错如下: 1130 - Host '19 ...
- Docker入门教程
一.入门介绍 Docker是一个开源引擎,类似于一个集装箱,开发者通过它可以为任何应用创建一个轻量级.环境无关可移植的容器.开发者在本地编译测试过的容器可以在不同的环境中部署. 通常适用于如下场景: ...
- div不固定高度垂直居中
父容器的css属性 display:table;overflow:hidden;子容器的css属性 vertical-align:middle;display:table-cell; <!DOC ...
- 读取Excel,单元格内容大于255个字符自动被截取的问题
DataSet ds = new DataSet(); cl_initPage.v_DeBugLog("ExcelDataSource进入"); string strConn; s ...
- Matlab_spectrogram_短时傅里叶分析_实现与讨论
在语音与音乐处理过程中,常用到短时傅里叶变换(Short Time Fourier Transformation, STFT).在一些学习路径中,STFT也是学习小波之前的预备知识.本文简单实现了 M ...