sybase数据库

回复 收藏
本帖最后由 lqph3387 于 2011-1-10 09:27 编辑

Sybase 是与 Oracle 并驾齐驱的数据库产品,在企业平台上有较多的应用.前几天,我为安装和配置Sybase 花费了很多时间过程记录下来,以供大家参考

一、软件的版本。操作系统为Centos5.4,内核版本是2.6.18。Sybase 版本是ase1253esd1xe_linux,从www.sybase.com上可以下载。这个版本不需要许可,可免费使用。

二、安装操作系统。centos的安装相对于红帽子来说差不多,因此大部分的操作就是用鼠标点击“下一步”,然后只需漫长的等待就可以完成安装。

三、系统基本配置。1 设置好网络参数,如果有不正确的地方,修改文件 /etc/sysconfig/network-scripts/ifcfg-eth0,有时在安装过程中设定的默认网关不生效,就可以在这个文件加入一行 GATEWAY=202.108.93.254 //应根据自己的实际情况设定。
                2 设定主机名。由于sybase需要以主机名来定义sybase的服务名称(如RUN_hostname),因此取一个简单的名字也是有必要的。通过修改文件 /etc/hosts 来达到目的,我的样本文件如下
[root@sybase root]# vim /etc/hosts

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
202.108.93.200          sybase  //这行是加上去的
待sybase安装配置完后,sybase 的主服务器名称将变成 RUN_SYBASE的样子。
              3 添加用户sybase,这个用户用来安装、配置和运行sybase数据库服务器。为安全起见,不建议使用root来安装、配置和运行sybase服务器。添加用户的命令如下:
[root@sybase /]# useradd –d /opt/sybase sybase  //指定sybase 用户的主目录
[root@sybase /]#passwd sybase   //给用户sybase设置密码
Changing password for user sybase.
New password:mygod           //密码为  mygod ,显示为星号。
Retype new password:mygod     //再输一次

  四、下载sybase安装文件ase1253esd1xe_linux.tar.gz,创建目录 /tmp/sybase,把文件ase1253esd1xe_linux保存在这个目录,而后解压该文件,解压结束后,修改目录/tmp/sybase的权限,使用户sybase可以读和执行/tmp/sybase目录下的文件。操作过程如下:
[root@sybase /]#mkdir /tmp/sybase
访问 www.sybase.com, 把文件ase1253esd1xe_linux.tar.gz保存在目录 /tmp/sybase
[root@sybase /]#cd /tmp/sybase
[root@sybase /]#tar –zxvf  ase1253esd1xe_linux.tar.gz  //解压文件
[root@sybase /]chmod –R 755 /tmp/sybase  //改变文件权限,以便于用户//sybase有权限读取和执行相
//关文件   

五、安装、配置sybase服务器。切换到sybase用户, 接着转换目录到 /tmp/sybase,执行安装脚本setup,片刻出现图形安装向导,选择安装语言,一路点击”next”按钮,直到开始复制文件;当文件复制完毕时,紧接着就需要点击 “next”进行配置服务器了。但是请注意,不要急于执行这个操作 ,暂时停下来,再开一个终端窗口,修改sybase用户的环境变量,就是把安装过程中生成的文件 /opt/sybase/SYBASE.sh的内容追加到文件 /opt/sybase/.bash_profile中,然后让这个环境变量生效。下面是操作汇总:
[root@sybase/]# startx          //启用xwindow
[root@sybase/]#xhost +        //允许用户使用xserver
[root@sybase/]# su sybase    //打开一个终端窗口,切换用户为sybase
[sybase@sybase sybase]$ cd /tmp/sybase    //转换目录
[sybase@sybase sybase]$ ./setup           // 运行sybase安装程序
[root@sybase/]# vi /opt/sybase/SYBASE.sh  //这个文件是安装sybase过程中
//自动生成的。把这个文件中的所//有内容复制到文件
// /opt/sybase/.bash_profile里。

[sybase@sybase sybase]$ cat /opt/sybase/.bash_profile  //查看环境变量
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME                //上面是默认的值

#
# Sybase Product Environment variables   //从这儿起,是由SYBASE.sh复制过//来的
#
SYBASE="/opt/sybase"
export SYBASE
SYBASE_OCS="OCS-12_5"
export SYBASE_OCS
PATH="/opt/sybase/OCS-12_5/bin":$PATH
export PATH
LD_LIBRARY_PATH="/opt/sybase/OCS-12_5/lib:/opt/sybase/OCS-12_5/lib3p":
$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
INCLUDE="/opt/sybase/OCS-12_5/include":$INCLUDE
export INCLUDE
LIB="/opt/sybase/OCS-12_5/lib":$LIB
export LIB
SYBASE_JRE="/opt/sybase/shared-1_0/JRE-1_3"
export SYBASE_JRE
PATH="/opt/sybase/JS-12_5/bin":$PATH
export PATH
SYBASE_SYSAM="SYSAM-1_0"
export SYBASE_SYSAM
LM_LICENSE_FILE="/opt/sybase/SYSAM-1_0/licenses/license.dat"
export LM_LICENSE_FILE

[sybase@sybase sybase]$ source .bash_profile  //使sybase的环境变量立即生效
切换窗口到前面的图形安装向导,点击”Next”按钮执行下一步操作,就可以顺利完成配置。值得注意的是:如果环境变量不做处理,可以安装成功,但是配置服务器的时候就会毫无例外的失败,这是配置sybase的关键之处。还有一个地方值得注意,就是sybase服务的端口号,最好是把它记录下来,因为用客户端连的时候需要指明端口号(默认值大致为5000,备份服务器5001,监控服务器5002,xp服务器5003)。

六、sybase数据库的启动。配置完sybase后,安装的服务器都会自己启动。但是,大多数情况下,需要手工启动sybase..以sybase用户登陆系统,执行命令 /opt/sybase/ASE12_5/install/startserver启动sybase.

七、安装sybase客户端。为了方便的操作和维护sybase数据库,sybase公司提供了一个基于windows系统的客户端软件pcclinet_1253.zip,把它下载到windows的机器里,解压后安装即可。

八、从客户端连接sybase数据库服务器。在上面安装sybase客户端的windows 机器启动程序sybase central.

点击菜单项“连接”---“使用Adaptive Server Enterprise连接”,填写Server name,Host name,Port number,正确的话,很快就连上了,可以方便的添加数据库和表等各种操作了。
2011-01-07 17:30 举报
已邀请:
0

雷老师 管理员

赞同来自:

本帖最后由 lqph3387 于 2011-1-10 15:01 编辑

安装好sybase数据库服务器以后,没有什么比使用这个数据库最重要的事情了。

一、创建数据库
但是在开始之前,很有必要定义用户数据库所需要的存储区域,而不要在服务器默认的主设备(master)上创建用户数据库.

创建数据库设备:通过sybase安装过程创建了master和sybsystemprocs,所有其他的数据库设备则是通过 disk init 命令来创建。我们必须保证sybase的用户对欲创建的设备的目录具有读写权限,否则就无法创建成功。先以sybase用户登陆linux系统(数据库是以sybase用户安装的,关于安装和初试配置,请参照上文),进入sybase用户的主目录 /opt/sybase,创建目录userdata;启动数据库服务,用sybase的isql连接数据库,然后执行disk init 来完成此项操作。
[sybase@sybase sybase]$ cd ase-12_5/install
[sybase@sybase install]$ ./startserver //启动sybase服务器
[sybase@sybase sybase]$ cd
[sybase@sybase sybase]$ mkdir userdata //创建目录用于存放用户数据库
[sybase@sybase sybase]$ cd /ocs-12_5/bin
[sybase@sybase bin]$ ./isql Usa -Ssybase -P //连接数据库服务器,我的数据//库服务器名称为sybase,sa密码为空
1> disk init //如果输错了,按“back space”删除
2> name=userdev, //命名最好便于识别为佳
3> physname=”/opt/sybase/userdata/userdev.dat”, //要用绝对路径
4> size=”500m”
5> go
1> disk init //给日志文件分配设备
2> name=logdev,
3> physname=”/opt/sybase/userdata/logdev.dat”,
4> size=”50m”
5> go

更改默认设备:如本文开头部分所言,为了防止用户数据库被分配到数据库系统主设备master上,应该在安装完数据库后修改默认设备—安装完sybase ase后,master是唯一的默认设备。sybase建议,master设备只应该提供给系统数据库而不是用户数据库。因此,对于用户数据库,我们应当单独创建设备,并且把用户设备设置成默认状态。上一步我们已经创建了用户设备“userdev”和“logdev”.其过程如下:
1> sp_diskdefault ‘master’, ‘defaultoff’ //取消master的默认设备资格
2> go
1> sp_diskdefault ‘userdev’, ‘default //设定uerdev为默认设备
2> go
1> sp_diskdefault ‘logdev’, ‘default //设定logdev为默认设备
2> go
在后面创建用户数据库的过程中,如果不指定数据库设备,则该用户数据库理所当然地创建在默认设备。

创建数据库:本数据库创建在设备 userdev上,而在分开的设备(logdev)上创建数据库日志。
1> create database mydatabase //创建一个名为mydatabase的数据库
2> on userdev = “50m” //数据库的存储空间为50m,数据库设备
//是userdev,而不是master
3> log on logdev=”10m” //日志文件的存储空间为10m
4> go
也可以用命令 create database mydatabase 来创建用户数据库mydatabase,这个数据库也会默认的创建在设备userdev上,日志文件也创建在userdev,但不幸的的是,用户创建的这个数据库将只有2m的容量,恐怕这不是创建者所期望的。因此,不管是sybase还是我本人,都强烈建议使用上表的过程创建用户数据库,以便于这个数据库可以满足真实的应用场景。创建完数据库后,我们很想知道创建的这个数据库到底是怎么一个状况?通过系统存储过程sp_helpdb来获得数据库的各种信息。下面是我的某个sybase服务器的范例:
1> sp_helpdb
2> go
6.png


在创建用户数据库时,应该预留足够大的空间,以便能够保留将来输入的所有数据。但是也不要把数据库定义得太大,以免在将来恢复数据时产生麻烦。究竟需要定义多大的空间才算合适,这需要数据库管理员多次试验才可以决定的。一个经验是低估一个数据库的大小比高估要好,如果数据库空间太小了,可以很容易的扩充数据库的空间,如果空间过大,则非常麻烦。这里,我们来修改一下前面创建的数据库的空间大小,过程如下:
1> alter database mydatabase
2> on userdev=”1024m” //由50m变成1g
3> log on logdev=”50m” //由10m变成50m
4> go
二、数据库的管理
设置数据库管理员密码:在安装完sybase ase数据库后,数据库管理员的默认管理员密码为空,基于安全考虑,必须为数据库管理员账号设置密码。先以账号sybase登录系统,然后启动sybase数据库,用isql连接数据库服务器(操作过程如前面“创建数据库设备”一节),接着执行下面的操作:
1> sp_password null , dr5623h //设置新密码为“dr5623h”
2> go
在退出数据库,下一次客户端连接数据库时,提示用户输入密码。

用户和授权:sybase ase服务器提供一种严密的体系来保障数据的安全,并且使数据的保护级别达到非常精细的程度。在通常情况下,数据库服务器不是只给一个用户sa来使用,为了让数据库满足实际需求,需要在 sybase 数据库里添加账号/用户,为添加的用户分配适合的权限。这个操作分以下几步进行:
1、 添加数据库系统的注册账号。执行存储过程sp_addlogin来完成数据库注册账号的添加,如 exec sp_addlogin sery , d7#w6g , mydatabase 表示添加一个注册账号sery,密码是“d7#w6g”,登录到默认数据库为“mydatabase”。这个操作执行完毕后,将在master数据库的syslogins表中增加一行纪录。添加数据库系统注册账号属于服务器级的安全,换句话说就是这个账号只能连接数据库服务器,但没有访问用户数据库的权力。
2、 添加数据库用户。执行存储过程sp_adduser将用户直接添加到数据库,添加数据库用户属于数据库级的安全,这时才可以以用户的身份访问用户数据库。这个操作执行完毕后,将在允许访问的数据库的sysusers表中添加纪录。
3、 授权。能够访问数据库但并不意味可以访问其中的数据,有时需要具备单个数据库对象的相应许可,才可以选取、更改数据库所属表中的数据信息或执行一个存储过程。这是属于对象访问级的安全。授权的格式为: grant <权限列表> on <表名> to <角色/用户>。这个操作执行完毕后,会向sysprotects表中添加纪录。
接着,我们通过下面的事例来总结这3个步骤:
[sybase@sybase bin]$ isql -Usa -Ssybase -Pdr5623h
1> sp_addlogin sery , d7#w6g , mydatabase
2> go
1> use mydatabase
2> go
1> sp_adduser sery
2> go
1> grant select ,insert, update on custom to sery
2> go
1> shutdown
2> go
[sybase@sybase bin]$ isql -Usery -Ssybase -Pd7#w6g //以用户sery登录数据库mydatabase
1>
为了便于维护和管理数据库,最好让注册名和数据库用户名使用相同的名称。另外,注册用户的删除、数据库用户的删除以及授权的删除都是比较简单的了,请参照下面的操作:
1> revoke select ,insert, update on custom from sery
2> go
1> sp_dropuser sery
2> go
1> sp_droplogin sery
2> go
需要注意的是,上述操作除用户sery登录数据库外,都是在sa下完成的。

三、备份和恢复
灾难的发生是不可预料的,作为数据库管理员,可以通过备份数据来抵御这些风险。创建备份和还原计划可能需要大量的时间和精力,但这是值得的,否则一旦灾难发生,后果真的不堪设想。因此定期备份数据库是一个重要的任务,也是一个极好的习惯。

备份的策略和类型:一天备份一次数据库和备份多次事务日志是个值得推荐的选择,实际上,很多系统管理员也是这样执行的。数据库备份是完全备份,而事务日志的备份是增量备份,在做一个恢复备份计划时,将完全备份和增量备份结合起来是十分必要的。

备份:在ase10以前的版本,备份是由数据库服务器直接执行,这会对导致大量的系统资源争用而引起服务器处理性能下降。备份服务器是服务器上的一个单独open server应用程序,该程序可以直接访问数据库设备,在数据库服务器运行一个备份服务器 backup server,定会带来很多额外的好处。所幸的是我们在安装 sybase ase 12_5时已经把备份服务器默认安装好了,这里只需要启用它(.以sybase用户登陆系统,执行命令 #/opt/sybase/ase-12_5/install/startserver -r run_sybase_backup启动sybase备份服务器)。
备份的过程还是有点繁复,我们还是分步骤来进行吧!
1、创建备份存储设备。为安全起见,最好把数据库备份到另外的磁盘,为此,准备一个大的硬盘,分好区后(一个分区)把它挂接到文件系统,再进行创建设备的操作。当然sybase也支持直接使用原始设备。
[sybase@root /]# mkdir -p /sybbackup
[sybase@root /]# chown sybase.sybase /sybbackup
[sybase@root /]# mount /dev/sdc1 /sybbackup //挂接新的硬盘分区到///sybbackup
[sybase@root /]# su sybase
[sybase@sybase sybase]$ cd /sybbackup
[sybase@sybase sybbackup]$ touch bk_mydatabase.dat
[sybase@sybase sybbackup]$ touch bk_log.dat
[sybase@sybase bin]$ isql -Usery -Ssybase -Pd7#w6g
1>sp_addumpdevice ‘disk’,‘bk_mydatabase’,‘/sybbackup/bk_sybbackup.dat’
1> go //创建备份设备bk_mydatabase
1> sp_addumpdevice ‘disk’ , ‘bk_log’ , ‘/sybbackup/bk_log.dat’
2> go //日志文件的存储位置
2、备份数据库。使用dump database 命令备份数据库数据。
1> dump database mydatabase to ‘bk_mydatabase’ with init
2> go
3、 备份事务日志。使用命令dump transaction.
1> dump transaction mydatabase to ‘bk_log’
2> go
如果有多个数据库,则需要多次执行备份数据库和备份事务日志操作。备份完成后,非常有必要对备份数据进行验证,如果不这样做将可能发生可怕的后果。笔者在此建议把备份文件多做几份拷贝,放置在不同的地理位置,就算某天失火把服务器和备份烧毁了也可起死回生。

数据库恢复:可能需要经常备份数据库和事务日志,但不必经常进行数据库恢复操作。只有在数据库发生意外、数据库移植、试验等情况下才需要进行恢复操作。与备份相对应,恢复也可分几步进行。需要注意的是,在数据库恢复期间,不要让用户连接数据库。
1、 创建数据库。与要恢复的数据库同名,如果是原数据库损坏,需要先把数据库删除,然后再创建同名数据库。
2、 恢复数据库。使用命令load database命令来恢复数据库。
1> load database mydatabase from ‘bk_mydatabase’
2> go
3、 恢复事务日志。使用命令load transacti
1> load transaction mydatabase from ‘bk_log’
2> go
4、 联机数据库。事务日志装载完毕之后,才可以使数据库成为联机状态。
1> database mydatabase
2> go

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: