DB2::Admin

Support for DB2 Administrative API from Perl
Download

DB2::Admin Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Hildo Biersma
  • Publisher web site:
  • http://search.cpan.org/~hbiersma/

DB2::Admin Tags


DB2::Admin Description

Support for DB2 Administrative API from Perl DB2::Admin is a Perl module that provides perl language support for the DB2 administrative API. This loosely corresponds to the non-SQL functions provided by the DB2 Command Line Processor (CLP), the 'db2' program. This function is complementary to the DBD::DB2 database driver. The DBD::DB2 driver is intended for application developers and supports SQL functions. The DB2::Admin module is intended for administrators and supports non-SQL database functionality, such as snapshot monitoring, directory/catalog management, event processing, getting/setting configuration parameters and data import/export.SYNOPSIS use DB2::Admin; DB2::Admin::->SetOptions('RaiseError' => 1); DB2::Admin::->Attach('Instance' => 'FOO'); # Monitor switches and snapshot DB2::Admin::->SetMonitorSwitches('Switches' => { 'Table' => 1, 'UOW' => 0, }); my $retval = DB2::Admin::->GetSnapshot('Subject' => 'SQLMA_APPLINFO_ALL'); DB2::Admin::->ResetMonitorSwitches(); # Database manager configuration parameters my @options = DB2::Admin::-> GetDbmConfig('Param' => ); print "Max agents: $options{Value} "; print "Max coord agents: $options{Value} "; DB2::Admin::->UpdateDbmConfig('Param' => , 'Flag' => 'Delayed'); # Database configuration parameters @options = DB2::Admin::->GetDatabaseConfig('Param' => , 'Flag' => 'Delayed', 'Database' => 'sample', ); print "Database heap size: $options{Value} "; print "Path to log files: $options{Value} "; DB2::Admin::->UpdateDatabaseConfig('Param' => { 'Name' => 'autorestart', 'Value' => 0, }, 'Database' => 'sample', 'Flag' => 'Delayed'); DB2::Admin::->Detach(); # Database, node and DCS directories - no attach required my @db_dir = DB2::Admin::->GetDatabaseDirectory(); my @db_dir = DB2::Admin::->GetDatabaseDirectory('Path' => $dbdir_path); my @node_dir = DB2::Admin::->GetNodeDirectory(); my @dcs_dir = DB2::Admin::->GetDCSDirectory(); # Catalog or uncatalog a database DB2::Admin::->CatalogDatabase('Database' => 'PRICES', 'Alias' => 'TESTPRI', 'NodeName' => 'TESTNODE', 'Type' => 'Remote'); DB2::Admin::->UncatalogDatabase('Alias' => 'TESTPRI'); # Catalog or uncatalog a node DB2::Admin::->CatalogNode('Protocol' => 'TCP/IP', # Or SOCKS/Local 'NodeName' => 'TESTNODE', 'HostName' => 'testhost.example.com', 'ServiceName' => 3700); # Service name or port number DB2::Admin::->UncatalogNode('NodeName' => 'TESTNODE'); # Catalog or uncatalog a DCS database DB2::Admin::->CatalogDCSDatabase('Database' => 'PRICES', 'Target' => 'DCSDB'); DB2::Admin::->UncatalogDCSDatabase('Databases' => 'PRICES'); # Force applications - attach required. Use with care. DB2::Admin::->ForceApplications(@agent_ids); DB2::Admin::->ForceAllApplications(); # Connect to database / Disconnect from database DB2::Admin::->Connect('Database' => 'mydb', 'Userid' => 'myuser', 'Password' => 'mypass'); DB2::Admin::->SetConnectAttributes('ConnectTimeout' => 120); DB2::Admin::->Connect('Database' => 'mydb', 'Userid' => 'myuser', 'Password' => 'mypass', 'ConnectAttr' => { 'ProgramName' => 'myscript', }, ); DB2::Admin::->Disconnect('Database' => 'mydb'); # Get/set connection-level client information DB2::Admin::->ClientInfo('Database' => 'mydb', 'ClientUserid' => 'remote_user'); %client_info = DB2::Admin::->ClientInfo('Database' => 'mydb'); # Export data. Requires a database connection. Example omits options. DB2::Admin->Export('Database' => $db_name, 'Schema' => $schema_name, 'Table' => $table_name, 'OutputFile' => "/var/tmp/data-$schema_name-$table_name.del", 'FileType' => 'DEL'); # Import data. Requires a database connection. Example omits options. DB2::Admin->Import('Database' => $db_name, 'Schema' => $schema_name, 'Table' => $table_name, 'InputFile' => "/var/tmp/data-$schema_name-$table_name.del", 'Operation' => 'Insert', 'FileType' => 'DEL'); # Load data. Requires a database connection. Example omits options. my $rc = DB2::Admin->Load('Database' => $db_name, 'Schema' => $schema_name, 'Table' => $table_name, 'InputFile' => "/var/tmp/data-$schema_name-$table_name.del", 'Operation' => 'Insert', 'SourceType' => 'DEL'); my $state = DB2::Admin->LoadQuery('Schema' => $schema_name, 'Table' => $table_name, 'LogFile' => $logfile, 'Messages' => 'All'); # Run table statistics. Requires a database connection. Example # omits options. $rc = DB2::Admin->Runstats('Database' => $db_name, 'Schema' => $schema_name, 'Table' => $table_name); # List history. Requires an attachemnet, not a database connection. @history = DB2::Admin-> ListHistory('Database' => $db_name, 'Action' => 'Load', # Optional; default: all 'StartTime' => '20041201', # Optional; may also specify HHMMSS 'ObjectName' => 'MYSCHEMA.MYTABLE', # Optional ); # List what utilities are currently running my @utils = DB2::Admin->ListUtilities(); my @utils = DB2::Admin->ListUtilities('Database' => $db_name); # Rebind a package. Requires a database connection. Example omits options. DB2::Admin->Rebind('Database' => $db_name, 'Schema' => $schema_name, 'Package' => $pkg_name); # Backup a database (or database partition) DB2::Admin->Backup('Database' => $db_name, 'Target' => $backup_dir, 'Options' => { 'Online' => 1, 'Compress' => 1, }); # Backup all nodes of a DPF database (V9.5 only) DB2::Admin->Backup('Database' => $db_name, 'Target' => $backup_dir, 'Options' => { 'Online' => 1, 'Nodes' => 'All', }); Requirements: · Perl


DB2::Admin Related Software