static function get_all_instance_search_json()
 {
     $arr_instance_objs = instance_actions::get_all_instances();
     foreach ($arr_instance_objs as $instance) {
         $data[$instance->db_id]['info_string'] = $instance->service_name . " " . $instance->hostname . " " . $instance->sid . " " . $instance->status . " " . $instance->charset;
     }
     return json_encode($data);
 }
 static function get_all_switchover_as_array()
 {
     # Generating instance objects
     $db = mysqli_connect($_SESSION['db_host'], $_SESSION['db_user'], $_SESSION['db_password'], $_SESSION['db_database']);
     $arr_instance_objs = instance_actions::get_all_instances();
     foreach ($arr_instance_objs as $instance) {
         if (strpos($instance->service_name, 'RZ1') !== false) {
             # Check if there was a failover/switchover during the last 14 days
             $query = "select count(*) as failover_count from (SELECT distinct `value_string` FROM `values` WHERE `parameter_id` = 9002 and `db_id` = " . $instance->db_id . " and time > DATE_FORMAT(now(), '%Y-%m-%d') - INTERVAL 14 DAY limit 2) as a";
             $result = mysqli_query($db, $query);
             while ($row = mysqli_fetch_object($result)) {
                 $failover_count = $row->failover_count;
             }
             if ($failover_count > 1) {
                 unset($rz2_db_id);
                 unset($rz1_status);
                 unset($so_time);
                 # Check current status of RZ1 db
                 $query = "SELECT ID, dba_notice, lower(`value_string`) as value_string, DATE_FORMAT(time, '%d.%m.%y (%k:%i)') as time_formated FROM `values` WHERE `parameter_id` = 9002 and db_id = " . $instance->db_id . " order by time desc limit 1;";
                 $result = mysqli_query($db, $query);
                 while ($row = mysqli_fetch_object($result)) {
                     $rz1_status = $row->value_string;
                     $so_time = $row->time_formated;
                     $so_data_arr[$so_time]['value_id'] = $row->ID;
                     $so_data_arr[$so_time]['dba_notice'] = $row->dba_notice;
                 }
                 if (strtolower($rz1_status) == "open") {
                     $so_direction = "to_rz1";
                 }
                 if (strtolower($rz1_status) == "mounted") {
                     $so_direction = "to_rz2";
                 }
                 # Get RZ2 DB
                 $query = "SELECT db_id FROM `values` WHERE `parameter_id` = 1698 and `value_string` like '%" . $instance->sid . "_rz2%' limit 1";
                 $result = mysqli_query($db, $query);
                 while ($row = mysqli_fetch_object($result)) {
                     $rz2_db_id = $row->db_id;
                 }
                 if (isset($rz2_db_id) && isset($so_direction)) {
                     $rz2_server_obj = instance_actions::get_instance_by_id($rz2_db_id);
                     $so_data_arr[$so_time]['rz1_hostname'] = $instance->get_hostname();
                     $so_data_arr[$so_time]['rz1_sid'] = $instance->sid . '_RZ1';
                     $so_data_arr[$so_time]['rz1_db_id'] = $instance->db_id;
                     $so_data_arr[$so_time]['rz2_hostname'] = $rz2_server_obj->get_hostname();
                     $so_data_arr[$so_time]['rz2_sid'] = $rz2_server_obj->sid . '_RZ2';
                     $so_data_arr[$so_time]['rz2_db_id'] = $rz2_server_obj->db_id;
                     $so_data_arr[$so_time]['direction'] = $so_direction;
                 }
             }
         }
     }
     return $so_data_arr;
 }
コード例 #3
0
<?php

#error_reporting(E_ALL); ini_set('display_errors', '1');
include "./includes/templates/header.php";
include "./includes/templates/top_header.php";
include_once "./includes/classes/class_parameter_actions.php";
include_once "./includes/classes/class_instance.php";
include_once "./includes/classes/class_instance_actions.php";
# Generating instance objects
$arr_instance_objs = instance_actions::get_all_instances();
# Generating the content of the dialog box for selection a parameter
$dialog_parameter_arr = parameter_actions::get_all_parameter_array();
$dialog_parameter_html = "";
?>
<script type="text/javascript">
	var instance_search_objs = <?php 
echo instance_actions::get_all_instance_search_json();
?>
; 
	var parameter_search_objs = <?php 
echo parameter_actions::get_all_parameter_search_json();
?>
;
</script>
<div id="bottom-header">
	<div class="container clearfix">
		<h1 id="bh_h1">Database Overview</h1>
		<div id="target_menu_div">
			<ul id="target_menu">
			</ul>
		</div>