sybase安装详解(suse10环境)

sybase安装详解(suse10环境)_第1张图片

本篇主要介绍在linux环境下以命令行方式来准备安装sybase所需要的裸设备分区、卷组、逻辑卷等。

一. 裸设备相关的知识:

1.什么叫做裸设备?  裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Linux通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。
  
2.使用裸设备的好处  因为使用裸设备避免了再经过操作系统这一层,数据直接从Disk到应用进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。当然,这是以磁盘的 I/O 非常大,磁盘I/O已经称为系统瓶颈的情况下才成立。如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立,那么采用裸设备确实可以大大提高性能,最大甚至可以提高至40%,非常明显。

下面来看看我实验的这台机器的磁盘:

在xenserver里挂载了2个virtual disks给这台实验机器,挂载hdb的分区都为文件系统用来安装os以及sybase应用,挂载hdc的将建立逻辑卷来存放sybase的device。

二. 建立物理分区:

先看下hdb的分区:

Login as root:
DevServer-9:~ # fdisk /dev/hdb
Command (m for help): p    (输出分区表)
Disk /dev/hdb: 64.4 GB, 64424509440 bytes255 heads, 63 sectors/track, 7832 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System/dev/hdb1               1         523     4200966   82  Linux swap / Solaris/dev/hdb2   *         524        1829    10490445   83  Linux/dev/hdb3            1830        7051    41945715   83  Linux

这里一定要注意,接着到我们要操作的hdc这个存储去!!!!!

DevServer-9:~ # fdisk /dev/hdc
#输出分区表
Command (m for help): p  
Device Boot      Start         End      Blocks   Id  System
#建立新分区
Command (m for help): n
Command action   e   extended   p   primary partition (1-4)
#建立新分区序号输入1则建立/dev/hdc1
Partition number (1-4):1
First cylinder (1-23497, default 1): 
(默认)Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-23497, default 23497): 
(默认全部空间都分掉)Using default value 23497

看看分区表现在怎么样了

Command (m for help): p
Disk /dev/hdc: 193.2 GB, 193273528320 bytes255 heads, 63 sectors/track, 23497 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1               1       23497   188739621   83 Linux(这里的83不是我们要的哦!)

Command (m for help): t (改分区格式)
Selected partition 1
Hex code (type L to list codes): 8e(8e才是我们要的)
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): p (再确认一下分区表吧,虽然是实验环境咱也得谨慎点是不)
Disk /dev/hdc: 193.2 GB, 193273528320 bytes255 heads, 63 sectors/track, 23497 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1               1       23497   188739621   8e  Linux LVM
Command (m for help): w (确认写入,然后等susey一顿忙活…………)
The partition table has been altered!
Calling ioctl() to re-read partition table.Syncing disks.

通常,不需要重启,但有些计算机却要求。因此如果下面的命令不工作,试试重启。
到这里我们的分区算是分完了。

三. 建立卷组以及逻辑卷:

在这节我们要建立sybase所需要的设备空间。

syb-master 300M
syb-proc 556M
syb-tempdb 4200M
syb-data1 64G
syb-log1 32G

所有逻辑卷都在syb卷组下面。

Login as root:
#(建立分组。syb为组名。/dev/hdb1为上面建立的物理卷) 
[root@suse10 ~]# vgcreate syb /dev/hdc1
Volume group "syb" successfully created
[root@suse10 ~]# lvcreate -L 300M -n master syb
Logical volume "master" created
[root@suse10 ~]# lvcreate -L 556M -n proc syb 
Logical volume "proc" created
[root@suse10 ~]# lvcreate -L 4200M -n tempdb syb 
Logical volume "tempdb" created
[root@suse10 ~]# lvcreate –L64G -n data1 syb 
Logical volume "data1" created
[root@suse10 ~]# lvcreate -L 32G -n log1 syb 
Logical volume "log1" created

建立完成后可用vgdisplay syb –v命令查看
创建完后可以看到/dev/mapper下有5个分卷设备,卷名分别为:

syb-master
syb-proc
syb-tempdb
syb-data1
syb-log1

在/etc/raw添加以下内容。如raw设备已被使用请自行调整,注意这里:前后都不要有坑爹的空格啊!!!!!!!!!**
**

[root@suse10 ~]# vi /etc/raw
raw11:syb/master
raw12:syb/proc
raw13:syb/data1
raw14:syb/tempdb
raw15:syb/log1

激活裸设备, 将裸设备绑定到分区

启动/etc/init.d ./raw start
停止/etc/init.d ./raw stop

[root@suse10 ~]# cd /etc/init.d/
[root@suse10 ~]# sh raw start
DevServer-9:/etc/init.d # sh raw startbind 
/dev/raw/raw11 to /dev/syb/master...                            donebind
/dev/raw/raw12 to /dev/syb/proc...                               donebind
/dev/raw/raw13 to /dev/syb/data1...                             donebind
/dev/raw/raw14 to /dev/syb/tempdb...                           donebind
/dev/raw/raw15 to /dev/syb/log1...                                done

查询是否激活

/usr/sbin/raw -qa

配置在系统重启动后自动激活裸设备

/sbin/chkconfig raw on

检查

/sbin/chkconfig raw (应为on)

数据库初始化设备时使用/dev/raw/raw(n)设备名即可

四. 安装jdk:

你如果suse10是像我一样默认安装,那么一定会遇到这个错误!

A suitable JVM could not be found. Please run the program again using the option -is:javahome

乖乖翻出你的suse10安装盘找出下面这2个rpm包把

jpackage-utils-1.6.3-18.8.41.x86_64.rpm
java-1_4_2-ibm-1.4.2_sr13-0.7.1.x86_64.rpm

然后再乖乖的按次序装好它们!

DevServer-9: # rpm -ivh jpackage-utils-1.6.3-18.8.41.x86_64.rpm 
Preparing...                ########################################### [100%]   
1:jpackage-utils         ########################################### [100%]
DevServer-9:# rpm -ivh java-1_4_2-ibm-1.4.2_sr13-0.7.1.x86_64.rpm 
Preparing...                ########################################### [100%]   
1:java-1_4_2-ibm         ########################################### [100%]

五. 配置sybase用户、组:

DevServer-9:#  groupadd -g 1000 sybase
DevServer-9:#  usermod -g sybase -G disk sybase
DevServer-9:#  passwd sybase

然后把sybase安装文件全部搬上来,确保安装文件属主都是我们刚建立的这个sybase用户!
这里我放到/home/sybase/sybsetup目录下面。
下面操作都用sybase用户咯。

sybase@DevServer-9: cd /home/sybase/sybsetup
sybase@DevServer-9: chmod +x setup

最后改下sybase的.profile

sybase@DevServer-9: vi .profile

加一下export LANG=en_US
保存后重新用sybase用户登录

su – sybase

下面用root登录来把前一篇建立的逻辑卷都改给sybase用户

DevServer-9: # chown sybase:sybase  /dev/raw/raw1*

然后用sybase用户登录做一下实验看看是否成功:

sybase@DevServer-9: dd if=/dev/raw/raw11 of=/tmp/foo bs=4096 count=8

看到类似内容说明成功:

\8+0 records in
8+0 records out
32768 bytes (33 kB) copied, 0.007031 seconds, 4.7 MB/s

五. 安装sybase for linux:

下面大段的屏幕输出基本都忽略了,操作时候注意哦。

sybase@DevServer-9: cd /home/sybase/sybsetup
sybase@DevServer-9: ./setup –console
#向导初始化什么什么………………
Press 1 for Next, 3 to Cancel or 4 to Redisplay [1]    
#(不管  默认1 next)
#地区列表,一堆堆………
Please enter the number of the location you are installing. (1-37) [1] 24  
#(选24 就是咱郭嘉)
#用户协议一大坨…………………
Press ENTER to read the text [Type q to quit] q 
#(按q不看下一页了,你要爱看你继续)
#又是一堆协议相关……
I agree to the terms of the Sybase license for the install locationspecified.(Y/N) [N]y  
#(问你同意协议不,能不同意么!)
Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1] 1 #
#(接着下一步)
Please enter the directory where you would like to install the products orpress ENTER to accept the default.
   Destination Directory [ERROR: ServiceException: (error code = 305; severity   = 0)]/home/sybase 
#(这里输入要安装应用的目录)
Do you want to continue with installation into this directory? [2] 1 (1是yes 2是no)
-------------------------------------------------------------------------------Choose the setup type that best suits your needs.
[X] 1 - Typical        The program will be installed with the suggested configuration.        Recommended for most users.[ ] 2 - Full        The program will be installed with all the products and features.[ ] 3 - Custom        The program will be installed with the features you choose.        Recommended for advanced users.
To select an item enter its number, or 0 when you are finished: [0] 2
#(选择full吧 全装少烦恼)
To select an item enter its number, or 0 when you are finished: [0]#(选完直接就继续)
-------------------------------------------------------------------------------Sybase Adaptive Server Enterprise Suite will be installed in the followinglocation:
/home/sybase
with the following features:
Sybase Servers   Adaptive Server Enterprise      ASE Diagnostic Server      ASE Agent Plugin      ASE SNMP Agent Plugin   ASE Web Services   Job SchedulerConnectivity   Open Client      Common ctlib files      Common dblib files   Embedded SQL/C   Monitor Client Library
Press ENTER to read the text [Type q to quit] 
#(确认下要安装的部件)
 
Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1] 1  #(next后开始装)
Installing Sybase Adaptive Server Enterprise Suite. Please wait...
|-----------|-----------|-----------|------------|0%         25%         50%         75%        100%|||||||||||||||||||||||
#装完后会问你licenses的事 ,自己看着办吧………………
#接下来要配置那些服务,我们只配1和2,其他都点掉吧:
  [X]  1  -  Configure new Adaptive Server  [X]  2  -  Configure new Backup Server  [ ]  3  -  Configure new Monitor Server  [ ]  4  -  Configure new XP Server  [ ]  5  -  Configure new Job Scheduler  [ ]  6  -  Enable Self Management  [ ]  7  -  Configure Web Services  [ ]  8  -  Configure Unified Agent
     To select an item enter its number, or 0 when you are finished: [0]  (直接next)
#next之后会再给你确认一下:
   [X]  1  -  Custom configure new Adaptive Server   [X]  2  -  Custom configure new Backup Server
      To select an item enter its number, or 0 when you are finished: [0]
#(2个都叉上后next)
#下面配置如下,悲剧的忘记了15新增了一个sybsysdb.dat,就默认吧!
-------------------------------------------------------------------------------Please enter custom configuration values for the new Adaptive Server
   Adaptive Server Name [DEVSERVER9] SYBASE9   Port Number [5000]    Error Log [/home/sybase/ASE-15_0/install/SYBASE9.log]    Page Size
      1. 2k      2. 4k      3. 8k      4. 16k
   Select a page size :  [1] 3   Master Device [/home/sybase/data/master.dat] /dev/raw/raw11   Master Device Size (MB) [120] 256   Master Database Size (MB) [52] 120   System Procedure Device [/home/sybase/data/sysprocs.dat] /dev/raw/raw12   System Procedure Device Size (MB) [132] 512   System Procedure Database Size (MB) [132] 510   System Device [/home/sybase/data/sybsysdb.dat]    System Device Size (MB) [2]    System Database Size (MB) [2]
   Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1] 1
-------------------------------------------------------------------------------
Please enter custom configuration values for the new Backup Server
   Backup Server Name [SYBASE9_BS]    Port Number [5001]    Error Log [/home/sybase/ASE-15_0/install/SYBASE9_BS.log]
   Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1]

再一路next会收到一个/home/sybase/ASE-15_0/bin/srvbuildres: cannot execute错误,没关系,错误是多了点,咱能解决!为什么会错误呢?

sybase@DevServer-9:~> cd ASE-15_0/bin/sybase@DevServer-9:~/ASE-15_0/bin> ./srvbuildres -r ../sqlsrv.res
The SYBASE_ASE environment variable is not set.

这里的srvbuildres是根据res文件创建,res文件就是保存的咱刚配置的信息。可以vi看一下。 手工去执行一下发现提示是环境变量没有。至于这个环境变量呢是安装sybase才给提供到一个文件里,晕了晕了~~~
加一行到sybase的.profile里:

. SYBASE.sh

注意点和空格!!!!!,然后再来可以了.

sybase@DevServer-9:~/ASE-15_0/bin> ./srvbuildres -r ../sqlsrv.res 
Warning: Unable to verify /dev/raw/raw11 device size.  Please verify that this device is not already in use and that it has sufficient space available.  
Warning: Unable to verify /dev/raw/raw12 device size.  Please verify that this device is not already in use and that it has sufficient space available.  
Building Adaptive Server 'SYBASE9':
Writing entry into directory services...
Directory services entry complete.
Building master device...Master device complete.
Writing RUN_SYBASE9 file...RUN_SYBASE9 file complete.
Starting server...
Server started.
Building sysprocs device and sybsystemprocs database...sybprocs device and sybsystemprocs database created.
Running installmaster script to install system stored procedures...
installmaster: 10% complete.
installmaster: 20% complete.
installmaster: 30% complete.
installmaster: 40% complete.
installmaster: 50% complete.
installmaster: 60% complete.
installmaster: 70% complete.
installmaster: 80% complete.
installmaster: 90% complete.
installmaster: 100% complete.
installmaster script complete.
Creating two-phase commit database...Two phase commit database complete.Installing common character sets (Code Page 437, Code Page 850, ISO Latin-1, Macintosh and HP Roman-8)...Character sets installed.Setting server name in Adaptive Server...Server name added.Server 'SYBASE9' was successfully created.

至此sybase数据库服务算是完成了~!
下面是backserver,这个backserver如果没有的话就不能用dump的方式来备份和恢复!
sybase@DevServer-9:~/ASE-15_0/bin> ./srvbuildres -r ../bsrv.res
如果你的glibc的版本是2.4以上,可能会遇到一个错误:
line 15: 4168 Segmentation fault
具体的解决办法是去sybase用户的环境变量里加上:export LD_POINTER_GUARD=1(或者=0,具体机器不一样)

最终我们sybase的.profile内容如下:

export LANG=en_US
export LD_POINTER_GUARD=1
. SYBASE.sh

这时候我们可以到ASE-15_0/install目录下面通过下面2个命令来启动:

./startserver –f RUN_SYBASE
./startserver –f RUN_SYBASE_BS

你可能感兴趣的:(sybase安装详解(suse10环境))