Archive for June, 2010

Going for Gold

Great news! Dbvisit has been elevated to the level of Gold Partner (Specialized) status by Oracle in recognition of our hard work in crafting a product that specializes in the area of Oracle Disaster Recovery.

To achieve this Dbvisit had to demonstrate “competency development, business results, expertise and proven success to be recognized by Oracle, and preferred by customers.*” For Dbvisit these values underpin everything we do and are vital to delivering a product that Oracle users want and prefer.

Thanks Oracle, the recognition is well received.

(* source: http://blogs.oracle.com/certification/2009/12/0127.html)

Inserting data to generating archive logs
For testing purposes, Dbvisit has the facility to create test data. This simulates the loading of the databases with data to generate new archive logs. Dbvisit can then be tested with “full” archive logs to determine if the network and hardware is sufficient to be able to handle the capacity.

To generate test data use the dbv_functions -T option:

dbv_functions -T w120n
>>> Creating test table and inserting test data into w120n.
Test table dbvisit.dbv_test_data created.
Test table dbvisit.dbv_test_data dropped.

The data is inserted into a new table created in the Dbvisit database schema and then the table is dropped after completion of the insert to ensure that the database is left in the same state as when the command was started.

To add more data, a cycle number can be given:

dbv_functions -T w120n 2
>>> Creating test table and inserting test data into w120n.
Test table dbvisit.dbv_test_data created.
Insert cycle 1 completed. Rows inserted: 49974
Insert cycle 2 completed. Rows inserted: 99948
Test table dbvisit.dbv_test_data dropped.

This has added 99,948 rows and then dropped the table.

The higher the cycle number, the more data is added:

dbv_functions -T w120n 5
>>> Creating test table and inserting test data into w120n.
Test table dbvisit.dbv_test_data created.
Insert cycle 1 completed. Rows inserted: 49974
Insert cycle 2 completed. Rows inserted: 99948
Insert cycle 3 completed. Rows inserted: 199896
Insert cycle 4 completed. Rows inserted: 399792
Insert cycle 5 completed. Rows inserted: 799584
Test table dbvisit.dbv_test_data dropped.

This has added 799,584 records to the database, and then dropped the table.

After running the command, Dbvisit can be run as normal to transfer the archive log files to the standby server.
To see the size of the archive logs and statistics of the transfer see http://blog.dbvisit.com/dbvisit-tip-of-the-week-1/

Dbvisit version Dbvisit 5.2.28 has been released. This version fixes a compatibility issue with Oracle 8i and Oracle 9i which was introduced in a previous version.

This version allows Dbvisit to be installed alongside Data Guard to test a comparison between Dbvisit and Data Guard. Dbvisit now ignores the specific Data Guard settings which means Data Guard does not need to be removed and no init.ora parameters need to be changed.

This version ignores dynamic memory location parameters and parameters related to other instances in spfile/pfile when creating the standby database.

New features:

  1. Allow for Data Guard configurations to co-exists with Dbvisit.
    - Allow for VALID_FOR parameter.
    - Ignore standby redo log files in controlfile creation.

Fixes:

  1. Remove a prompt for pfile name if PFILE is not found on the server during creation of standby database.
  2. Set SOURCE and DESTINATION variables to short server names.
  3. Change variables _SEQUENCE_LANG_NAME and _ASM_EXCLUDE to quoted strings instead of lists.
  4. Change the query to obtain archive log names to ignore log archive destinations pointing to standby locations (used by Data Guard).
  5. Oracle 8i may contain incorrect location in v$archive_dest – Fixed.
  6. Does not use the correct SQL statement to obtain the standby database sequence for Oracle 8 and 9 – Fixed.
  7. Ignore dynamic memory location parameters and parameters related to other instances in spfile/pfile when creating standby database.
  8. When LOGDIR_DR is not set correctly there was an error message about incorrect mail settings – Fixed.

Please download from http://www.dbvisit.com/dbvisit_download.php

Compressing and uncompressing files with Dbvisit

Dbvisit uses its own internal compression and uncompression mechanism to compress and uncompress files during transportation.

These compression routines can be accessed manually through the dbv_functions commands.

To compress a file:

dbv_functions -g filename

To uncompress a file:

dbv_functions -u filename.gz

We have purchased additional hardware for our test and development environment. We have been using VMware server for our other dev/test hardware but wanted to try VMware ESXi.

The software you will need is:

  • VMware ESXi 4.0 (to run on the new hardware)
  • VMware vSphere Client with vSphere Host Update Utility (to run on the client which will manage the ESXi)
  • VMware vSphere Command-Line Interface – Windows Installer (to run on the client which will manage the ESXi)
    Command-line tools to manage your vSphere infrastructure.
  • VMware vCenter Converter Standalone (to convert VMware server guests to ESXi)

We wanted to install VMware ESXi on a USB stick. This gives the advantage of easily creating copies of the USB stick (using Linux dd command) in case ESXi did not want to boot. It also allows us to create a clone of the whole ESXi server.

Moving from VMware server to ESXi requires quite a different approach as you no longer are running a full OS on the host. All the things you take for granted by having a full OS are no longer there and this takes a bit of getting used to. You are also no longer as flexible because simple OS command backups do not work or are limited in their features.

The setup of ESXi is very straightforward and easy. However we quickly found one of the short comings to ESXi. Our USB had decided not to work anymore and as we were still in setup phase we had not created a backup yet.

To fix it, we rebooted the server with the ESXi CD and this allowed us the repair the USB stick and bring back ESXi. However all the meta data had gone. The VMware guests where still on the disk, but the vSphere Client did not pickup any of the existing VMware guests or resource pools that we had created. There is no quick refresh button.

This would be a major blow if this was a production server.

However we did find a way to re-register an existing VMware guest using the vSphere CLI tool. This tool is a collection of Perl scripts that are installed on your local machine (can be Windows or Linux) and connects to ESXi to run certain commands.

To re-register a VMware guest, run the following command:

perl vmware-cmd -U <myuser> -P <mypassword> -H HostABC
    -s register /vmfs/volumes/datastore1/MyVM/MyVM.vmx

It helps to know the path of the vmx. This can be found out by logging onto the console of the ESXi server. Typing ALT-F1 and then typing “unsupported”. This brings you to the console of the ESXi server and you can use use find and ls commands to find the location of the vmx file.

This brings back the VMware guests but does not bring back the resource pools. However in the vSphere Client you can re-create the same resource pools and move the VMware guests under the resource pools.

Before we deploy our server we want to make a backup of its configuration so that if something similar happened we can restore the configuration. To do this run the following command from CLI client:

C:\Program Files\VMware\VMware vSphere CLI\bin>perl vicfg-cfgbackup.pl --username root
--password xxxx --server xxxx -s C:\backup\server_esxi_config.dat
Saving firmware configuration to c:\backup\server_esxi_config.dat ...

Other handy commands to run under VMware ESXi console:
View disks with:

fdisk -l

View current disk paths with:

esxcfg-mpath -l

Other handy commands to run under vSphere CLI:
To identify the working directory of the virtual machine from ESXi and the vSphere CLI, run the command:

vmware-cmd.pl -H <host> -U <username> -P <password> -l

To create a folder for the copy of the virtual machine from ESXi and the vSphere CLI, run the command:

   vifs.pl -H <host> -U <username> -P <password> --mkdir '[datastore] dir'

where datastore is the name of the datastore, and dir is the name of the new directory