`
扬州老鬼
  • 浏览: 305878 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Sybase 数据库表数据备份shell脚本

阅读更多
这两天写了一个灵活一点的使用bcp命令针对Sybase IQ数据库的表数据的备份。
问题是,能够导出数据,但是不能将bcp文件导入到数据库中,后来才知道,Sybase IQ不建议使用bcp命令来导出数据,其他数据库比如ASE就支持bcp,使用的时候请把连接工具iqisql换成数据库支持的工具,比如(ASE就好像支持isql)。
作孽啊,不过还是将shell脚本贴出来。
cd /home
mkdir -p bcpdata
cd bcpdata
dbname=**** //这里配置一下就OK:数据库命名
username=**** //数据库用户名
filename=tables_`echo $dbname`_`echo $username`.tmp//根据数据库、用户名生成tmp文件
iqisql -Udba -Psql -S`echo $dbname` -o`echo $filename` <<EOF //这里使用iqisql 连接数据库,对于Sybase其他类型数据库 请用对应的命令行工具比如isql
USE `echo $dbname` 
GO
SELECT name FROM sysobjects WHERE type='U' and uid=user_id('`echo $username`')  ORDER BY name //这里可以需要修改,最终只需要[color=red]一个表名[/color]就行。
GO
exit
EOF
vi $filename 2>/dev/null <<EOF
:1,2 d
:\$
:-2,. d 
:1,\$ <<<
: x
EOF  //这段代码是对上面tmp文件进行清洗,最后文件中就是干净的表名
total=`cat $filename| wc -l`
current=0
for table in `cat $filename`
do
current=`expr $current + 1`
echo "*** $current/$total bcpout $table ***"
$SYBASE/OCS-15_0/bin/bcp  `echo $dbname`.`echo $username`.$table out `echo $dbname`.`echo $username`.$table.bcp -Udba  -Psql -S`echo $dbname`  -c //bcp备份,并生成以:数据库.用户名.表名.bcp命名的文件
echo "*** $table done ***"
done
tar cvf `echo $dbname`_`echo $username`_`date +%C%y%m%d-%H%M%.S`.tar `echo $dbname`.`echo $username`*.bcp //打包
rm *.bcp 
rm $filename



导入的时候,很简单直接
使用bcp table_name (这里的table名要指定数据库名、用户名即dbname.username.tablename)  in filename  -Udba  -Psql -Sdbname  -c  (这个c就是character的意思,表示按照字符来进行导出、或导入)
0
0
分享到:
评论

相关推荐

    sybase 12.5 数据库快速参考手册

    - **UNIX平台**:通过shell脚本启动或关闭数据库服务。 ##### 2.6 使用交互式管理工具 isql isql 是一个命令行工具,用于执行SQL命令和存储过程。 ##### 2.7 安装 OpenClient OpenClient 是一套用于连接Sybase...

    sybaseiq数据库迁移实例.pdf

    1.3 **采用操作系统直接输出到当前运行端**:通过操作系统命令(如shell脚本)来完成数据导出,适用于需要结合操作系统功能的情况。 1.4 **采用BCP程序批量导出**:BCP(Bulk Copy Program)是Sybase提供的一个实用...

    Sybase-ASE-shell-Script

    7. **Shell脚本与Sybase ASE的交互:** 如何通过Shell脚本调用存储过程,处理查询结果,以及在数据库操作和系统操作之间传递数据。 8. **安全和权限管理:** 在Shell脚本中设置合适的用户权限,确保对数据库的操作...

    Centos 安装sybase ASE-15 详细操作步骤

    总结一下,安装Sybase ASE 15在CentOS上涉及多个步骤,包括系统更新、安装依赖、运行安装脚本、配置实例、初始化数据库和设置服务启动。每个环节都需要细心操作,确保所有必需的组件都已就绪,才能确保安装的顺利...

    sybase安装图解for linux

    了解 Sybase 数据库的备份和恢复机制至关重要,通常采用 `dump` 方法进行备份。 - **备份**:使用 `dump` 命令对数据库进行备份。 - **恢复**:通过 `restore` 命令恢复数据库。 #### 八、重启服务器检查设置 ...

    SQL Server 初级最全面知识点

    另外,使用T-SQL语句(如xp_cmdshell)可以执行操作系统命令,如删除目录或创建目录,这在数据库维护和自动化脚本中非常有用。 总的来说,SQL Server初级知识涵盖数据库的基础概念、数据库的创建和管理、数据查询...

    SYBASE ASE 15.0-配置指南-Unix

    - **运行安装脚本**: 使用shell脚本执行安装过程,根据提示完成配置选项的选择。 - **初始化数据库**: 创建新的数据库实例,并进行基本的配置设置,如选择时区、设定密码策略等。 ##### 3. 配置优化 - **性能调优*...

    Sybase SQL Studio 6.0.3程序员指南

    在管理和维护方面,SQL Studio提供了全面的工具,包括数据库备份、性能监控、安全性设置以及通过Tcl或SQL Shell(SQSH)进行脚本化的任务自动化。同时,对于数据库管理员(DBA)来说,理解SQLJ(SQL in Java)和PHP...

    详细讲解西软FOXHIS增量备份与恢复方法

    - **设置sybase数据sp_dboption参数**:确保增量备份可以在数据库在线状态下使用。 ##### 2. SQL脚本与shell脚本设置 - **创建脚本文件夹**:使用`mkdir`命令在`/home/sybase`目录下创建脚本文件夹。 - **编写shell...

    DATASTAGE培训文档

    传统数据整合依赖大量手工编码,如存储过程、Pro*C、Shell脚本等,不仅耗时且易出错。DataStage的出现,大幅减少了手动编码需求,同时提升了数据整合的效率与可维护性。其核心功能在于从多样化的数据源中抽取数据,...

    sybadmin-开源

    1. 定期备份:脚本可以设置定时任务,自动备份数据库,确保数据安全。 2. 快速恢复:在数据丢失或系统故障时,利用备份脚本进行快速恢复。 3. 性能监控:监控ASE服务器的CPU使用率、内存占用、磁盘I/O等,及时发现并...

    oracle 学习笔记.doc

    Oracle数据库是全球广泛使用的数据库产品之一,由Oracle公司开发,其竞争对手包括IBM的DB2、Sybase ASE和Informix等。Oracle提供了全面的解决方案,包括RDBMS(关系型数据库管理系统)、中间件、Application Server...

Global site tag (gtag.js) - Google Analytics