详细介绍
gdul for window
GDUL是老耿开发的一款类dul工具,当数据库由于某种原因无法打开时,可以利用GDUL把表数据直接读取出来。 导出表之前需要先配置数据文件列表、ASM磁盘列表等,然后才能导出表数据。
GDUL是老耿开发的一款类dul工具,当数据库由于某种原因无法打开时,可以利用GDUL把表数据直接读取出来。 导出表之前需要先配置数据文件列表、ASM磁盘列表等,然后才能导出表数据。
1. 配置GDUL
PeOny支持各Linux/Unix平台和Windows平台,以下步骤适用于数据库可以MOUNT的情况:
1) Unix/Linux平台配置
解压缩gdul<版本号>.tar.gz文件,bin_file中包含各Unix、Linux平台gdul可执行文件,osetup为初始配置程序。
文件清单:
| 文件名 | 说明 |
gdul | gdul可执行文件, 使用时请ln -s bin_file/gdul_<平台> gdul建立符号链接。 |
osetup | 初始化程序,配置ASM磁盘、数据文件列表。 |
配置步骤:
| 1. 设置正确的ORACLE_HOME, ORACLE_SID $export ORACLE_HOME= $export ORACLE_SID= $echo $ORACLE_HOME $echo $ORACLE_SID |
| 2. 运行osetup $./osetup 说明:该程序创建conf, dict, dump, log目录,并生成配置文件、数据文件、ASM磁盘列表文件。 |
| 3. 启动gdul ********************************************************************* GDUL for ORACLE DB. Version 4.6.0.5, build date: 2016.09.30. Copyright (c) 2007, 2016. Andy Geng. ALL RIGHTS RESERVED. Email: dbtool@qq.com WeChat official account: dbtool QQ group: 235019291 ********************************************************************* GDUL> bootstrap Bootstrap finish. |
2) Windows平台配置
文件清单:
文件名 | 说明 |
gdul.exe | gdul可执行文件。 |
注意:
1. gdul只支持64位操作系统。
2. Windows下无法执行osetup脚本,需要手工创建目录和conf/下的配置文件。
配置步骤:
1.手工创建目录和配置文件 1)创建gdul.ini 注意:需要更改db_compat_version为当前数据库版本,注意12c及以上版本需要指定详细版本号,如12.1.0.1,请参见sqlplus -v输出。
2)创建datafile.ini SQL语句: 文件最终格式如下: 3)创建asmdisk.ini SQL语句: 文件最终格式: |
| 2. 启动gdul ********************************************************************* GDUL for ORACLE DB. Version 4.6.0.5, build date: 2016.09.30. Copyright (c) 2007, 2016. Andy Geng. ALL RIGHTS RESERVED. Email: dbtool@qq.com WeChat official account: dbtool QQ group: 235019291 ********************************************************************* GDUL> bootstrap Bootstrap finish. |
3) 配置文件说明
osetup会生成conf/gdul.ini配置文件,参数说明如下:
参数 | 描述 | 取值范围 | 默认值 |
db_compat_version | 数据库版本 | sqlplus -v输出 | 11.1.0.0 |
db_block_size | 默认数据块大小 | 4096 | 8192 |
file_raw_offset | 默认文件头偏移量,仅适用于AIX | 0或4096 | 0 |
reverse_byte | 读取不同CPU平台的数据文件 | false, true | false |
export_format | 导出数据格式 | SQLLDR | EXPDP |
ldr_enclose_char | 文本方式导出时,字段分隔符 | ascii字符 | | |
trace_block | 导出时跟踪块 | false, true | false |
2. 导出表数据
| 1)获取数据字典 $./gdulGDUL> bootstrap Bootstrap finish. |
| 2)导出单张表 GDUL> unload table andy.t_blob 2019-01-20 11:57:02...unloading table T_BLOB 2 rows unloaded. |
| 3)导出用户下所有表 GDUL> unload user andy parallel 3 Unloading ANDY's tables, total cnt: 8 [00] 2019-01-20 11:57:00 unloading table t_lower... [02] 2019-01-20 11:57:00 unloading table T_TEST2... [01] 2019-01-20 11:57:00 unloading table T_TEST1... [02] 2019-01-20 11:57:00 table T_TEST2 unloaded 0 rows. [02] 2019-01-20 11:57:00 unloading table T_PART1... [00] 2019-01-20 11:57:00 table t_lower unloaded 1 rows. [00] 2019-01-20 11:57:00 unloading table T_VARCHAR... [01] 2019-01-20 11:57:00 table T_TEST1 unloaded 1 rows. [01] 2019-01-20 11:57:00 unloading table T_TEST_PK... [01] 2019-01-20 11:57:00 table T_TEST_PK unloaded 0 rows. [01] 2019-01-20 11:57:00 unloading table T_NUM3... [00] 2019-01-20 11:57:00 table T_VARCHAR unloaded 7 rows. [02] 2019-01-20 11:57:00 table T_PART1 unloaded 86324 rows. [01] 2019-01-20 11:57:00 table T_NUM3 unloaded 0 rows. [01] 2019-01-20 11:57:00 unloading table T_TEST222... [01] 2019-01-20 11:57:00 table T_TEST222 unloaded 0 rows. Finished. |




