Chinaunix首页 | 论坛 | 博客
  • 博客访问: 691597
  • 博文数量: 219
  • 博客积分: 4813
  • 博客等级: 上校
  • 技术积分: 2359
  • 用 户 组: 普通用户
  • 注册时间: 2005-10-31 21:54
个人简介

All right, waiting for you to die, I'll laugh ...

文章分类

全部博文(219)

文章存档

2016年(4)

2014年(4)

2013年(4)

2012年(4)

2011年(49)

2010年(126)

2009年(6)

2008年(16)

2007年(4)

2006年(1)

2005年(1)

分类: Sybase

2007-06-30 11:25:12

转载:http://www.lslnet.com/linux/dosc1/02/linux-116511.htm
ASE 12.5 for LINUX 安装步骤

具体的请参照sybase 安装指南(中文版) Adaptive Server Enterprise
12.5 Linux/Intel.
本文参考了网上的好几家资料,感谢他们!
(一)  以root 登录:
创建sybase用户及用户组(useradd,groupadd或linuxconf)
mount CDROM
#mount /mnt/cdrom (#mount -t iso9660 /dev/cdrom /mnt/cdrom)


注意:在安装Sybase数据库前,首先备份/etc/ld.so.conf:
    cp /etc/ld.so.conf /etc/ld.so.conf.sybase


安装 SYBASE产品
(1)选用字符方式 (可做成shell)
  # rpm -ivh  /mnt/cdrom/RPMS/sybase-common-12.5-3.i386.rpm
  # rpm -ivh  /mnt/cdrom/RPMS/sybase-ase-12.5-3.i386.rpm
     # rpm -ivh  /mnt/cdrom/RPMS/sybase-chinese-12.5-3.i386.rpm
     # rpm -ivh  /mnt/cdrom/RPMS/sybase-monserver-12.5-3.i386.rpm
     # rpm -ivh  /mnt/cdrom/RPMS/sybase-openclient-12.5-3.i386.rpm
# rpm -ivh  /mnt/cdrom/RPMS/sybase-efts-12.5-3.i386.rpm
# rpm -ivh  /mnt/cdrom/RPMS/sybase-esql-12.5-3.i386.rpm
    # rpm -ivh   /mnt/cdrom/RPMS/sybase-sqlremote-7.0.2-1.i386.rpm  
(2)        更改sybase用户权限
安装完后,SYBASE自动设置好sybase用户帐号和环境变量,只要更改sybase用户的口令;
(3) 修改sybase对/tmp的目录访问
        #chmod o+wx /tmp
         为使得sybase重启动时能对/var/lock/subsys/sybase目录访问
           #chmod o+rwx /var/lock/subsys
(4) 改sybase用户环境变量
编辑用户登录文件:
例:bash 用户,编辑bash_profile文件
$ vi  .bash_profile  
  DSQUERY=www
  LANG=us_english
              export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
     把  $SYBASE/install加入到PATH
(5)创建ASE Server前的准备工作
操作系统共享内存缺省值,对于大多数 Linux 版本为 32MB。
Adaptive Server 的最小要求为 64MB。要调优每个请求堆的最大
共享内存段的大小,请转至 /proc 目录。检查可用的操作系统的
大小。
# ipcs -lm | grep ’max seg size’
max seg size (kbytes) = 32768
为操作系统共享内存参数选择新的大小。例如,要将共享内存更改
为 512MB,可以输入:
#echo ’512 * 1024 * 1024’|bc >
proc/sys/kernel/shmmax
检验该更改是否生效:
# ’pcs -lm | grep ’max seg size’
max seg size (kbytes) = 524288

若要避免每次重新启动后必须进行此更改
修改/etc/sysctl.conf文件,会后一行加入kernel.shmmax=128*1024*1024(128M)内存数(以字节为单位).
(6)      在安装Sybase数据库前,首先备份/etc/ld.so.conf:
cp /etc/ld.so.conf /etc/ld.so.conf.sybase
原因请参考其他资料
(7) SYBASE 注册
用sybase用户登陆
$ /opt/Sybase-12.5/SYSAM/bin/startd.sh $SYBASE/SYSAM
$ cd /opt/Sybase-12.5/SYSAM
$ lmgr
输入:
• 序列号
• 功能名
• 功能计数
• 软件版本
• 授权代码
Adaptive Server 软件包中提供的认证信息,打印在“Sybase 软件资
产管理认证”中。
输入了全部许可证以后,单击“完成”!
(windows2k中的认证信息应该也可以用在sybase12.5 for linux, 大家可以试一下 )
检验软件是否在运行:
当lmgrd 守护程序启动时,它将自动启动SYBASE守护程序。要检验许可
证管理软件是否运行在系统上。使用:
$SYBASE/SYSAM-1_0/bin/lmutil lmstat -c
继续安装或启动 Adaptive Server 前,先确认 lmgrd 和 SYBASE 在运行,
即“up”。

注意:为了保证系统启动时启动SySAM(Sybase 软件资产管理器)许可机制
在:/etc/init.d/rc.local中加入:
/opt/Sybase-12.5/SYSAM/bin/startd.sh /opt/Sybase-12.5/SYSAM

(二) install ASE12.5
用sybase用户登陆(重现启动机器后)
(1) 选用字符方式
  --编辑源文件(/init/sample_resourde_files/srvbuild.adaptive_server.rs,  
  /init/sample_resourde_files/srvbuild.backup_server.rs)
  将源文件拷贝到备用目录/usr/中:
  $cp /init/sample_resourde_files/srvbuild.adaptive_server.rs /usr/ase.rs
  $cp /init/sample_resourde_files/srvbuild.adaptive_server.rs /usr/backup.rs
        编辑ase.rs,backup.rs  
  --运行源文件
  $ cd /opt/sybase-12.5/bin
  $srvbuildres -r  /opt/sybase-12.5 /usr/ase.rs
  $srvbuildres -r  /opt/sybase-12.5 /usr/backup.rs
  

(2)在X-Windows中使用asecfg工具配置ASE产品

1、用sybase用户登录X-Windows,执行sybase安装目录(/opt/sybase-12.5/bin/)
#asecfg
选择Build New Servers。

注意:运行asecfg , 可能会出现错误信息:
Error occurred during initialization of VM
Unable to load native library:
/opt/Sybase-12.5/jre/lib/i386
/libjava.so symbol _libc_wait, version GLIBC_2.0 not
defined in file libc.so.6 with link time reference
为了解决 _libc_wait 符号问题,从 http://metalink.oracle.com/ 下载补丁
p3006854_ 9204_LINUX.zip。
为了应用这个补丁,可以运行:
$su – root
#unzip p3006854_9204_LINUX.zip
#cd 3006854
[root@www 3006854]# ls
README.txt  rhel3_pre_install.sh
[root@www 3006854]# sh rhel3_pre_install.sh
或者
#rpm –ivh compat-libcwait-2.0-2.i386.rpm

2、在srvbuild窗口中,选择要安装Server类型。我把四种Server都选上。
3、给Server命名。我将Adaptive Server命名为www,相应地,Backup Server自动命名为www_back,Monitor Server命名为www_mon,XP Server命名为www_XP。点击OK按钮,进入各Server的配置过程。
4、配置Adaptive Server。填写或选择以下内容:
Master device path(主设备路径):$SYBASE/data/master.dat
Master device size(MB)(主设备大小):100
Master database size(MB)(主数据库大小):60
Sybsystemprocs device path(系统存储过程设备路径): $SYBASE /data /systemprocs.dat
Sybsystemprocs device size(MB)(系统存储过程设备大小):60
Sybsystemprocs database size(MB)(系统存储过程数据库大小):60
Error log path(错误日志路径):/opt/sybase-12.5/install/www.log
Transport type(传输协议类型):tcp
Host name(主机名):192.168.9.1
Port number(监听端口号):5000
点击OK按钮,进入下一配置过程。
5、配置Backup Server。填写或选择以下内容:
Error log path:/opt/sybase-12.5/install/www_back.log
Tape configuration file:/opt/sybase-12.5/backup_tape.cfg
Language:(不填)
Character set:(不填)
Maximum number of network connections:25
Maximum number of server connections:100
Transport type:tcp
Host name:192.168.9.1
Port number:5001
点击OK按钮,进入下一配置过程。  
6、配置Monitor Server。填写或选择以下内容:
Maximum number of connections:5
Error log path:/opt/sybase-12.5/install/www_mon.log
Configuration file path:/opt/sybase-12.5/install/www_mon.cfg
Share memory directory:/opt/sybase-12.5
Transport type:tcp
Host name:192.168.9.1
Port number:5002
点击OK按钮,进入下一配置过程。
7、配置XP Server。填写或选择以下内容:
Transport type:tcp
Host name:192.168.9.1
Port number:5003
点击Build Server按钮,开始创建Server,这时出现一个窗口,你可以看到整个创建过程。如果有显示以下类似信息,表示创建Server成功:
……
Server www was successfully created.
Done.
8、安装成功后要做的几件事。首先在Linux控制台模式下以sybase用户登录。
①确认Server是否在运行。使用$SYBASE/install/下的showserver或rc.sybase status命令($SYBASE表示sybase的安装目录),应该可看见系统有几个sybase相关进程。或者用$SYBASE/bin/下的 isql -Usa -P -Swww命令来登录Server,应该可以看见isql的提示符“1>”,再键入exit就可以退出了。
②设置sa帐户的口令。装好Server后,系统自动建立sa用户,即系统管理员,对整个系统拥有最大的权力,但这时sa的口令是空的,必须马上更改。
$SYBASE/bin/isql -Usa -P -Swww
1>sp_password null,新口令
2>go
③关闭主设备缺省状态。否则用户的数据库会安装在主设备上。
$SYBASE/bin/isql -Usa -Swww
Password:(输入新口令)
1>sp_diskdefault master,defaultoff
2>go
④rh的hosts文件default存储的主机名对应的都是127.0.0.1,这样就会产生sybase的用户无法通过网络连接的问题,只需要在hosts的第一行添加
         hostname   192.168.9.1就可,记住不可以在sybase运行时更改!还有就是注意firewall是否已经开放sybase端口(使用 setup,iptable更改)
⑤  有用户总是说isql在rh下一定要带-S参数的话是DSQUERY没有设定所致,只需要export DSQUERY=www可以添加到.profile!
9 、手工起动数据库
$SYBASE/install/startserver -f $SYBASE/install/RUN_www > /dev/null
$SYBASE/install/startserver -f $SYBASE/install/RUN_www_back >/dev/null
或$SYBASE/install/rc.sybase start
停止数据库
$SYBASE/install/rc.sybase stop
数据库状态查看
$SYBASE/install/rc.sybase status

注意:在RED HAT LINUX 9.0或fedora core 4中,由于我装的是默认中文(root用户),且语言只有中文zh_CN.GB18030/UTF-8,使得SYBASE 数据库起不来,提示环境变量中langue= zh_CN.GB18030或zh_CN.UTF-8在 $SYBASE/locales/locales.dat中不存在。 我在locales.dat中加了一行就好了,并做了相应的修改.
[linux]
locale = zh_CN.GB18030,us_english,cp850
locale = zh_CN.UTF-8,us_english,cp850
locale = ENGLISH, us_english, cp850
locale = en, us_english, cp850
locale = en_US, us_english, cp850
locale = us_EN, us_english, cp850
locale = C, us_english, cp850
locale=default,us_english,cp850


10 、设置语言 、字符和排序
安装完成后,回到sybsetup主窗口
选择Localize Adaptive Server,并选择Adaptive Server名称,按OK继续
选择安装语言为Us English,
字符集为Code Page 850,
排序方式为Altername dictionary sorting with case and accent insensitivity

运行$SYBASE/bin/sqlloc设置
Languages=“us_english”
Code =“cp850”
Sort order=“Altername dictionary sorting with case and accent insensitivity”
在客户端也要设置c:\sybase\locales\locales.dat中
[linux]最上和最下一行把iso_1 改成cp850这样一来,在客户端才能显示中文.

11、编辑并修改/opt/sybase-12.5/SYBSERVER.cfg
(其中SYBSERVER为SYBASE服务器名称)
max network packet size = 2048
default network packet size = 1024
number of user connections = 100
number of open indexes = 2000
number of open objects = 1000
number of locks = 150000

修正sybase 配置
用isql登陆
sp_configure “max mem”,100M
go
sp_cacheconfig  “default data cache”,“60M”
go
12、通过Sybase Central 连接到Adaptive Server
Sybase Central 提供了一个图形用户界面,在此可执行Adaptive Server 管
理任务。Sybase Central 界面非常类似于Windows资源管理器,所有服务
器的分层列表在左窗格中显示,选定服务器的细节信息显示在右窗格。
要选择一个服务器,用鼠标在左窗格中单击它即可。
若要启动 Sybase Central:
$SYBASE/sybcent32/scjview
在左窗格中,单击要连接的服务器。
“登录”窗口中,输入系统管理员的用户名和口令。
必须以系统管理员登录来.

注意:运行bash-3.00$ ./scjview  出错信息如下:
\nStarting Sybase Central Java Edition (displaying to ) ...\n
/opt/sybase-12.5/shared-1_0/jre-1_1/lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (libzip.so)
Unable to initialize threads: cannot find class java/lang/Thread
Could not create Java VM
mv: cannot stat `/tmp/scj_7784.log': No such file or directory
\n
The following error(s) occured while running Sybase Central
-----------------------------------------------------------
cat: /tmp/scj_error.log: No such file or directory
\nError(s) have been written to the file: /tmp/scj_error.log\n
解决方法: vi $SYBASE/.profile 加入:
#如果核心是2.6.*以上,把LD_ASSUME_KERNEL设成2.4.19
           export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
然后./scjview 后:
注册ase插件: $SYBASE/ASEP-1_0/ASEPlugin.jar后,就可以管理数据库了,可以配置和创建数据库!
13、创建数据库
①创建数据库设备(Device):Sybase的数据库和事务日志都是建立在数据库设备上的,它可以是物理磁盘、磁盘分区或操作系统文件。使用disk init命令建立数据库设备,使用diskdefault命令指定缺省数据库设备,并且可以指定多个缺省数据库设备。建立数据库时不指定数据库设备,则在 缺省数据库设备上建立。例如执行命令:
$SYBASE/bin/isql -Usa -Swww
Password:(输入口令)
1>disk init name = "userdev", &&设备名字为userdev
2>physname = "/db/sybsystem/userdev.dat", &&设备文件名为userdev.dat
3>vdevno = 3, &&设备号为3
4>size = 51200 &&大小为100M(51200块,1块=2k)
5>go
1>sp_diskdefault userdev,defaulton &&指定为缺省数据库设备
2>go
②创建数据库(Database)例子:
1> disk init
2> name = "branch60",
3> physname = "/opt/sybase-12.5/data/branch60.dat",
4> vdevno = 4,size = 102400 (200M)
5> go
-----------------
1> disk init
2> name = "branch60_log",
3> physname = "/opt/sybase-12.5/data/branch60_log.dat",
4> vdevno = 5,size = 51200 (100M)
5> go
---------------------------------------
1>create database branch60
2>on branch60 = 200
3>log on branch60_log = 100
4>go
CREATE DATABASE: allocating 102400 logical pages (200.0 megabytes) on disk
'branch60'.
CREATE DATABASE: allocating 51200 logical pages (100.0 megabytes) on disk
'branch60_log'.

(三)安装语法数据库和示例数据库
先建立一个放置语法数据库和示例数据库的数据库设备,大小为10M,并设置为缺省状态。
$SYBASE/bin/isql -Usa -Swww
Password:(输入口令)
1>disk init name = "sybsyntaxdev",
2>physname = “/db/sybsystem/sybsyntaxdev.dat”,
3>vdevno =3,size = 5120
4>go
1>sp_diskdefault sybsyntaxdev,defaulton
2>go
1、安装sybsyntax语法数据库。这是通过$SYBASE/scripts/ins_syn_sql这个脚本文件来安装的。但 ins_syn_sql需要修改一下,去掉开头用来指定缺省数据库设备的一段语句,加入“create database sybsyntax”一句,然后执行以下命令:
$SYBASE/bin/isql -Usa -P口令 -Swww -i $SYBASE/scripts/ins_syn_sql
语法数据库安装好后,可用系统存储过程sp_syntax查询Transact-SQL语言、系统存储过程、Sybase工具的使用帮助。例如要查询select命令的用法:
$SYBASE/bin/isql -Usa -Swww
Password:(输入口令)
1>sp_syntax "select"
2>go
2、安装pubs2、pubs3示例数据库。技术文档中的例子就是来自示例数据库。执行以下命令:
$SYBASE/bin/isql -Usa -P口令 -Swww -i $SYBASE/scripts/installpubs2
$SYBASE/bin/isql -Usa -P口令 -Swww -i $SYBASE/scripts/installpubs3
(四)安装ASE补丁
据Sybase公司讲,EBF10492.tar.gz修正了ASE12.5最新已知的一些问题。
1、先关闭Server。
$SYBASE/install/rc.sybase stop 或
$SYBASE/bin/isql -Usa -Swww
Password:(输入口令)
1>shutdown www_back &&关闭Backup Server
2>go
1>shutdown &&关闭Adaptive Server
2>go
$SYBASE/bin/isql -Usa -P口令 -Swww_mon
1>sms_shutdown &&关闭Monitor Server
2>go
2、在Linux控制台模式下以root用户登录。
#mkdir /tmp/ebf &&建立放置补丁的临时目录
#mount -t iso9660 /dev/cdrom /mnt/cdrom &&装载光盘或者就拷到硬盘中
#cp /mnt/cdrom/EBF10492.tgz /tmp/ebf &&将补丁复制到临时目录
#cd /tmp/ebf
#tar -zxf  EBF10492.tar.gz
#rpm -ivh /tmp/ebf/ebf10492/RPMS/sybase-SWR-10492-1.i386.rpm
退出root用户登录,以sybase用户登录。由于打了补丁后数据库不能启动,需执行重新$SYBASE/install/sybinstalll.sh,重新设置sybase用户对$SYBASE的读写权限。
做一个shell脚本ebfsetup(根据ebf说明文件做下面的脚本)
#!/bin/sh
#filename : ebfsetup
#echo "setup sybase ebf10492.tar.gz..."
#rpm -ivh /tmp/ebf/ebf10492/RPMS/*.rpm
echo "start sybase"
$SYBASE/install/rc.sybase start
echo "sybase status"
rc.sybase status
echo "sybase install script...1"
isql -Usa -Ppassword -Stimes -n -i$SYBASE/scripts/installmaster -o m.txt
echo "sybase install script...2"
isql -Usa -Ppassword -Stimes -n -i$SYBASE/scripts/installcommit -o commit.txt
echo "sybase install script...3"
isql -Usa -Ppassword -Stimes -n -i$SYBASE/scripts/installdbccdb -o db.txt
echo "sybase install script...4"
isql -Usa -Ppassword -Stimes -n -i$SYBASE/scripts/installsecurity -o security.txt
echo "sybase install script...5"
isql -Usa -Ppassword -Stimes -n -i$SYBASE/scripts/instmsgs.ebf -o instmsgs.txt
echo "sybase install script.finish…."
3、以sybase用户登录,启动Adaptive Server。
$SYBASE/install/rc.sybase start 或
$SYBASE/install/startserver -f $SYBASE/install/RUN_www > /dev/null
$SYBASE/install/startserver -f $SYBASE/install/RUN_www_back > /dev/null

(五)
1、实现开机时自动装载Sybase数据库
原先要使Sybase SQL Server启动,一般需要先以sybase用户登录,
要实现linux系统启动时就能在后台装载Sybase的功能,我们可
$SYBASE/install /sybinstall.sh
#chkconfig sybase on
在/etc/rc5.d/S85sybase/etc/init.d/Sybase
相当:ln –sf  /etc/init.d/sybase /etc/rc5.d/S85sybase
再在服务中设为自启动就可以了
2、实现关机时自动卸载Sybase数据库
  为保证Sybase系统的正常运行,每次在关闭linux系统时要先结束Sybase SQL Server 的服务进程
#chkconfig sybase on 后,自动在/etc/rc0.d/K15sybase /etc/init.d/sybase
3、Sybase库备份技巧
  一般对Sybase库进行备份都用磁带作介质进行,但还有一更好的方法,即先备份到硬盘上然后经压缩,拷贝到磁带上,这样便于恢复,多了一个备份拷贝,同时也节省了备份时间。具体实现步骤如下:
  (1)建立磁盘备份设备
  运行isql,以sa进入Sybase系统,运行如下内容:
  sp_addumpdevice "disk",disk_bkupdevice ,/tmp/dumpdb ,2
  go
  这样就在Sybase中建立了一个名为“disk_bkupdevice”的备份设备,它对应Unix系统下的/tmp/dumpdb文件。
  (2)创建备份用户
  以root身份进入linux系统,新建用户backupdb,并归属于sybase组。
  (3)修改相关文件
  在/home/backupdb/.bash_profile中添加以下语句:
  SYBASE=/opt/sybase –12.5
  DSQUERY=www
  PATH=$PATH:$SYBASE/bin
  export SYBASE DSQUERY PATH
  rm /tmp/backupdb.Z
  echo"开始备份SYBASE数据库…"
  isql -Usa -Ppassword -ibackup.sql > /tmp/dbbackup.log
  echo"硬盘备份完成,正在压缩备份的数据文件…"
compress /tmp/backupdb
  echo "正在将备份的压缩数据拷入磁带…"
  tar c8v /tmp/backupdb.Z
  echo “备份完成!”
  其中“PASSWORD”为sa用户的口令,backup.sql是一简单的文本文件,内容如下:
  dump database db_main to disk_bkupdevice
  go

  备份的执行日志被记录在/tmp/dbbackup.log中,当然系统管理员也可通过查看$SYBASE/install/backup.log
获知备份日志。

  这种备份方法要求硬盘空间足够大,这点请系统管理员在为linux建分区时特别注意。

(4) 还有二种方法:
   (A)bcp备份
     备份目录是/export
    $SYBASE/bin/bcp  databasename..tablename –out /export/tablename.txt –Usa –Ppassword –Swww –c
    (B)dump备份
    isql –Usa –Ppassword –Swww  -ibackup.sql >/dev/null
Backup.sql:
Dump tran databasename  to “/export/db_log.dat“ with {no_log |truncate_only|no_truncate}
Go
Dump database databasename to “/export/db_1.1”
Stripe on “/export/db_1.2”
Stripe on “/export/db_1.3”
Go
Exit
关于定时备份
crontab 中可以这样写:
00 23 * * * /opt/Sybase-12.5/ASE-12_5/bin/DUMPDB.sh >>//opt/Sybase-12.5/ASE-12_0/install/DUMPDB.out

放那里都无所谓,一个dumpdb.sh的例子:
#rh linux
#!/bin/sh
export SYBASE_FTS=FTS
export SYBASE_OCS=OCS
export SYBASE_ASE=ASE
export SYBASE_SYSAM=SYSAM

export LM_LICENSE_FILE=${SYBASE}/${SYBASE_SYSAM}/licenses/license.dat:$LM_LICENSE_FILE
export LD_LIBRARY_PATH=${SYBASE}/${SYBASE_ASE}/lib:${SYBASE}/${SYBASE_FTS}/lib:${SYBASE}/${SYBASE_OCS}/lib:${SYBASE}/SQLRemote/lib:$LD_LIBRARY_PATH

export PATH="${SYBASE}/${SYBASE_ASE}/bin:${SYBASE}/${SYBASE_ASE}/install:${SYBASE}/${SYBASE_OCS}/bin:${SYBASE}/${SYBASE_SYSAM}/bin:${SYBASE}/shared/jre/bin:$PATH"
echo"开始备份SYBASE数据库…"
su - sybase -c "isql -Swww -Usa -P " < dump database branch60 to "/export/dump.01"
stripe on "/export/dump.02"
stripe on "/export/dump.03"
go
!
echo"硬盘备份完成,正在压缩备份的数据文件…"
compress /export/dump*
  echo “备份完成!”

这里是一个典型的脚本,用于实现full备份!
#!/bin/sh
# *************************************************************************
#for full backup after excuted dbcc operation
# *************************************************************************
export SYBASE_FTS=FTS
export SYBASE_OCS=OCS
export SYBASE_ASE=ASE
export SYBASE_SYSAM=SYSAM

LM_LICENSE_FILE=${SYBASE}/${SYBASE_SYSAM}/licenses/license.dat:$LM_LICENSE_FILE
export LM_LICENSE_FILE

LD_LIBRARY_PATH=${SYBASE}/${SYBASE_ASE}/lib:${SYBASE}/${SYBASE_FTS}/lib:${SYBASE}/${SYBASE_OCS}/lib:${SYBASE}/SQLRemote/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

PATH="${SYBASE}/${SYBASE_ASE}/bin:${SYBASE}/${SYBASE_ASE}/install:${SYBASE}/${SYBASE_OCS}/bin:${SYBASE}/${SYBASE_SYSAM}/bin:${SYBASE}/shared/jre/bin:$PATH"
Export PATH

dump="www"
ymd=`date +%y%m%d`
bk_db="branch60"
cd /export
#mkdir $ymd
LOG="/export/backup/$ymd"
#mkdir $LOG
#touch $LOG/backup.log
echo $ymd >$LOG/backup.log
echo "\n11*************************" >>$LOG/backup.log
echo "dbcc Check database $bk_db..." >>$LOG/backup.log
d1=`date`
su - sybase -c "isql -Swww -Usa -P "<$LOG/dbcc-$ymd.log 2>&1
go
dbcc checkdb($bk_db)
go
DBCC

echo “dbcc 完成!”

d1=`date`
echo $d1,`date` >>$LOG/backup.log
echo "\n22*************************" >>$LOG/backup.log
d1=`date`
dump_file="/export/backup/$dump-$ymd.dat"
echo "Dump database $bk_db to " $dump_file >>$LOG/backup.log
touch $LOG/dump-$ymd.log
echo"开始备份SYBASE数据库…"
su - sybase -c "isql -Swww -Usa -P " <$LOG/dump-$ymd.log 2>&1
dump database $bk_db to "$dump_file"
go
DUMP

#dump database yourdatabasename to "/export/backup/dump.01"
#stripe on "/export/backup/dump.02"
#stripe on "/export/backup/dump.03"
echo $d1,`date` >>$LOG/backup.log
echo "\n33*************************" >>$LOG/backup.log
echo “备份完成!”
请根据自身系统,调试后再使用!
至于备份日志的脚本与此类似,自己根据sybase的相关语法,稍加变动即可!


(5)恢复备份目录是/export
①bcp恢复$SYBASE/bin/bcp  databasename..tablename –in /export/tablename.txt –Usa –Ppassword –Swww –c -b
   ②load恢复
    $SYBASE/bin/isql –Usa –Ppassword –Swww  -irestore.sql >/dev/null
Restore.sql:
load database databasename from “/export/db_1.1”
Stripe on “/export/db_1.2”
Stripe on “/export/db_1.3”
Go
Online database databasename
go
Checkpoint
Go
Sp_dboption databasename,’single user’,false
Go
Use databasename
Go
Checkpoint
Go
Dbcc checkdb(databasename)
Go
注意:
Bcp脚本的产生: select.sql
Set nocount on
Use pubs2
Go
Select “bcp”+””+databasename+”..”+name+””+”-out” +””+”/path/”+name+”.txt”+”-Usa –Ppassword -Swww -c” from sysobjects where type=‘U’

Select “bcp”+””+databasename+”..”+name+””+”-in” +””+”/path/”+name+”.txt”+”-Usa –Ppassword -Swww –c -b” from sysobjects where type=‘U’

Isql –Usa –P –Swww –b –iselect.sql –o bcpout
Chmod +x bcpout
阅读(2721) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-08-01 04:34:14

SAP99,支持下,也欢迎访问我的博客, SAP资料多多 http://sap99.cublog.cn 完整的一个SAP培训系列教材,中文E文的都有部份, 一共679多M,涉及SAP的多个模块 地址:http://www.sap99.com/Soft/VIP/200807/64.html