| In This Chapter |
| Microsoft Windows |
| Linux |
| Solaris |
| AIX |
| HP-UX |
Microsoft Windows
Installation Error Due to XML Encoding
While installing FairCom DB on Windows, the installation program may report display an alert reporting an "Unspecified XML file encoding." This error may occur while the installer is configuring XML files. It is the result of the encoding used in your system's .NET machine.config file.
The first line of the machine.config file indicates the encoding. An example of UTF-8 is shown below:
<?xml version="1.0" encoding="UTF-8"?>The FairCom installer supports the following encodings:
- UTF-8
- UTF-16
- ASCII
- ISO-8859-1 (Latin-1)
If you are using an encoding other than those listed above, you will need to use a .zip file for installation. The .zip file is available from FairCom.
Windows Vista Network AutoTuning Parameters
The symptoms exist due to the new re-written TCP stack in Windows Vista that aims to take full advantage of hardware advances such as gigabit networking. Among the new feature in Windows Vista TCP/IP is Receive Window Auto-Tuning for TCP connections. TCP AutoTuning enables TCP window scaling by default and automatically tunes the TCP receive window size for each individual connection based on the bandwidth delay product (BDP) and the rate at which the application reads data from the connection, and no longer need to manually change TcpWindowSize registry key value which applies to all connection. Theoretically, with TCP auto-tuning, network connection throughput in Windows Vista should be improved for best performance and efficiency, without any registry tweaks. However, this is not always the case, and may cause some Internet related issues and problems.
A workaround to the above problem is to disable the TCP/IP AutoTuning in Windows Vista. Disabling auto tuning of TCP Windows Size should not cause any negative effects, only that the TCP Window Size will always be the default value without ability for optimization to each connection.
A microsoft TechNet article describing the feature is here:
Microsoft TechNet - Vista Network Performance Improvements
Disable AutoTuning
- Open an Elevated Command Prompt (see below)
- Enter the following command to disable auto-tuning
Microsoft Windows
Installation Error Due to XML Encoding
While installing FairCom DB on Windows, the installation program may report display an alert reporting an "Unspecified XML file encoding." This error may occur while the installer is configuring XML files. It is the result of the encoding used in your system's .NET machine.config file.
The first line of the machine.config file indicates the encoding. An example of UTF-8 is shown below:
netsh interface tcp set global autotuninglevel=disabledEnable AutoTuning
If you find disabling auto-tuning doesn’t fix your problem, re-enable it as follows:
- Open an Elevated Command Prompt
- Enter the following command to enable auto-tuning
netsh interface tcp set global autotuninglevel=normalAutoTuningStatus
To view the state of your current TCP parameters, use this command:
netsh interface tcp show globalElevated Command Prompt
- Click on the Start button.
- In the search box, type in “cmd” or “Command Prompt” - Do not press Enter.
- cmd.exe or Command Prompt will show in the search results (depending on what you searched for).
- Right click cmd.exe (or Command Prompt) in the search results and select “Run as Administrator”.
- Enter the administrator credentials when prompted.
Configuring 32-bit ODBC Drivers on 64-bit Windows Versions
With 64-bit versions of Windows, the previous 32-bit ODBC Driver Manager is now located in a different location, and is not used by default. To configure a 32-bit driver on these systems, use the following steps:
- Execute: %WINDIR%\syswow64\odbcad32.exe
- Create a DSN using the 32-bit version of the Administrator
See Also
Connecting to Microsoft 64-bit SQL Server 2005 using a 32 bit ODBC driver
- First configure your 32-bit driver as described in this article:
Configuring 32-bit ODBC Drivers on 64-bit Windows Versions
- Using the SQL Server Import and Export Wizard, you will get a pop-up screen that is asking for a Data Source.
- You will not see the 32-bit DSN in the drop down menu. Select ".Net Framework Data Provider for ODBC". On most systems it's probably the top one in the list, however, you need to scroll up to see it as the list usually displays in the middle.
- Enter further connection information on the resulting dialog screens.
- Under NamedConnection String there is a field for "dsn". In this field put the name of the DSN created in Step 1.
- Click on Next and follow the rest of the instructions to copy the desired data.
Slow Windows Network Traffic
Communication with a server on a local network can be substantially slower than expected when newer Windows computers (Windows Vista and later) attempt to access older Windows computers. Although the communication works eventually, you may experience slow response times.
The problem may be due changes in the was the system handles Link Local Multicast Name Resolution (LLMNR) protocol. LLMNR is based on the Domain Name System (DNS) protocol. It provides name resolution for addresses on the same local network without the need for a DNS server.
The multicast used by LLMNR is not supported by all systems. If your network contains a mix of old and new systems, some systems may be attempting to use a protocol that others do not support. After a timeout, the computer will use other means to perform the operation, so the process works...slowly.
Solutions:
- Disable LLMNR on the newer computers.
- Avoid a DNS lookup be doing either of the following:
- Specify an IP address in the connection string instead of a domain name.
- Edit the hosts file on the newer machine to include the name and IP address of the older machine.
- And, of course, if you can replace the older computers you will eliminate this problem and possibly improve performance in other areas at the same time.
To turn off LLMNR on a server:
- From the Windows Start menu, type GPEdit.msc in the search box and press Enter. The Local Group Policy Editor will appear:
- Using the Console Tree on the left, navigate to:
Local Computer Policy > Computer Configuration > Administrative Templates > Network > DNS Client - In the DNS Client folder, double-click Turn off Multicast Name Resolution and set State to Enabled.
Linux
| In This Section |
| CPUs Report Different Times on Linux, Causing Unexpectedly Long sleep() Times |
| Compiling FairCom DB SQL PHP on Linux/Unix |
| Memory Use of Linux Processes |
CPUs Report Different Times on Linux, Causing Unexpectedly Long sleep() Times
On a multi-core system running CentOS Linux, calls to sleep() were observed to take an unexpectedly long time. It is believed the system time reported by the CPUs varies, as was confirmed by this experiment:
The Linux taskset utility can be used to run a process on specified CPUs. The date on each CPU differed:
taskset -c 0 date
taskset -c 1 date
taskset -c 2 date
taskset -c 3 date
Mon Aug 8 11:20:04 CDT 2011
Mon Aug 8 11:20:19 CDT 2011
Mon Aug 8 11:20:16 CDT 2011
Mon Aug 8 11:20:20 CDT 2011The Hyper-V VM was used in this case and it was found that adding the following boot options resolved the problem, as described here:
http://hardanswers.net/correct-clock-drift-in-centos-hyper-v
divider=10 clocksource=acpi_pm (for 32bit kernel)Compiling FairCom DB SQL PHP on Linux/Unix
FairCom DB SQL PHP is provided as a ready to go driver for currently available versions of PHP. However, PHP regularly advances, and new versions out pace current support quickly. In that case, you usually have to rebuild the PHP driver to match the specific version of PHP in your environment.
Usually, you can simply execute our provided build script from the /src directory of your FairCom DB SQL PHP driver installation:
> phpize
> ./configure --make-ctsql
> make
> make installHowever, you may find that the configure scripts don't always match the current autotools version of your Linux flavor. In that case, you need to regenerate the ./configure script. Consider the following sequence. Actual steps may differ slightly depending on your autotools version and Linux flavor. Check with the autotools documentation for details.
> phpize
> libtoolize
> aclocal
> autoreconf -i
> ./configure --make-ctsql
> make
> make install (optional)The driver will be in the newly created /modules folder. You are free to copy this to an appropriate library location in your environment.
Note: You may need elevated privileges to install this into /lib or other system locations.
Memory Use of Linux Processes
When examining memory use for a Linux process, there are utilities available in addition to top. A recommended utility found useful in determining actual memory usage is pmap.
pmap -x <ctree_pid>Here's top output for a ctreesql process:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1493 fctech 17 0 515m 227m 4836 S 0.0 11.3 0:00.28 ctreesqlHere's pmap output for this process. In this case, the VIRT and RES values shown by top are close to the Kbytes and RSS values from pmap. The "[ anon ]" mappings are likely to be the most common ones. FairCom DB allocations from the heap will show up as that type.
1493: ./ctreesql
Address Kbytes RSS Dirty Mode Mapping
0000000000400000 4 4 0 r-x-- ctreesql
0000000000600000 4 4 4 rw--- ctreesql
000000000b8ec000 238152 220112 220112 rw--- [ anon ]
0000003403e00000 112 100 0 r-x-- ld-2.5.so
000000340401c000 4 4 4 r---- ld-2.5.so
000000340401d000 4 4 4 rw--- ld-2.5.so
0000003404200000 1340 500 0 r-x-- libc-2.5.so
000000340434f000 2048 0 0 ----- libc-2.5.so
000000340454f000 16 16 8 r---- libc-2.5.so
0000003404553000 4 4 4 rw--- libc-2.5.so
0000003404554000 20 20 20 rw--- [ anon ]
0000003404600000 8 8 0 r-x-- libdl-2.5.so
0000003404602000 2048 0 0 ----- libdl-2.5.so
0000003404802000 4 4 4 r---- libdl-2.5.so
0000003404803000 4 4 4 rw--- libdl-2.5.so
0000003404a00000 520 64 0 r-x-- libm-2.5.so
0000003404a82000 2044 0 0 ----- libm-2.5.so
0000003404c81000 4 4 4 r---- libm-2.5.so
0000003404c82000 4 4 4 rw--- libm-2.5.so
0000003404e00000 88 80 0 r-x-- libpthread-2.5.so
0000003404e16000 2048 0 0 ----- libpthread-2.5.so
0000003405016000 4 4 4 r---- libpthread-2.5.so
0000003405017000 4 4 4 rw--- libpthread-2.5.so
0000003405018000 16 4 4 rw--- [ anon ]
0000003405200000 28 16 0 r-x-- librt-2.5.so
0000003405207000 2048 0 0 ----- librt-2.5.so
0000003405407000 4 4 4 r---- librt-2.5.so
0000003405408000 4 4 4 rw--- librt-2.5.so
0000003405600000 80 12 0 r-x-- libz.so.1.2.3
0000003405614000 2044 0 0 ----- libz.so.1.2.3
0000003405813000 4 4 4 rw--- libz.so.1.2.3
0000003405a00000 84 44 0 r-x-- libselinux.so.1
0000003405a15000 2048 0 0 ----- libselinux.so.1
0000003405c15000 8 8 8 rw--- libselinux.so.1
0000003405c17000 4 4 4 rw--- [ anon ]
0000003405e00000 236 20 0 r-x-- libsepol.so.1
0000003405e3b000 2048 0 0 ----- libsepol.so.1
000000340603b000 4 4 4 rw--- libsepol.so.1
000000340603c000 40 0 0 rw--- [ anon ]
0000003406e00000 628 68 0 r-x-- libglib-2.0.so.0.1200.3
0000003406e9d000 2044 0 0 ----- libglib-2.0.so.0.1200.3
000000340709c000 8 8 8 rw--- libglib-2.0.so.0.1200.3
0000003407200000 84 24 0 r-x-- libnsl-2.5.so
0000003407215000 2044 0 0 ----- libnsl-2.5.so
0000003407414000 4 4 4 r---- libnsl-2.5.so
0000003407415000 4 4 4 rw--- libnsl-2.5.so
0000003407416000 8 0 0 rw--- [ anon ]
0000003408200000 8 8 0 r-x-- libcom_err.so.2.1
0000003408202000 2044 0 0 ----- libcom_err.so.2.1
0000003408401000 4 4 4 rw--- libcom_err.so.2.1
0000003408600000 68 20 0 r-x-- libresolv-2.5.so
0000003408611000 2048 0 0 ----- libresolv-2.5.so
0000003408811000 4 4 4 r---- libresolv-2.5.so
0000003408812000 4 4 4 rw--- libresolv-2.5.so
0000003408813000 8 0 0 rw--- [ anon ]
0000003408a00000 580 88 0 r-x-- libkrb5.so.3.3
0000003408a91000 2048 0 0 ----- libkrb5.so.3.3
0000003408c91000 16 16 12 rw--- libkrb5.so.3.3
0000003408e00000 8 4 0 r-x-- libkeyutils-1.2.so
0000003408e02000 2044 0 0 ----- libkeyutils-1.2.so
0000003409001000 4 4 4 rw--- libkeyutils-1.2.so
0000003409600000 32 16 0 r-x-- libkrb5support.so.0.1
0000003409608000 2044 0 0 ----- libkrb5support.so.0.1
0000003409807000 4 4 4 rw--- libkrb5support.so.0.1
0000003409a00000 176 40 0 r-x-- libgssapi_krb5.so.2.2
0000003409a2c000 2048 0 0 ----- libgssapi_krb5.so.2.2
0000003409c2c000 8 8 8 rw--- libgssapi_krb5.so.2.2
0000003409e00000 144 28 0 r-x-- libk5crypto.so.3.1
0000003409e24000 2044 0 0 ----- libk5crypto.so.3.1
000000340a023000 8 8 8 rw--- libk5crypto.so.3.1
0000003412000000 52 36 0 r-x-- libgcc_s-4.1.2-20080825.so.1
000000341200d000 2048 0 0 ----- libgcc_s-4.1.2-20080825.so.1
000000341220d000 4 4 4 rw--- libgcc_s-4.1.2-20080825.so.1
0000003416c00000 920 412 0 r-x-- libstdc++.so.6.0.8
0000003416ce6000 2044 0 0 ----- libstdc++.so.6.0.8
0000003416ee5000 24 24 20 r---- libstdc++.so.6.0.8
0000003416eeb000 12 12 12 rw--- libstdc++.so.6.0.8
0000003416eee000 72 8 8 rw--- [ anon ]
0000003417000000 312 44 0 r-x-- libncurses.so.5.5
000000341704e000 2048 0 0 ----- libncurses.so.5.5
000000341724e000 56 12 8 rw--- libncurses.so.5.5
000000341725c000 4 0 0 rw--- [ anon ]
000000394a800000 1204 232 0 r-x-- libcrypto.so.0.9.8e
000000394a92d000 2044 0 0 ----- libcrypto.so.0.9.8e
000000394ab2c000 132 16 8 rw--- libcrypto.so.0.9.8e
000000394ab4d000 16 8 8 rw--- [ anon ]
000000394ac00000 288 52 0 r-x-- libssl.so.0.9.8e
000000394ac48000 2048 0 0 ----- libssl.so.0.9.8e
000000394ae48000 24 12 12 rw--- libssl.so.0.9.8e
00002ab7f38ed000 8 8 8 rw--- [ anon ]
00002ab7f38ef000 11532 2836 0 r-x-- libctreedbs.so
00002ab7f4432000 2048 0 0 ----- libctreedbs.so
00002ab7f4632000 404 328 324 rw--- libctreedbs.so
00002ab7f4697000 56368 660 652 rw--- [ anon ]
00002ab7f7dba000 5188 44 40 rw--- [ anon ]
00002ab7f82ec000 8244 6188 6188 rw--- [ anon ]
00002ab7f8b10000 40 24 0 r-x-- libnss_files-2.5.so
00002ab7f8b1a000 2044 0 0 ----- libnss_files-2.5.so
00002ab7f8d19000 4 4 4 r---- libnss_files-2.5.so
00002ab7f8d1a000 4 4 4 rw--- libnss_files-2.5.so
00002ab7f8d1b000 4 0 0 ----- [ anon ]
00002ab7f8d1c000 1536 12 12 rw--- [ anon ]
00002ab7f8e9c000 4 0 0 ----- [ anon ]
00002ab7f8e9d000 1536 8 8 rw--- [ anon ]
00002ab7f901d000 4 0 0 ----- [ anon ]
00002ab7f901e000 1536 12 12 rw--- [ anon ]
00002ab7f919e000 4 0 0 ----- [ anon ]
00002ab7f919f000 1536 8 8 rw--- [ anon ]
00002ab7fc000000 832 688 688 rw--- [ anon ]
00002ab7fc0d0000 64704 0 0 ----- [ anon ]
00002ab800000000 144 16 16 rw--- [ anon ]
00002ab800024000 65392 0 0 ----- [ anon ]
00002ab804000000 4 0 0 ----- [ anon ]
00002ab804001000 1536 12 12 rw--- [ anon ]
00002ab804181000 4 0 0 ----- [ anon ]
00002ab804182000 1536 12 12 rw--- [ anon ]
00002ab804302000 4 0 0 ----- [ anon ]
00002ab804303000 1536 16 16 rw--- [ anon ]
00002ab804483000 4 0 0 ----- [ anon ]
00002ab804484000 1536 16 16 rw--- [ anon ]
00002ab804604000 4 0 0 ----- [ anon ]
00002ab804605000 1536 16 16 rw--- [ anon ]
00002ab804785000 4 0 0 ----- [ anon ]
00002ab804786000 1536 16 16 rw--- [ anon ]
00002ab804906000 4 0 0 ----- [ anon ]
00002ab804907000 1536 20 20 rw--- [ anon ]
00002ab804a87000 4 4 4 rw-s- [ shmid=0x3d9f0008 ]
00002ab804a88000 4 0 0 ----- [ anon ]
00002ab804a89000 1536 8 8 rw--- [ anon ]
00002ab804c09000 4 0 0 ----- [ anon ]
00002ab804c0a000 1536 8 8 rw--- [ anon ]
00002ab804d8a000 4 4 4 rw-s- [ shmid=0x3d9f8009 ]
00007ffff783e000 84 44 44 rw--- [ stack ]
00007ffff79fd000 12 4 0 r-x-- [ anon ]
ffffffffff600000 8192 0 0 ----- [ anon ]
---------------- ------ ------ ------
total kB 536032 233324 228496Solaris
| In This Section |
| Heap Debugging on Solaris 9+ Operating Systems |
Heap Debugging on Solaris 9+ Operating Systems
You can enable heap debugging for the FairCom DB process by setting these environment variables before startup.
export LD_PRELOAD=libumem.so.1
export UMEM_DEBUG=default
export UMEM_LOGGING=transaction This is a low overhead malloc() debugging method, suitable for a production environment experiencing possible heap corruption. With the above options, it will check some guard zones for memory overwrites on alloc/free.
It also has many commands when a core generated with libumem is used with the mdb debugger.
::umem_status and ::umem_verify are useful, and the complete list of dcmds can be found in mdb by executing:
> ::dmods -l libumem.so.1man umem_debug has more details.
watchmalloc is another malloc debugging library on Solaris that detects memory overwrites more reliably, however, runs very slowly and is not useful in a production environment.
AIX
IBM AIX Multicore/CPU Performance Tuning Options
Doubling FairCom DB workload on an IBM AIX system has been observed to more than double CPU utilization or generate very high CPU utilization. An AIX environment variable can be changed and the server restarted to compare performance.
The following environment variable is used:
AIXTHREAD_SCOPE=SIBM AIX 32-bit FairCom Servers Require EXTSHM ON for Correct Shared Memory Usage
We found that 32-bit c-treeSQL Server on AIX requires EXTSHM ON to be set in the environment before it is started, otherwise attaching to a shared memory region may fail with a "too many files" error (EMFILE, system error code 24). With FairCom Servers V12 and later a message is also logged for 32-bit AIX environments with this tip included. The following message is now logged to CTSTATUS.FCS when this error occurs:
Wed Oct 21 08:21:05 2020
User# 00024 FSHAREMM: at_SessionReallocCommBuffer: shmat for comm mem resize
failed: 24 Verify that EXTSHM ON is set in the environment before starting the process.IBM AIX Large Page Support
When running a 64-bit FairCom DB Server on AIX, it was suspected memory pages were being "stolen" by another process or the file system cache. The key diagnostic indicator in this case was to monitor RSS memory of the FairCom DB process (ps v PID) and see if it drops at times of poor performance.
It was found that the FairCom DB executable and/or the system needed to be set for large page support.
The instructions found on the following page were followed:
http://dbasrus.blogspot.com/2009/06/size-sometimes-does-matter.html
The following commands were then run as root:
- Enable pinned memory
vmo -p -o v_pinshm=1 -o lru_file_repage=0 - Allocate 256 MB for large page support
vmo -p -o lgpg_size=16777216 -o lgpg_regions=16- Allow the user account that runs the ctreesql process to lock memory and use large pages
chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE fctech- Enable the ctreesql executable to use large pages
ldedit -b lpdata ctreesqlIBM AIX Mutex Performance Tuning Options
There have been sporadic reports of poor FairCom DB performance when running on AIX operating systems. Symptoms reported include:
- Low disk / CPU utilization at times of poor performance;
- Contention on internal process mutexes as examined from process stack dumps
It may be possible to improve performance, in some cases, by adjusting the AIX environment variables SPINLOOPTIME and YIELDLOOPTIME, which change mutex behavior.
The IBM Infocenter says that SPINLOOPTIME defaults to 40 and YIELDLOOPTIME defaults to 0.
Try setting SPINLOOPTIME=650 and YIELDLOOPTIME=10, restart the server and see if this improves the situation. Further tuning may give greater benefits.
Activation Failures (Error 26) on AIX 6
A previously activated server was found to not be activated with a newly provided activation key. The fcactvat utility failed with system error 26 "Text file busy or in use".
AIX 6 can cache shared objects, in this case ctreedbs.so, and fcactvat can then not stamp the binary. An AIX 6 utility, slibclean, is available on that platform that releases the object from the cache allowing successful stamping.
HP-UX
| In This Section |
| Moving a HP-UX FairCom DB SQL Database to Windows |
Moving a HP-UX FairCom DB SQL Database to Windows
FairCom DB is a flexible database engine capable of running on many platforms and system architectures. It is frequently useful to move a database from a Unix based high low architecture to a Windows low-high Intel architecture. There are a couple issues with doing so:
- File headers
- Binary data
FairCom has long provided utilities for doing such data and index file conversions, namely, ctunf1. To apply these to a full FairCom DB SQL database, perform the following steps.
- Shutdown the server. Check for a clean shutdown logged in CTSTATUS.FCS with the final messages:
- User# 00016 Server shutdown completed
- User# 00016 Maximum memory used was 230102654 bytes- Backup the database directory, making sure to include files ctdbdict.fsd, <dbname>.dbs/*.dat, <dbname>.dbs/*.idx, and <dbname>.dbs/SQL_SYS/<dbname>.fdd.
- Copy ctunf1 and convert.sh into the same directory as the server. (See below for convert.sh)
- Run ./convert.sh <dbname>
- Copy ctdbdict.fsd and the <dbname>.dbs folder to the windows machine if no errors occurred.
- Start the Windows FairCom DB Server process.
- Use the ctpath utility to change paths from ./<dbname>.dbs/SQL_SYS/ to .\<dbname>.dbs\SQL_SYS\
- Use the ctpath utility to change paths from .<dbname>.dbs/ to .\<dbname>.dbs\
| In This Section |
| convert.sh |
convert.sh
#!/bin/sh
# usage: convert.sh DATABASE
# runs ctunf1 on a database and session dictionary
# converts from HIGH-LOW to LOW-HIGH ENDIAN-NESS
err(){
echo ERROR converting file $1
echo Check convert.log for error code
exit 1
}
usage(){
echo usage:
echo convert DATABASE
echo runs ctunf1 on DATABASE and session dictionary
echo converts from HIGH-LOW to LOW-HIGH ENDIANNESS.
exit 1
}
dbname=$1
echo ${dbname}
if [ ! -d ${dbname}.dbs ]; then
echo Database ${dbname}.dbs not found
usage
fi
if [ ! -f ${dbname}.dbs/SQL_SYS/${dbname}.fdd ]; then
echo Database Dictionary not found
exit 1
fi
if [ ! -f ctdbdict.fsd ]; then
echo Session dictionary ctdbdict.fsd not found
exit 1
fi
echo STARTING DATABASE ENDIAN CONVERSION.
echo ENSURE SERVER WAS SHUTDOWN CLEANLY.
echo ENSURE DATABASE $dbname HAS BEEN BACKED UP.
echo THIS UTILITY CONVERTS FILES IN PLACE.
echo ANY ERROR DURING CONVERSION WILL CORRUPT DATA.
echo PRESS ctrl-z TO EXIT.
echo PRESS ENTER TO CONTINUE CONVERSION.
read
echo CONVERTING DATABASE DICTIONARY
./ctunf1 ./${dbname}.dbs/SQL_SYS/${dbname}.fdd 8 L Y B2 512 >convert.log
if [ $? != 0 ]; then
err ${dbname}.dbs/SQL_SYS/${dbname}.fdd
fi
echo CONVERTING ALL DATA... Please be patient
for i in ./${dbname}.dbs/*.dat
do
./ctunf1 $i 8 L Y B2 256 >>convert.log
if [ $? != 0 ]; then
err $i
fi
done
echo DATA FILE CONVERSION SUCCESS!
echo CONVERTING INDEX FILES
for i in ./${dbname}.dbs/*.idx
do
./ctunf1 $i 8 L Y B2 256 >>convert.log
if [ $? != 0 ]; then
err $i
fi
done
echo INDEX FILE CONVERSION SUCCESS!
echo CONVERTING Session dictionary
./ctunf1 ctdbdict.fsd 8 L Y B2 512 >>convert.log
if [ $? != 0 ]; then
err ctdbdict.fsd
fi
echo CONVERSION COMPLETE!
exit 0