【技术支持】开发人员从客户数据库环境中导出数据用户测试的几种方法途径
2016-09-29 16:07
756 查看
以下是一些批量导出的方法:
1、客户是oracle数据库,使用exp/imp导出全量库。
说明:
1)username1是客户提供的仅有访问权限的用户,username2才是所有者。
2)username1必须具有exp_full_database权限。
3)可以在一台跳板机上执行,只需要详细设置好上述命令的ip和port即可。
4)在linux系统的oracle用户下执行,file和log如果没有设置路径,在保存在oracle用户的家目录下。
2、导出指定表的部分数据。
一般情况下,客户会提供仅有访问权限的用户来访问他们的生产数据库,而且此用户没有exp导出权限,而且鉴于信息安全只能导出部分记录,而且表中含有复杂数据类型无法使用plsql的数据导出功能,那就要使用到spool了。
1)登录到各个DB中,使用如下命令查找库下所有的用户。
2)将查询结果导出到excel中,使用分列功能进行处理,以便单独获取到username列的数据。一般会先过滤掉oracle系统默认用户(过滤方法可自行搜索excel功能)
3)利用excel将如下查询语句和username列的所有数据进行拼接,形成如下样式(最后一列是拼接的结果):
4)在plsql的command模型下执行
a)spool E:\tables-ip-sid.csv
b)复制以上表格拼接后的结果,会自动执行
c)spool off
这样就能在E盘下找到一个输出某一db下的所有用户的表的csv文件。
5)使用类似第3)步的方法将以下查询语句和表名进行拼接,形成如下样式:
PS:因为没有字符串,所有没有使用另外的单元格拼接,但是要注意空格。
6)同样使用类似4)的方法,在plsql的command模型下执行spool,输出E:\datas-ip-sid.csv。
以上就能获取到每张表的前20条记录了。
1、客户是oracle数据库,使用exp/imp导出全量库。
# exp username1/userpwd@ip:port/tnsname file=bak-ip-sid-owner.dmp log=bak<span style="font-family: Arial, Helvetica, sans-serif;">-ip-sid-owner</span><span style="font-family: Arial, Helvetica, sans-serif;">.log owner=username2 rows=y direct=y; </span>
说明:
1)username1是客户提供的仅有访问权限的用户,username2才是所有者。
2)username1必须具有exp_full_database权限。
3)可以在一台跳板机上执行,只需要详细设置好上述命令的ip和port即可。
4)在linux系统的oracle用户下执行,file和log如果没有设置路径,在保存在oracle用户的家目录下。
2、导出指定表的部分数据。
一般情况下,客户会提供仅有访问权限的用户来访问他们的生产数据库,而且此用户没有exp导出权限,而且鉴于信息安全只能导出部分记录,而且表中含有复杂数据类型无法使用plsql的数据导出功能,那就要使用到spool了。
1)登录到各个DB中,使用如下命令查找库下所有的用户。
select * from all_users;
USERNAME | USER_ID | CREATED | |
SYSTEM | 1 | 2013/7/23 15:28 | |
SCOTT | 11 | 2013/7/23 15:28 | |
HR | 32 | 2013/7/23 15:28 |
3)利用excel将如下查询语句和username列的所有数据进行拼接,形成如下样式(最后一列是拼接的结果):
select * from all_tables t where t.owner = upper(trim(' | SYSTEM | ')); | select * from all_tables t where t.owner = upper(trim('SYSTEM')); |
select * from all_tables t where t.owner = upper(trim(' | SCOTT | ')); | select * from all_tables t where t.owner = upper(trim('SCOTT')); |
select * from all_tables t where t.owner = upper(trim(' | HR | ')); | select * from all_tables t where t.owner = upper(trim('HR')); |
a)spool E:\tables-ip-sid.csv
b)复制以上表格拼接后的结果,会自动执行
c)spool off
这样就能在E盘下找到一个输出某一db下的所有用户的表的csv文件。
5)使用类似第3)步的方法将以下查询语句和表名进行拼接,形成如下样式:
select * from | 1-Jul | where rownum <= 20; |
select * from | A_BDQK | where rownum <= 20; |
select * from | A_WHGXLQRY | where rownum <= 20; |
6)同样使用类似4)的方法,在plsql的command模型下执行spool,输出E:\datas-ip-sid.csv。
以上就能获取到每张表的前20条记录了。
相关文章推荐
- 功能齐全、效率一流的免费开源数据库导入导出工具(c#开发,支持SQL server、SQLite、ACCESS三种数据库),每月借此处理数据5G以上
- 导出数据到Excel的几种方法
- datagrid数据导出到excel文件给客户端下载的几种方法 (转)
- 【转贴】datagrid数据导出到excel文件给客户端下载的几种方法
- datagrid数据导出到excel文件给客户端下载的几种方法 (转)
- datagrid数据导出到excel文件给客户端下载的几种方法
- 导出lotus用户的方法(用asp技术)
- 导出数据到Excel的几种方法
- datagrid数据导出到excel文件给客户端下载的几种方法
- 导出数据到Excel的几种方法
- 数据库应用程序开发中图像数据的存取技术
- datagrid数据导出到excel文件给客户端下载的几种方法 (转载)
- datagrid数据导出到excel文件给客户端下载的几种方法(转)
- (原创)datagrid数据导出到excel文件给客户端下载的几种方法
- DataGrid数据导出到excel文件给客户端下载的几种方法
- Oracle 9i 数据库 数据导入和导出的最简单的方法
- datagrid数据导出到excel文件给客户端下载的几种方法
- 总结一下最近一段时间导出数据到Excel的几种方法
- 导出数据到Excel的几种方法
- (原创)datagrid数据导出到excel文件给客户端下载的几种方法