`
鬼辅神攻
  • 浏览: 20802 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Unload table data to unl files (Oracle)

 
阅读更多
#!/bin/ksh

###############################################################
##  Use    : Unload the table data to unl format
##  Usage  : Put the table names in tables.txt and call the script
###############################################################


############# Usage ##########################
if [ $# -ne 3 ]
then
echo "Usage: $0 username password oracleServiceName"
exit 1
fi


#set the parameters
username=$1
password=$2
servicename=$3

#Check the connection
sqlplus -S ${username}/${password}@${servicename} > connection.log <<EOF
EOF

isError=`grep -i "ERROR" connection.log | wc -l`

#If error exit the script
if [ $isError -ne 0 ]
then
echo "Oracle connection Failed!!! "
cat connection.log
rm -f connection.log
exit 1
fi


### Unload Function #########
unloadData() {
if [ $# -eq 0 ]
then
return
fi
sqlplus -S ${username}/${password}@${servicename} <<EOF >>/dev/null
set head off;
set feed off;
spool on;
spool result.txt;
${1}
spool off;
EOF

#Remove Blank Lines and SQL prompts from the output
awk 'NF!=0 && $0!~/SQL/ { print $0 }' result.txt > queryResult.txt
rm result.txt
return
}


#Check if tables.txt exist or not
if [ ! -f tables.txt ]
then
echo "tables.txt file does not exit. Please put the tablenames in tables.txt"
exit 1
fi

sed -i y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ tables.txt

#Read the Tables
for tablename in `cat tables.txt`
do
#Get the columns
unloadData "select column_name from COLS where table_name = '${tablename}';"
mv queryResult.txt columnName.txt

sqlQuery=""

#For the SQLQuery to unload as unl
for columnname in `cat columnName.txt`
do
if [ "${sqlQuery}x" == "x" ]
then
sqlQuery="select ${columnname}"
else
sqlQuery="${sqlQuery}||'|'||${columnname}"
fi
done

sqlQuery="${sqlQuery} from ${tablename};"

unloadData "${sqlQuery}"

mv queryResult.txt ${tablename}.unl
done
分享到:
评论

相关推荐

    oracle恢复工具-FY_Recover_Data

    15:33:19: [restore_table] Trying to restore data to SYS.TRUNTAB1$$2 15:33:20: [restore_table] Expected Records in this round: 411 15:33:20: [restore_table] 411 records recovered 此处省略N行输出.....

    dul无法加载bootstrap实现unload table/user恢复

    标题:dul无法加载bootstrap实现unload table/user恢复 作者:惜分飞 最近有朋友误操作引起了非常大的事故,差点吃了官司.在做数据库迁移的时候,远程误操作删除了原库的system等几个数据库初始安装的文件,而且该磁盘...

    Expert Oracle Database Architecture 3rd

    Speed access to data through table and index design Manage files and memory structures for performance and reliability Scale up through partitioning and parallel processing Load and unload data to ...

    Unload data into CSV file(a delimited file) under DB2 ZOS

    FROM TABLE TABLE.NAME (COLUMN1 POSITION(*) ,COLUMN2 POSITION(*) ,COLUMN3 POSITION(*) ,COLUMN4 POSITION(*) ,COLUMN5 POSITION(*)) ``` 上述 JCL 脚本中,UNLOAD 命令用于卸载数据到 CSV 文件。DELIMITED 选项...

    Apress.Expert.Oracle.Database.Architecture.2nd.Edition

    * Speed access to data through table and index design * Manage files and memory structures for performance and reliability * Scale up through partitioning and parallel processing * Load and unload...

    oracle安装卸载和导入导出数据

    ### Oracle 10g for Windows 安装与配置详解 #### 一、Oracle 10g for Windows 的安装环境需求 在安装Oracle 10g for Windows之前,确保满足以下环境要求: - **操作系统**: Windows Server 2003 SP2 - **内存**:...

    oracle 90条基本语句

    SQL&gt; RMAN&gt; { RUN { UNLOAD DATABASE KEEP DATAFILES; } } ``` ### 3. 创建数据库 (Create Database) 在Oracle中创建数据库涉及多个步骤,包括定义数据文件和日志文件的位置及大小等。示例代码为: ```sql CREATE ...

    神州数码ORACLE SQL讲义.pptx

    Oracle SQL 讲义笔记 本资源为 Oracle SQL 讲义,涵盖了 SQL 的基本概念、数据类型、表操作、数据...* UNLOAD 语句:用于将数据从数据库中 unload 到文件中,例如:UNLOAD TABLE dpe_file INTO OUTFILE 'data.txt';

    ODU在ORACLE数据库中的应用.pdf

    ODU(Oracle Data Unloader)是一款专门用于 Oracle 数据库紧急恢复的软件工具。它可以直接从数据文件中解析和恢复数据,最大限度地保障数据安全。下面是 ODU 在 Oracle 数据库中的应用知识点: ODU 工具的特点 1....

    三中数据库的常规操作DB2,Informix,Oracle

    4. 备份表数据:`unload to &lt;File.unl&gt; select * from &lt;Table&gt;`。 5. 恢复表数据:`load from &lt;File.unl&gt; insert into &lt;Table&gt;`。 6. 查看数据库运行状态:`onstat –`检查数据库状态,`onstat –g ses`查看会话。...

    oracle导出txt文件方法

    sqlplus -s $DB_USER/$DB_PWD@$DB_SERV @unload_oracle.sql ``` 其中 unload_oracle.sql 文件内容为: ``` SET TIME OFF SET ECHO OFF SET HEAD OFF SET NEWPAGE NONE SET HEADING OFF SET SPACE 0 SET PAGESIZE 0...

    ORACLE外部表学习笔记

    然后,使用ORACLE_DATAPUMP驱动方式创建一个新的表`t_images_unload`,该表用于存储卸载的数据。其定义如下: ```sql CREATE TABLE t_images_unload ORGANIZATION EXTERNAL ( TYPE oracle_datapump DEFAULT ...

    gbase8s 数据库数据的导入和导出.doc

    gbase8s 数据库数据的导入和导出 ...其中 Column_options 用于定义外部表的字段属性,Datafiles 用来指定 external table 对应在磁盘上的多个文件或者 pipe 信息,Table_options 控制属性,如分隔符。

    oracle SQL讲义

    10. **Oracle Function**:Oracle提供了许多内置函数,如TO_DATE, TO_CHAR, NVL等,用于数据转换和处理。 11. **LOAD, UNLOAD指令**:用于导入和导出数据,通常使用SQL*Loader(LOAD)和Export/Import utilities...

    使用java连接数据库按需生成oracle卸数装数的control、selectSQL、建表ddl语句等文件

    首先,我们需要了解Oracle的卸载(UNLOAD)和装载(LOAD)过程。在Oracle中,DBMS_METADATA和DBMS_DATA_PUMP是两个常用的包,用于数据的导出和导入。控制文件(CTL)记录了数据装载的过程,包括数据源、目标、表名等...

    如何把ORACLE的查询结果输出成TXT文件

    例如,`grant read,write on directory unload_dir to` 将授予 unload_dir 目录的读写权限。 输出 ORACLE 查询结果到 TXT 文件需要设置多个参数,包括设置每行的字符数目、每页输出的行数、列的设置、禁止输出列...

    SN75LVDS83b

    SN75LVDS83B是一款由德州仪器(Texas Instruments)生产的TTL到低电压差分信号(LVDS)转换器。在电子工程领域,这种芯片被广泛用于高速数据传输,因为它能提供低噪声、低功耗以及高数据速率的性能。...

Global site tag (gtag.js) - Google Analytics