Title: Adaptive Server Enterprise and Linux
1 E129ASE for Linux
- Wim ten Have
- Staff S/W Development
- ESD ASE kernel
- wtenhave_at_sybase.com
2History on the Linux Open Source platform
- Just for the Fun!
- Linux started of in 1991 featuring with kernel
0.3 - Where did it come from?
- O/S research projects done by Universities
- MIT Mach - turned later into OSF/1 and NeXT
Step now Mac/XOS. - Berkeley UCB BSD - turned later into 386BSD,
FreeBSD, NetBSD, BSDI and BSD Lite. - VU Amsterdam Amoeba study workgroups were
trained writing a small PC implementation named
Minix.
3History on the Linux Open Source platform
- Just for the FUN!
- Minix a hybrid kernel design using message
passing, targeting cheap/small x86 hardware
without support for virtual memory management. - Linux - Early 1991 Linus Torvalds created a new
monolithic kernel model and announced his work in
the comp.os.minix news group. - Many computer fanatics seeking a PC UNIX home
alternative switched from Minix to Linux.
4History on the Linux Open Source platform
- Just for the FUN!
- There is no roadmap but development efforts seem
to follow market demands. - Where does it go?
- Linux distributions turn it into a professional
platform adding support and allowing for
commercial applications. - Competition between different Linux distributors
may risk the platform to divert within time.
5History on the Linux Open Source platform
- The Open Source distribution battle field.
- Major Linux distributors
- Red Hat
- S.u.s.e, Mandrake, Caldera, Pacific Hightec
- Other Linux distributions
- Debain, JBLinux, K12LTSP, MCC, Rock, aXon,
beehive, blackcat cLIenUX, conectiva, coyote,
deeplinux, engarde, X/OS, finnix, yellowdog,
spinix, ,
6Sybase products available on Linux
Backup Server
Monitor Server
XP Server
7Sybase products available on Linux
- ASE 11.0.3.3 ESD2 Sep 1998 1st FREE release
- Adaptive Server Enterprise accompanied with
Backup Server together with 10.0.3 Open Client /
-Server Software Development Kits - Ported under Red Hat 5.2
- Kernel 2.0.36 / Glibc 2.0.27
- No support for Raw or Asynchronous disk I/O (did
not exist) - Maximum shared memory segment size 128 MByte
- Released as a FREE release for development and
deployment
8Sybase products available on Linux
- ASE 11.0.3.3 ESD6 Jun 2000 2nd FREE release
(rollup) - Adaptive Server Enterprise accompanied with
Backup Server, Monitor Server together with
10.0.4 Open Client / -Server SDKs - Rollup under RH6.2 with 11.9.x obtained
experience and fixes. - Kernel 2.2.14 / Glibc 2.1.3-7
- Raw bound devices are supported
- SGI ProPack 1.2 Kernel Asynchronous disk I/O is
supported - SHM_REMAP the shared memory segment gaining 1.4
GByte - Released as a FREE release for development and
deployment
9Sybase products available on Linux
- ASE 11.9.x Jun 1999 1st SUPPORTED release
- Adaptive Server Enterprise accompanied with
Backup Server, XP Server, Monitor Server together
with 11.1.1 Open Client / -Server, ESQL/C SDKs - Ported under RH 5.2 making full engineering
certification - Kernel 2.2.5-14 / Glibc 2.0.7-29
- No support for Raw or Asynchronous disk I/O (did
not exist) - Added support for dynamic loadable shared objects
XP Server - SHM_REMAP the shared memory segment gaining 1.4
GByte
10Sybase products available on Linux
- ASE 12.5 Nov 2000 Jun 2001 SUPPORTED release
- Adaptive Server Enterprise accompanied with
Backup Server, XP Server, Monitor Server and
Historical Server, ASE JVM, 12.5 Open Client /
-Server and ESQL/C SDKs - Ported under Red Hat 6.2
- Kernel 2.2.18 / Glibc 2.1.3-15
- Support for Raw bound devices
- Undocumented support for Asynchronous disk I/O
(as it showed instable)
11Porting Adaptive Server Enterprise
JVM ASE Embedded Java support
Server procedures, tasks handlers
SQL layer Query Parse Execute
DBMS layer Data cache
ASE Kernel
ASE drivers
GNU run-time Library
Linux kernel
12Sybase products available on Linux
- ASE 12.5.0.1 - May 2002 SUPPORTED release
- Adaptive Server Enterprise accompanied with
Backup Server, XP Server, Monitor Server and
Historical Server, ASE JVM, 12.5 Open Client /
-Server and ESQL/C SDKs - Ported under Red Hat 6.2
- Kernel 2.2.18 / Glibc 2.1.3-15
- Support for Raw bound devices
- Undocumented support for Asynchronous disk I/O
(instable) - Linux shared memory issues are fixed allowing for
2.3 Gbyte - Support added for Large Files (LFS databases gt
2 GByte) when EXT3 or ReiserFS are in place.
13Porting ASE Memory layout
14Sybase products available on Linux
- ASE 12.5.0.1 SBE/DE/EE - Jul 2002 SUPPORTED
release - Adaptive Server Enterprise accompanied with
Backup Server, XP Server, Monitor Server and
Historical Server, ASE JVM, 12.5 Open Client /
-Server and ESQL/C SDKs - Ported under Red Hat 7.2
- Kernel 2.4.9 / Glibc 2.2.4
- Support for Raw bound devices
- Support for Asynchronous disk I/O per librt
- Support for ASE Native user threads per
libpthread - FREE development and deployment
- Developers Edition (DE)
- Small Business Edition (SBE)
15The Linux platform
16New O/S features added to ASE 12.5
- Kernel 2.4.x and run-time 2.2.x features
- Latest distributions show enough stability
allowing ASE to enable complex O/S features it
can support. - Raw disk I/O
- EIDE, SCSI and RAID devices are supported
- Adaptive Server Enterprise utilities with
internal support - SYBASE/SYBASE_ASE/bin/srvbuild
- SYBASE/SYBASE_ASE/bin/backupserver
- SYBASE/SYBASE_ASE/bin/dataserver
17New O/S features added to ASE 12.5
- Kernel 2.4.x and run-time 2.2.x features
- Latest distributions show enough stability
allowing ASE to enable complex O/S features it
can support. - LWP - Native O/S threads per Posix 1003.1c
- Early versions of libpthread show instable
- Required is libpthread-0.9 with glibc-2.4.4
- Posix Async disk I/O per librt
- Early versions of librt show instable.
- Required is librt-2.4.4 with libpthread-0.9 and
glibc-2.4.4
18New O/S features added to ASE 12.5
- Kernel 2.4.x and run-time 2.2.x features
- Latest distributions show enough stability
allowing ASE to enable complex O/S features it
can support. - LFS Large File Support
- Ext3FS, ReiserFS, vxFS must be in place.
- Physical Tape Support for Backup Server
- Generic SCSI I/II hardware needs to be present.
- Backup Server supports auto hardware
configuration.
19Linux System Administration - RPM
- Releasing ASE using a package manager
- Guarantee a linux compliant and consistent
software model
20Linux System Administration - RPM
- Installing and upgrading Linux
- Major distributions target the platform when
installing or upgrading software components with
RPM. - The Redhat Package Manager
- Software components are described with much
detail. - Package contents are registered in a RPM specific
database. - It allows for smart update methods.
- It uses compression to minimize distribution
size. - It uses an internal CRC (md5) checking assuring
software is free from distribution defects when
installing.
21Linux System Administration - RPM
- Installing and upgrading Linux
- The Redhat Package Manager - continued
- Packages are computed for run-time dependencies.
- Up on installation run-time and environmental
checks are performed assuring minimum and correct
platform requirements. - Packages can internally be programmed with
package embedded shell scripts to control
automatic configuration procedures. - RPM provides system administrators with tools to
perform software integrity and consistency
checks.
22Linux System Administration - RPM
- Using RPM
- RPM Query command
- Query the package header
- rpm -qip package-name-x.i386.rpm (file)
- rpm -qi package-name-x (installed)
- Query package contents
- rpm -qlp package-name-x.i386.rpm (file)
- rpm -ql package-name (installed)
23Linux System Administration - RPM
- Using RPM
- RPM Query command
- Query an installed element for its package
- rpm -qf /opt/sybase-12.5/ASE-12_5/bin/dataserver
- Query all packages installed on a node
- rpm -qa
- Query a package install prefix
- rpm -q --queryformat installprefix \
sybase-common-12.5.0.1-1.i386.rpm
24Linux System Administration - RPM
- Using RPM
- Installing, Upgrading and Uninstalling software
- Install or Upgrade software contents.
- rpm Uhv sybase-common-12.5.0.1-i386.rpm
- Uninstalling software from the system
- rpm e sybase-common-12.5.0.1
- The smart installers always uses -U !
- Never remove package installed software with
rm(1) !!!
25Linux System Administration - RPM
- Using RPM
- BIG hammer approaches
- Installing software which fails dependencies
- rpm -ihv --nodeps package-name-x.yyy.rpm
- Installing software which does not register
- rpm -ihv --force package-name-x.yyy.rpm
- Use the above only if all other methods fail and
the package contents need to be installed.
26Linux System Administration - RPM
- Using RPM
- What to do when the RPM database got errnoneous
information? - Reinstall the system under the upgrade method
- Rebuild the RPM database
- rpm rebuild
- Distributing the installed system by repackaging
all installed components. - /usr/sbin/mkkickstart
27Linux System Administration - filesystem
- The Linux supported filesystems
- EXT, EXT2, EXT3, ReiserFS, Minix, adfs, affs,
bfs, coda, cramfs, fat, vfat, hpfs, isofs, jfs,
procfs, romfs, smbfs, sysvfs, ufs, udf, umsdos - Sybase preferred file systems
- Default file system kernel 2.2.x (RH6.2) EXT2
- Max file size limited to 2 GByte
- Default file system kernel 2.4.x (RH7.2) EXT3
- Max file size 2 TByte
28Linux System Administration filesystem
- The Linux supported file systems
- Administrating a file system using a LABEL.
Advantage is that if the device changes when
additional hardware is added the LABEL will take
care of its /etc/fstab administration. - Building the file system
- mkfs t fstype fs-options device size
- Adding a file system LABEL for its reference
- tune2fs L volume-label device
- Administrating the LABEL under /etc/fstab
- /world /myworld ext3 defaults 0 0
- Performing an file system consistency check on
this device - fsck /world
29Linux System Administration - rawdevice
- Linux Raw device administration
- Linux Raw devices are bound devices.
- Devices bind via /dev/rawctl
- Device entries appear under directory /dev/raw
- /usr/bin/raw /dev/raw/raw1 /dev/sdd1
- Query device administration with raw command
- /usr/bin/raw -q /dev/raw/raw1
- /usr/bin/raw -qa
30Linux System Administration - rawdevice
- Linux Raw device administration
- Main administration is done from
/etc/sysconfig/rawdevices - /dev/raw/raw1 /dev/sdd1
- /dev/raw/raw2 /dev/sdd2
- /dev/raw/raw3 /dev/sdc1
- /dev/raw/raw4 /dev/hde2
- Enable Raw device at system boot time
- /sbin/chkconfig rawdevices on
- Manually start / stop rawdevice binding
- /etc/init.d/rawdevices startstop
31Linux System Administration SCSI Tape
- Linux SCSI Tape administration
- Main administration is done from /etc/stinit.def
- Backup Server does need 2 EOF MTIO setting
- two-fms1
- Reinitialize the tape setup after any physical
device change - /sbin/stinit -v
32Linux System Administration - networking
- LINUXCONF
- A helpful configuration editor
- Areas for network administration
- Client administration
- Hostname
- Network device with IPaddr
- DNS administration
33Linux System Administration - networking
- Linux network administration
- Main client network administration is done from
- /etc/sysconfig/network
- Enable networking
- Specify HOSTNAME
- Specify GATEWAY
- Specify GATEWAYDEV
- Optinally NIS administration
- Optionally IPX administration
- /etc/sysconfig/networking
- Loopback interface configuration per ifcfg-lo
34Linux System Administration - networking
- Linux network administration
- Main client network administration is done from
- /etc/sysconfig/networking/devices
- Specific network device bindings
- /etc/sysconfig/networking/profiles
- Hosts table for /etc/hosts
- Network table for /etc/networks
- DNS table for /etc/resolv.conf
- /etc/sysconfig/network-scripts
- Administrative actions when interfaces are on- /
off-lined
35Linux System Administration - networking
- Linux network administration
- server network administration
- Providing telnet, rlogin, rsh, ftp, rsync,
services - /sbin/chkconfig telnet on
- /sbin/chkconfig rlogin on
- Providing dhcp services
- Edit /etc/dhcp.conf
- /sbin/chkconfig dhcpd on
- /etc/init.d/dhcpd start
36Linux System Administration - networking
- Linux network administration
- server network administration (cont)
- Providing samba services
- Edit /etc/samba/smb.conf
- /sbin/chkconfig smb on
- /etc/init.d/smb start
- Providing httpd services
- Edit /etc/httpd/conf/httpd.conf
- /sbin/chkconfig httpd on
- /etc/init.d/httpd start
37Linux System Administration - networking
- Linux network administration
- Network firewall and masquarade administration
- /etc/sysconfig/ipchains
- Linuxconf allows for simple high, medium no
firewall administration - /usr/share/doc/ipchains-/HOWTO.html describes
detailed filewall setup. - /sbin/chkconfig ipchains on
- /etc/init.d/ipchains start
- Whitepaper available from http//www.xos.nl/
38Linux as a Magnifying glass - procfs
- The Process file system - /proc
- /proc is a virtual file-system allowing access to
kernel data using ordinary read(2) and write(2)
system-calls. - Most data can be examined and tuned using the
cat(1) command. - System specific data
- Kernel, memory and network tunable parameters
- User processes
39Linux as a Magnifying glass - procfs
- The Process file system - /proc
- The GNOME and KDE desktop manager provide several
tools to examine the /proc file system - Ksysguard
- Strongest tool to focus on hardware and software
related topics. - Provides a daemon process to monitor multiple
machines at once. - Kpm
- Strong tool to zoom in on processes and monitor
process related resources like file-descriptors,
sockets and signal disposition - Gtop
- Strong tool to monitor processes and make a
graphical representation on storage and memory
usage.
40Linux as a Magnifying glass - procfs
41Linux as a Magnifying glass - procfs
- The Process file system - /proc
- What hardware and hardware specific statistics
does my system provide? - System hardware specific data.
- /proc/cpuinfo
- Number of CPUs physically installed.
- Per CPU brand, model, cache size, frequency.
- Specific details per CPU on known h/w defects.
- CPU bogomips performance indicator measured at
system boot. - /proc/interrupts
- Active IRQ processing within the machine.
42Linux as a Magnifying glass - procfs
- The Process file system - /proc
- System hardware specific data
- /proc/pci
- PCI cards detected during system boot providing
information on hardware manufacturer, brand,
model - /proc/bus/pci
- PCI cards as detected separated into subsections
per card allowing card specific operations.
43Linux as a Magnifying glass - procfs
- The Process file system - /proc
- System hardware specific data
- /proc/iomem
- Physical memory address ranges
- /proc/ioports
- Controller port address ranges
- /proc/dma
- DMA request levels as assigned
44Linux as a Magnifying glass - procfs
- The Process file system - /proc
- What software and software specific statistics is
arranged for? - System software specific data
- /proc/devices
- Software driver major number assignment.
- /proc/filesystems
- Filesystems supported on this installation.
- /proc/meminfo
- Virtual memory statistics currently in effect.
45Linux as a Magnifying glass - procfs
- The Process file system - /proc
- System software specific data
- /proc/partitions
- Complete overview of partitions overview known by
the running kernel. - /proc/swaps
- Specific arranged partitions for virtual memory
arrangement.
46Linux as a Magnifying glass - procfs
- The Process file system - /proc
- Kernel global obtainable data and tunable
parameters - Parameters in the interest of ASE server setups
- /proc/sys/kernel
- ctrl-alt-del - disable/enable response to a 3
finger salute - shmmax - maximum shared memory heap size
- threads-max - maximum number of LWP available in
this system
47Linux as a Magnifying glass - procfs
- The Process file system - /proc
- Tuning the linux kernel
- Tuning directly per /proc
- /bin/echo numeric-value gt /proc/sys/kernel/shmmax
- Administrate fixed tuning under /etc/sysctl.conf
- Listing all or interactive tuning kernel
parameters - /sbin/sysctl a
- /sbin/sysctl w kernel.shmmax2097152
48Linux as a Magnifying glass - procfs
- The Process file system - /proc
- Examining user processes via the process file
system - User process related data.
- /proc/PID/ - PID Process ID
- Direct access to the user binary
- Finding the process current work directory
- Arguments and environment
- Memory utilization
- Memory layout
- File descriptors and permissions
- Signal disposition
-
49Linux as a Magnifying glass - procfs
- The Process file system - /proc
- User process related data.
- /proc/PID/exe
- Symbolic link to the program binary.
- /proc/PID/cwd
- Current work directory.
- /proc/PID/cmdline
- Representing the argv stored Arguments
- /proc/PID/environ
- Representing the env accessible Environment
-
50Linux as a Magnifying glass - procfs
- The Process file system - /proc
- User process related data.
- /proc/PID/status
- Current and effective process UID and GID
- Virtual memory statistics
- Signal disposition
- /proc/PID/maps
- Memory segment mappings
- /proc/PID/fd (directory)
- File descriptors open
51Linux as a Magnifying glass
- Run-time configured instrumentation.
- Applications and erroneous memory allocation
- An environment variable MALLOC_CHECK_ enables
run-time library detecting for erroneous malloc()
/ free() administration. - Silently ignore (default).
- MALLOC_CHECK_0
- Report to STDERR but keep running.
- MALLOC_CHECK_1
- Abort the application and produce a core file.
- MALLOC_CHECK_2
52(No Transcript)
53Sybase Developer Network (SDN)
- Additional Resources for Developers/DBAs
- Single point of access to developer software,
services, and up-to-date technical information - White papers and documentation
- Collaboration with other developers and Sybase
engineers - Code samples and beta programs
- Technical recordings
- Free software
- Join today www.sybase.com/developer or visit
SDN at TechWaves Technology Boardwalk