Installation guidelines ASE 15.0
This page describes how to install and configure a Sybase ASE server.
- 1 Get the software
- 2 Prepare the Operating System
- 3 Raw devices or filesystem files
- 4 Determine your license policy
- 5 Installation
- 6 Setup your environment
- 7 Create the server
- 8 Basic configuration
- 9 Create the backup server
- 10 All done
Get the software
First download ASE.
To get a free download you can go to this page http://www.sybase.com/detail?id=1052712 At the Linux promotion page from Sybase http://www.sybase.com/linuxpromo you can download ASE 15.0.2 in both 32 and 64 bit versions.
Some alternative locations are described here http://www.sypron.nl/get_ase_soft.html
Prepare the Operating System
Make sure that the filesystem for the Sybase software is big enough. A full installation needs approx. 800 Mb so 3 Gb should give you enough room to handle upgrades too. In this case we install the software in /opt/sybase/ase15. Database files will be stored on raw devices and/or in /var/sybase.
Become root and add a group "sybase" and a user "sybase" to the system. Also create the needed directories.
mkdir -p /opt/sybase mkdir -p /var/sybase groupadd sybase useradd -g sybase -d /opt/sybase sybase chown sybase:sybase /opt/sybase chown sybase:sybase /var/sybase
Enable the operating system to allow more than the default value for shared memory.
- Solaris (pre version 10) /etc/system
set shmsys:shminfo_shmmax = 4294967295
- Linux: modify /etc/sysctl.conf
Use "sysctl kernel.shmmax" to see the current value. Configure a new value with "sysctl -w kernel.shmmax=78643200"
Raw devices or filesystem files
Sybase recommends, and I fully 100% agree, to store all database files on raw devices except for temporary databases like tempdb. Some Unix adminstrators do not like raw devices and then you need to put everything on filesystems. Whenever possible, use directio when the mounted filesystem allows it.
When you do raw devices, create the following:
- master (60Mb but 100Mb is better)
- data01 (for instance 32G but for testing purposes 100Mb is also good. You can always add more)
- log01(for instance 5G but for testing purposes 20Mb is also good. You can always add more).
Do not forget to chown the raw devices to the sybase user. Check if this setting is persistent after a reboot.
File system files
Make sure you have a filesystem that's big enough to store the files mentioned in the 'Raw devices' section.
Files for temporary databases (like tempdb) should be stored on the filesystem. Allow at least for 100Mb but, depending on your application, 1Gb is not uncommon.
Determine your license policy
Since ASE 15 you cannot run a production server with no license file. License files can reside on the network or on the local system. Think about the license policy that suits you best.
When there is no valid license after the installation ASE will run with a grace time of 30 days. After that it will shutdown and it cannot be rebooted anymore until you install a license.
Now, switch to the newly created user:
su - sybase
You should now be in the directory /opt/sybase. Make a work directory and put the downloaded Sybase software in it.
mkdir work cd work <put the software in this directory> tar -xf <software-distro>
Start the installation.
(When you get a message like "A suitable JVM could not be found" go here for a possible solution: Running a 32 bit ASE executable with a 64 bit chip.)
Use /opt/sybase/ase15 as the destination directory, do a full installation. Assuming you store Sybase licenses on your local system, answer No at "Will licenses be obtained from the License Server?". Also, at "Do you want to configure email alerts?" answer No.
At the possible options of the Product Edition choose the one that suits your situation. After installation you can reconfigure it, in case you picked the wrong option.
At the list of possible servers to configure, deselect all options. We will do it manually.
When the installation has finished succesful you can safely remove the work directory.
Setup your environment
In /opt/sybase/ase15 you will find a few files, like SYBASE.csh, SYBASE.sh and SYBASE.env. Depending on the type of shell you use you need to source in one of these. For instance, when your default shell is bash you should do this:
it should return /opt/sybase/ase15. Is is fairly common to activite the SYBASE.sh script (or similar one) from your login script.
When you have generated a licence file through http://sybase.subscribenet.com install it in the directory $SYBASE/$SYBASE_SYSAM/licences
Create the server
Most installations run multiple ASE's and backup servers from a single Sybase software tree. For a good overview it is quite handy to store files that are specific for a server in it's own directory. In this example we create two servers: an ASE called ASE1 and a backupserver called SYB_BACKUP. Configuration files and the errorlog are stored in the admin directory, database files are stored in /var/sybase.
Create the directories for these servers:
cd /opt/sybase mkdir admin mkdir admin/ASE1 mkdir admin/SYB_BACKUP mkdir /var/sybase/ASE1
When you choose to use raw device it's quite handy when you create symbolic links from /var/sybase/ASE1 to those devices. For example:
ln -s /dev/hda4 /var/sybase/ASE1/master.dat
Do this also for the other raw devices that you made.
Now go to the "/opt/sybase/admin/ASE1" directory and create a resource file. Use the following template as an example, call it ASE1.rs. You can also use the Sybase supplied resource file, it's $SYBASE/$SYBASE_ASE/init/sample_resource_files/srvbuild.adaptive_server.rs
sybinit.release_directory: USE_DEFAULT sybinit.product: sqlsrv sqlsrv.server_name: ASE1 sqlsrv.new_config: yes sqlsrv.do_add_server: yes sqlsrv.network_protocol_list: tcp sqlsrv.network_hostname_list: PUT_YOUR_HOSTNAME_HERE sqlsrv.network_port_list: 4000 sqlsrv.server_page_size: USE_DEFAULT sqlsrv.force_buildmaster: no sqlsrv.master_device_physical_name: /var/sybase/ASE1/master.dat sqlsrv.master_device_size: 60 sqlsrv.master_database_size: 30 sqlsrv.errorlog: /opt/sybase/admin/ASE1/errorlog sqlsrv.do_upgrade: no sqlsrv.sybsystemprocs_device_physical_name: /var/sybase/ASE1/sybsystemprocs.dat sqlsrv.sybsystemprocs_device_size: 150 sqlsrv.sybsystemprocs_database_size: 150 sqlsrv.sybsystemdb_device_physical_name: /var/sybase/ASE1/sybsystemdb.dat sqlsrv.sybsystemdb_device_size: 20 sqlsrv.sybsystemdb_database_size: 20 sqlsrv.default_backup_server: SYB_BACKUP sqlsrv.addl_cmdline_parameters:
Please note that the option sqlsrv.addl_cmdline_parameters was added in 15.0.2 so you do not need to specify this for older releases.
Build the server with the command:
srvbuildres -r ASE1.rs
When the srvbuildres command fails with:
Task failed Unable to boot server 'ASE1'. Server 'ASE1' was not created.
then go to this page for tips how to solve this: srvbuildres task failed.
After a succesful creation you can connect to the server:
isql -Usa -P -SASE1
Load additional files
Often forgotten, but you should load this file too:
isql -Usa -P -SASE1 < $SYBASE/$SYBASE_ASE/scripts/instmsgs.ebf
Load the monitoring tables (automatically done since 15.0.2), like this: Pre 15.0, create a loopback server
isql -Usa -P -SASE1 sp_addserver loopback,null,@@servername go quit
Since 18.104.22.168, load the monitoring tables:
isql -Usa -P -SASE1 < $SYBASE/$SYBASE_ASE/scripts/installmontables
Increase the size of tempdb
Log on with isql and do the following:
disk init name = temp01,physname="/var/sybase/ASE1/temp01.dat",dsync=false,size="100M" go alter database tempdb on temp01=100 go
For a more advanced configuration of tempdb, go here: Tempdb space management.
Create a user database
disk init name = data01,size="1G",physname="/var/sybase/ASE1/data01.dat" go disk init name = log01,size="100M",physname="/var/sybase/ASE1/log01.dat" go create database my_database on data01="1G" log on log01 = "100M" go
Very basic server configuration
Set some common options and increase memory size. Depending on your situation you need to increase the given values.
sp_configure "max memory",100000 go sp_cacheconfig "default data cache","20M" go sp_poolconfig "default data cache","5M","4K" go sp_poolconfig "default data cache","5M","16K" go sp_configure "procedure cache size",14000 go
These values provide only a minimal starting point and should not be used in a production environment. Consult your local DBA for further assistance.
Create the backup server
Create the backup server using the following steps.
Go to the "/opt/sybase/admin/SYB_BACKUP" directory and create a resource file. Use the following template as an example, call it SYB_BACKUP.rs. You can also use the Sybase supplied resource file, it's $SYBASE/$SYBASE_ASE/init/sample_resource_files/srvbuild.backup_server.rs
sybinit.release_directory: USE_DEFAULT sybinit.product: bsrv bsrv.server_name: SYB_BACKUP bsrv.new_config: yes bsrv.do_add_backup_server: yes bsrv.do_upgrade: no bsrv.network_protocol_list: tcp bsrv.network_hostname_list: PUT_YOUR_HOSTNAME_HERE bsrv.network_port_list: 4001 bsrv.language: USE_DEFAULT bsrv.character_set: USE_DEFAULT bsrv.tape_config_file: USE_DEFAULT bsrv.errorlog: /opt/sybase/admin/SYB_BACKUP/errorlog sqlsrv.related_sqlsrvr: ASE1 sqlsrv.sa_login: sa sqlsrv.sa_password: USE_DEFAULT bsrv.addl_cmdline_parameters:
Please note that the option bsrv.addl_cmdline_parameters was added in 15.0.2 so you do not need to specify this for older releases.
Build the server with the command:
srvbuildres -r SYB_BACKUP.rs
Happy Sybase-ing with your new server!!