127: Generic function to write results of the query to the config dump file
128: */
129: PROCEDURE write_results(query IN VARCHAR2, separator IN VARCHAR2 default '|')
130: IS
131: l_em_result_cur INTEGER DEFAULT DBMS_SQL.OPEN_CURSOR;
132: l_col_cnt NUMBER DEFAULT 0;
133: /* increase size to handle escape characters */
134: l_columnValue VARCHAR2(6000);
135: l_status NUMBER ;
135: l_status NUMBER ;
136:
137: BEGIN
138: BEGIN
139: dbms_sql.parse(l_em_result_cur, query, dbms_sql.native);
140:
141: /* define all the columns */
142: FOR i IN 1 .. 255 LOOP
143: BEGIN
140:
141: /* define all the columns */
142: FOR i IN 1 .. 255 LOOP
143: BEGIN
144: dbms_sql.define_column(l_em_result_cur, i, l_columnValue, 4000);
145: l_col_cnt := i;
146: EXCEPTION
147: WHEN OTHERS THEN
148: IF (sqlcode = -1007) THEN exit;
151: END IF;
152: END;
153: END LOOP;
154:
155: dbms_sql.define_column(l_em_result_cur, 1, l_columnValue, 4000);
156: l_status := DBMS_SQL.EXECUTE (l_em_result_cur);
157:
158: LOOP
159: exit when (dbms_sql.fetch_rows(l_em_result_cur) <= 0);
152: END;
153: END LOOP;
154:
155: dbms_sql.define_column(l_em_result_cur, 1, l_columnValue, 4000);
156: l_status := DBMS_SQL.EXECUTE (l_em_result_cur);
157:
158: LOOP
159: exit when (dbms_sql.fetch_rows(l_em_result_cur) <= 0);
160: UTL_FILE.PUT( g_config_handle, 'em_result=');
155: dbms_sql.define_column(l_em_result_cur, 1, l_columnValue, 4000);
156: l_status := DBMS_SQL.EXECUTE (l_em_result_cur);
157:
158: LOOP
159: exit when (dbms_sql.fetch_rows(l_em_result_cur) <= 0);
160: UTL_FILE.PUT( g_config_handle, 'em_result=');
161: FOR i IN 1 .. l_col_cnt LOOP
162: IF i != 1 THEN
163: UTL_FILE.PUT( g_config_handle, separator);
161: FOR i IN 1 .. l_col_cnt LOOP
162: IF i != 1 THEN
163: UTL_FILE.PUT( g_config_handle, separator);
164: END IF;
165: dbms_sql.column_value( l_em_result_cur, i, l_columnValue );
166: /* replace seperators with escaped separators */
167: l_columnValue := replace(l_columnValue,'#','##');
168: l_columnValue := replace(l_columnValue,separator,'#'|| separator);
169: UTL_FILE.PUT( g_config_handle, l_columnValue );
170: END LOOP;
171: UTL_FILE.NEW_LINE(g_config_handle );
172: END LOOP;
173:
174: dbms_sql.close_cursor(l_em_result_cur);
175:
176: EXCEPTION
177: WHEN UTL_FILE.INVALID_FILEHANDLE
178: OR UTL_FILE.INVALID_OPERATION
176: EXCEPTION
177: WHEN UTL_FILE.INVALID_FILEHANDLE
178: OR UTL_FILE.INVALID_OPERATION
179: OR UTL_FILE.WRITE_ERROR THEN
180: IF DBMS_SQL.IS_OPEN(l_em_result_cur) = TRUE THEN
181: dbms_sql.close_cursor(l_em_result_cur);
182: END IF;
183: RAISE;
184: WHEN OTHERS THEN
177: WHEN UTL_FILE.INVALID_FILEHANDLE
178: OR UTL_FILE.INVALID_OPERATION
179: OR UTL_FILE.WRITE_ERROR THEN
180: IF DBMS_SQL.IS_OPEN(l_em_result_cur) = TRUE THEN
181: dbms_sql.close_cursor(l_em_result_cur);
182: END IF;
183: RAISE;
184: WHEN OTHERS THEN
185: IF DBMS_SQL.IS_OPEN(l_em_result_cur) = TRUE THEN
181: dbms_sql.close_cursor(l_em_result_cur);
182: END IF;
183: RAISE;
184: WHEN OTHERS THEN
185: IF DBMS_SQL.IS_OPEN(l_em_result_cur) = TRUE THEN
186: dbms_sql.close_cursor(l_em_result_cur);
187: END IF;
188: /*
189: On any non-utl file exceptions, log as em_error
182: END IF;
183: RAISE;
184: WHEN OTHERS THEN
185: IF DBMS_SQL.IS_OPEN(l_em_result_cur) = TRUE THEN
186: dbms_sql.close_cursor(l_em_result_cur);
187: END IF;
188: /*
189: On any non-utl file exceptions, log as em_error
190: for the metric.
1747:
1748: OPEN schema_array;
1749: OPEN schema_array_v2;
1750:
1751: cursor1:=dbms_sql.open_cursor;
1752:
1753: LOOP -- this loop steps through each valid schema.
1754: FETCH schema_array INTO v_schema;
1755: EXIT WHEN schema_array%notfound;
1752:
1753: LOOP -- this loop steps through each valid schema.
1754: FETCH schema_array INTO v_schema;
1755: EXIT WHEN schema_array%notfound;
1756: dbms_sql.parse(cursor1,'select c_current_version, c_component from '||v_schema||'.smp_rep_version', dbms_sql.native);
1757: dbms_sql.define_column(cursor1, 1, v_version, 10);
1758: dbms_sql.define_column(cursor1, 2, v_component, 20);
1759:
1760: l_rows_processed:=dbms_sql.execute ( cursor1 );
1753: LOOP -- this loop steps through each valid schema.
1754: FETCH schema_array INTO v_schema;
1755: EXIT WHEN schema_array%notfound;
1756: dbms_sql.parse(cursor1,'select c_current_version, c_component from '||v_schema||'.smp_rep_version', dbms_sql.native);
1757: dbms_sql.define_column(cursor1, 1, v_version, 10);
1758: dbms_sql.define_column(cursor1, 2, v_component, 20);
1759:
1760: l_rows_processed:=dbms_sql.execute ( cursor1 );
1761:
1754: FETCH schema_array INTO v_schema;
1755: EXIT WHEN schema_array%notfound;
1756: dbms_sql.parse(cursor1,'select c_current_version, c_component from '||v_schema||'.smp_rep_version', dbms_sql.native);
1757: dbms_sql.define_column(cursor1, 1, v_version, 10);
1758: dbms_sql.define_column(cursor1, 2, v_component, 20);
1759:
1760: l_rows_processed:=dbms_sql.execute ( cursor1 );
1761:
1762: LOOP -- to step through cursor1 to find console version.
1756: dbms_sql.parse(cursor1,'select c_current_version, c_component from '||v_schema||'.smp_rep_version', dbms_sql.native);
1757: dbms_sql.define_column(cursor1, 1, v_version, 10);
1758: dbms_sql.define_column(cursor1, 2, v_component, 20);
1759:
1760: l_rows_processed:=dbms_sql.execute ( cursor1 );
1761:
1762: LOOP -- to step through cursor1 to find console version.
1763: if dbms_sql.fetch_rows(cursor1) >0 then
1764: dbms_sql.column_value (cursor1, 1, v_version);
1759:
1760: l_rows_processed:=dbms_sql.execute ( cursor1 );
1761:
1762: LOOP -- to step through cursor1 to find console version.
1763: if dbms_sql.fetch_rows(cursor1) >0 then
1764: dbms_sql.column_value (cursor1, 1, v_version);
1765: dbms_sql.column_value (cursor1, 2, v_component);
1766: if v_component = 'CONSOLE' then
1767: --Found a schema that has a repository version
1760: l_rows_processed:=dbms_sql.execute ( cursor1 );
1761:
1762: LOOP -- to step through cursor1 to find console version.
1763: if dbms_sql.fetch_rows(cursor1) >0 then
1764: dbms_sql.column_value (cursor1, 1, v_version);
1765: dbms_sql.column_value (cursor1, 2, v_component);
1766: if v_component = 'CONSOLE' then
1767: --Found a schema that has a repository version
1768: v_count := v_count + 1;
1761:
1762: LOOP -- to step through cursor1 to find console version.
1763: if dbms_sql.fetch_rows(cursor1) >0 then
1764: dbms_sql.column_value (cursor1, 1, v_version);
1765: dbms_sql.column_value (cursor1, 2, v_component);
1766: if v_component = 'CONSOLE' then
1767: --Found a schema that has a repository version
1768: v_count := v_count + 1;
1769: exit;
1782: v_count := v_count + 1;
1783: --( 'Schema '||rpad(v_schema,15)|| ' has a repository version 2.x' );
1784: END LOOP;
1785:
1786: dbms_sql.close_cursor (cursor1);
1787: close schema_array;
1788: close schema_array_v2;
1789: EXCEPTION
1790: WHEN OTHERS THEN
2268: BEGIN
2269: IF g_version_category = VERSION_11gR2
2270: OR g_version_category = VERSION_12gR1
2271: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2272: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2273: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2274: DBMS_SQL.NATIVE);
2275: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2276: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2269: IF g_version_category = VERSION_11gR2
2270: OR g_version_category = VERSION_12gR1
2271: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2272: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2273: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2274: DBMS_SQL.NATIVE);
2275: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2276: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2277: LOOP
2270: OR g_version_category = VERSION_12gR1
2271: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2272: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2273: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2274: DBMS_SQL.NATIVE);
2275: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2276: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2277: LOOP
2278: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2271: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2272: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2273: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2274: DBMS_SQL.NATIVE);
2275: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2276: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2277: LOOP
2278: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2279: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2272: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2273: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2274: DBMS_SQL.NATIVE);
2275: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2276: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2277: LOOP
2278: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2279: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2280: l_sql := 'select cell.* ' ||
2274: DBMS_SQL.NATIVE);
2275: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2276: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2277: LOOP
2278: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2279: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2280: l_sql := 'select cell.* ' ||
2281: ' from ' ||
2282: ' v$cell_config cc, ' ||
2275: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2276: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2277: LOOP
2278: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2279: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2280: l_sql := 'select cell.* ' ||
2281: ' from ' ||
2282: ' v$cell_config cc, ' ||
2283: ' xmltable ' ||
2303: ' cc.conftype=''CELL'' and cellname='''|| l_ip_var || '''';
2304: write_metric('cell_config', l_sql, null, replace(l_ip_var, ':', '_') , '|' );
2305: END IF;
2306: END LOOP;
2307: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2308: END IF;
2309: EXCEPTION
2310: WHEN OTHERS THEN
2311: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2307: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2308: END IF;
2309: EXCEPTION
2310: WHEN OTHERS THEN
2311: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2312: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2313: END IF;
2314: END collect_cell_config;
2315:
2308: END IF;
2309: EXCEPTION
2310: WHEN OTHERS THEN
2311: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2312: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2313: END IF;
2314: END collect_cell_config;
2315:
2316:
2322: BEGIN
2323: IF g_version_category = VERSION_11gR2
2324: OR g_version_category = VERSION_12gR1
2325: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2326: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2327: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2328: DBMS_SQL.NATIVE);
2329: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2330: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2323: IF g_version_category = VERSION_11gR2
2324: OR g_version_category = VERSION_12gR1
2325: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2326: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2327: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2328: DBMS_SQL.NATIVE);
2329: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2330: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2331: LOOP
2324: OR g_version_category = VERSION_12gR1
2325: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2326: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2327: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2328: DBMS_SQL.NATIVE);
2329: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2330: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2331: LOOP
2332: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2325: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2326: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2327: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2328: DBMS_SQL.NATIVE);
2329: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2330: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2331: LOOP
2332: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2333: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2326: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2327: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2328: DBMS_SQL.NATIVE);
2329: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2330: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2331: LOOP
2332: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2333: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2334: l_sql := 'select gds.name, gds.availableTo, gds.cellDisk, gds.gdcomment, ' ||
2328: DBMS_SQL.NATIVE);
2329: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2330: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2331: LOOP
2332: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2333: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2334: l_sql := 'select gds.name, gds.availableTo, gds.cellDisk, gds.gdcomment, ' ||
2335: 'gds.creationTime, gds.errorCount, gds.id, round(gds.offset/1048576), ' ||
2336: 'round(gds.gdsize/1048576), gds.status ' ||
2329: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2330: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2331: LOOP
2332: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2333: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2334: l_sql := 'select gds.name, gds.availableTo, gds.cellDisk, gds.gdcomment, ' ||
2335: 'gds.creationTime, gds.errorCount, gds.id, round(gds.offset/1048576), ' ||
2336: 'round(gds.gdsize/1048576), gds.status ' ||
2337: ' from ' ||
2353: write_metric('cell_griddisk_config', l_sql,
2354: null, replace(l_ip_var, ':', '_'), '|' );
2355: END IF;
2356: END LOOP;
2357: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2358: END IF;
2359: EXCEPTION
2360: WHEN OTHERS THEN
2361: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2357: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2358: END IF;
2359: EXCEPTION
2360: WHEN OTHERS THEN
2361: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2362: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2363: END IF;
2364: END collect_griddisk_config;
2365:
2358: END IF;
2359: EXCEPTION
2360: WHEN OTHERS THEN
2361: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2362: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2363: END IF;
2364: END collect_griddisk_config;
2365:
2366:
2372: BEGIN
2373: IF g_version_category = VERSION_11gR2
2374: OR g_version_category = VERSION_12gR1
2375: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2376: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2377: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2378: DBMS_SQL.NATIVE);
2379: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2380: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2373: IF g_version_category = VERSION_11gR2
2374: OR g_version_category = VERSION_12gR1
2375: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2376: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2377: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2378: DBMS_SQL.NATIVE);
2379: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2380: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2381: LOOP
2374: OR g_version_category = VERSION_12gR1
2375: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2376: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2377: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2378: DBMS_SQL.NATIVE);
2379: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2380: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2381: LOOP
2382: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2375: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2376: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2377: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2378: DBMS_SQL.NATIVE);
2379: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2380: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2381: LOOP
2382: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2383: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2376: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2377: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2378: DBMS_SQL.NATIVE);
2379: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2380: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2381: LOOP
2382: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2383: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2384: l_sql :=
2378: DBMS_SQL.NATIVE);
2379: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2380: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2381: LOOP
2382: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2383: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2384: l_sql :=
2385: ' select cds.name, cds.cdcomment, cds.creationTime, cds.deviceName, ' ||
2386: ' cds.devicePartition, cds.errorCount,round(cds.freeSpace/1073741824, 2), cds.id, cds.lun, ' ||
2379: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2380: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2381: LOOP
2382: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2383: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2384: l_sql :=
2385: ' select cds.name, cds.cdcomment, cds.creationTime, cds.deviceName, ' ||
2386: ' cds.devicePartition, cds.errorCount,round(cds.freeSpace/1073741824, 2), cds.id, cds.lun, ' ||
2387: ' cds.raidLevel,round(cds.cdsize/1073741824, 2), cds.status ' ||
2406: write_metric('cell_celldisk_config', l_sql,
2407: null, replace(l_ip_var, ':', '_'), '|' );
2408: END IF;
2409: END LOOP;
2410: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2411: END IF;
2412: EXCEPTION
2413: WHEN OTHERS THEN
2414: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2410: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2411: END IF;
2412: EXCEPTION
2413: WHEN OTHERS THEN
2414: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2415: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2416: END IF;
2417: END collect_celldisk_config;
2418:
2411: END IF;
2412: EXCEPTION
2413: WHEN OTHERS THEN
2414: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2415: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2416: END IF;
2417: END collect_celldisk_config;
2418:
2419:
2425: BEGIN
2426: IF g_version_category = VERSION_11gR2
2427: OR g_version_category = VERSION_12gR1
2428: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2429: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2430: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2431: DBMS_SQL.NATIVE);
2432: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2433: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2426: IF g_version_category = VERSION_11gR2
2427: OR g_version_category = VERSION_12gR1
2428: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2429: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2430: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2431: DBMS_SQL.NATIVE);
2432: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2433: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2434: LOOP
2427: OR g_version_category = VERSION_12gR1
2428: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2429: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2430: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2431: DBMS_SQL.NATIVE);
2432: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2433: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2434: LOOP
2435: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2428: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2429: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2430: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2431: DBMS_SQL.NATIVE);
2432: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2433: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2434: LOOP
2435: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2436: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2429: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2430: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2431: DBMS_SQL.NATIVE);
2432: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2433: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2434: LOOP
2435: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2436: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2437: l_sql :=
2431: DBMS_SQL.NATIVE);
2432: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2433: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2434: LOOP
2435: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2436: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2437: l_sql :=
2438: ' select luns.name, luns.cellDisk, luns.deviceName, luns.id, luns.isSystemLun, ' ||
2439: ' luns.lunAutoCreate, round(luns.lunSize/1073741824, 2), luns.physicalDevices, ' ||
2432: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2433: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2434: LOOP
2435: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2436: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2437: l_sql :=
2438: ' select luns.name, luns.cellDisk, luns.deviceName, luns.id, luns.isSystemLun, ' ||
2439: ' luns.lunAutoCreate, round(luns.lunSize/1073741824, 2), luns.physicalDevices, ' ||
2440: ' luns.raidLevel, luns.status ' ||
2457: write_metric('cell_lun_config', l_sql,
2458: null, replace(l_ip_var, ':', '_'), '|' );
2459: END IF;
2460: END LOOP;
2461: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2462: END IF;
2463: EXCEPTION
2464: WHEN OTHERS THEN
2465: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2461: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2462: END IF;
2463: EXCEPTION
2464: WHEN OTHERS THEN
2465: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2466: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2467: END IF;
2468: END collect_lun_config;
2469:
2462: END IF;
2463: EXCEPTION
2464: WHEN OTHERS THEN
2465: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2466: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2467: END IF;
2468: END collect_lun_config;
2469:
2470:
2476: BEGIN
2477: IF g_version_category = VERSION_11gR2
2478: OR g_version_category = VERSION_12gR1
2479: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2480: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2481: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2482: DBMS_SQL.NATIVE);
2483: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2484: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2477: IF g_version_category = VERSION_11gR2
2478: OR g_version_category = VERSION_12gR1
2479: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2480: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2481: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2482: DBMS_SQL.NATIVE);
2483: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2484: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2485: LOOP
2478: OR g_version_category = VERSION_12gR1
2479: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2480: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2481: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2482: DBMS_SQL.NATIVE);
2483: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2484: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2485: LOOP
2486: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2479: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2480: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2481: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2482: DBMS_SQL.NATIVE);
2483: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2484: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2485: LOOP
2486: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2487: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2480: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2481: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2482: DBMS_SQL.NATIVE);
2483: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2484: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2485: LOOP
2486: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2487: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2488: l_sql :=
2482: DBMS_SQL.NATIVE);
2483: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2484: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2485: LOOP
2486: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2487: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2488: l_sql :=
2489: ' select pds.name, pds.id, pds.luns, pds.physicalInsertTime, ' ||
2490: ' round (pds.physicalSize/1073741824, 2), pds.status ' ||
2483: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2484: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2485: LOOP
2486: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2487: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2488: l_sql :=
2489: ' select pds.name, pds.id, pds.luns, pds.physicalInsertTime, ' ||
2490: ' round (pds.physicalSize/1073741824, 2), pds.status ' ||
2491: ' from ' ||
2503: write_metric('cell_physicaldisk_config', l_sql,
2504: null, replace(l_ip_var, ':', '_'), '|' );
2505: END IF;
2506: END LOOP;
2507: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2508: END IF;
2509: EXCEPTION
2510: WHEN OTHERS THEN
2511: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2507: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2508: END IF;
2509: EXCEPTION
2510: WHEN OTHERS THEN
2511: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2512: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2513: END IF;
2514: END collect_physicaldisk_config;
2515:
2508: END IF;
2509: EXCEPTION
2510: WHEN OTHERS THEN
2511: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2512: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2513: END IF;
2514: END collect_physicaldisk_config;
2515:
2516:
2522: BEGIN
2523: IF g_version_category = VERSION_11gR2
2524: OR g_version_category = VERSION_12gR1
2525: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2526: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2527: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2528: DBMS_SQL.NATIVE);
2529: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2530: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2523: IF g_version_category = VERSION_11gR2
2524: OR g_version_category = VERSION_12gR1
2525: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2526: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2527: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2528: DBMS_SQL.NATIVE);
2529: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2530: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2531: LOOP
2524: OR g_version_category = VERSION_12gR1
2525: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2526: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2527: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2528: DBMS_SQL.NATIVE);
2529: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2530: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2531: LOOP
2532: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2525: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2526: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2527: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2528: DBMS_SQL.NATIVE);
2529: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2530: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2531: LOOP
2532: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2533: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2526: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2527: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2528: DBMS_SQL.NATIVE);
2529: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2530: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2531: LOOP
2532: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2533: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2534: l_sql :=
2528: DBMS_SQL.NATIVE);
2529: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2530: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2531: LOOP
2532: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2533: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2534: l_sql :=
2535: ' select iorm.* ' ||
2536: ' from ' ||
2529: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2530: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2531: LOOP
2532: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2533: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2534: l_sql :=
2535: ' select iorm.* ' ||
2536: ' from ' ||
2537: ' v$cell_config cc, ' ||
2546: write_metric('cell_iorm_config', l_sql,
2547: null, replace(l_ip_var, ':', '_'), '|' );
2548: END IF;
2549: END LOOP;
2550: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2551: END IF;
2552: EXCEPTION
2553: WHEN OTHERS THEN
2554: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2550: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2551: END IF;
2552: EXCEPTION
2553: WHEN OTHERS THEN
2554: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2555: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2556: END IF;
2557: END collect_iorm_config;
2558:
2551: END IF;
2552: EXCEPTION
2553: WHEN OTHERS THEN
2554: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2555: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2556: END IF;
2557: END collect_iorm_config;
2558:
2559: procedure collect_patches IS
2564: BEGIN
2565: IF g_version_category = VERSION_11gR2
2566: OR g_version_category = VERSION_12gR1
2567: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2568: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2569: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2570: DBMS_SQL.NATIVE);
2571: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2572: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2565: IF g_version_category = VERSION_11gR2
2566: OR g_version_category = VERSION_12gR1
2567: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2568: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2569: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2570: DBMS_SQL.NATIVE);
2571: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2572: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2573: LOOP
2566: OR g_version_category = VERSION_12gR1
2567: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2568: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2569: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2570: DBMS_SQL.NATIVE);
2571: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2572: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2573: LOOP
2574: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2567: OR g_version_category = HIGHER_SUPPORTED_VERSION THEN
2568: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2569: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2570: DBMS_SQL.NATIVE);
2571: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2572: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2573: LOOP
2574: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2575: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2568: l_ip_cur := DBMS_SQL.OPEN_CURSOR;
2569: DBMS_SQL.PARSE(l_ip_cur, 'select distinct cellname from v$cell_config',
2570: DBMS_SQL.NATIVE);
2571: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2572: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2573: LOOP
2574: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2575: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2576: l_sql := 'select cell.* ' ||
2570: DBMS_SQL.NATIVE);
2571: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2572: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2573: LOOP
2574: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2575: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2576: l_sql := 'select cell.* ' ||
2577: ' from ' ||
2578: ' v$cell_config cc, ' ||
2571: DBMS_SQL.DEFINE_COLUMN(l_ip_cur, 1, l_ip_var, 256);
2572: l_res := DBMS_SQL.EXECUTE(l_ip_cur);
2573: LOOP
2574: IF DBMS_SQL.FETCH_ROWS(l_ip_cur)>0 THEN
2575: DBMS_SQL.COLUMN_VALUE(l_ip_cur, 1, l_ip_var);
2576: l_sql := 'select cell.* ' ||
2577: ' from ' ||
2578: ' v$cell_config cc, ' ||
2579: ' xmltable ' ||
2585: write_metric('cell_patches', l_sql,
2586: null, replace(l_ip_var, ':', '_') , '|' );
2587: END IF;
2588: END LOOP;
2589: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2590: END IF;
2591: EXCEPTION
2592: WHEN OTHERS THEN
2593: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2589: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2590: END IF;
2591: EXCEPTION
2592: WHEN OTHERS THEN
2593: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2594: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2595: END IF;
2596: END collect_patches;
2597:
2590: END IF;
2591: EXCEPTION
2592: WHEN OTHERS THEN
2593: IF DBMS_SQL.IS_OPEN(l_ip_cur) THEN
2594: DBMS_SQL.CLOSE_CURSOR(l_ip_cur);
2595: END IF;
2596: END collect_patches;
2597:
2598: /************************************************