view release on metacpan or search on metacpan
Shell/Menu.pm view on Meta::CPAN
my @formats = $self->load_formats;
my $_f;
foreach (@formats) {
$opt_disp->radiobutton( -label => $_,
-variable => \$self->options->{display_format},
-value => $_,
);
}
$menus_ref->cascade( -label => qq{Display format...});
$menus_ref->entryconfigure(
qq{Display format...}, -menu => $opt_disp,
-state => q{normal});
# Create the entries for rows returned.
my $opt_row = $menus_ref->Menu;
foreach (qw/1 10 25 50 100 all/) {
$opt_row->radiobutton( -label => $_, -variable => \$self->options->{rows},
-value => $_ );
}
$menus_ref->cascade( -label => qq{Rows return...} );
$menus_ref->entryconfigure( qq{Rows return...},
-menu => $opt_row,
-state => q{disabled});
}
sub menu_help {
my ($self, $menus_ref) = @_;
my $menu_ref =$self->menus->{help}->menu unless $menus_ref;
db/orac_Sybase.pm view on Meta::CPAN
my $sth = $self->{Database_conn}->prepare($cm) ||
die $self->{Database_conn}->errstr;
$sth->execute;
while ($cur_db = $sth->fetchrow) {
push @dbs, $cur_db;
}
$sth->finish;
}
sub add_cascade_button {
my $self = shift;
local ($_);
my($cmd_menu);
for (@_) {
/^tbl_rev$/ && do { $cmd_menu = '$main::current_db->syb_reverse_tbl("'; next;};
/^diag_ind$/ && do { $cmd_menu = '$main::current_db->syb_bad_index("'; next;};
/^frag_ind$/ && do { $cmd_menu = '$main::current_db->syb_tune("';next;};
/.*?/ && do { return;} ;
help/HelpTools.txt view on Meta::CPAN
HelpTools
Intro
=====
This is a new Orac feature which can enable you to add your own
scripts 'interactively' to the program under the 'My Tools' menu.
How 'My Tools' Works
====================
*. Basically, you add any number of cascades to the 'My Tools' menu.
*. You then add any number of buttons to each cascade.
*. Once you have your cascades and buttons in place, you can
attach various pieces of your own SQL to the buttons, and
then run them like any other normal Orac reports.
This probably sounds a lot more complicated than it is. You may
just like to play with the 'Configure My Tools' menu to see what
it can do. I'll run through its main options below:
Add a Cascade to My Tools Menu
------------------------------
This option enables you to add a cascade. As soon as you're
finished, your new cascade should immediately be available
under the 'My Tools' menu, but will not have any buttons attached.
While you're adding the new cascade, you will be asked to enter
a piece of text, which will later appear on the menu. For example,
you may want to call your cascade 'My Tuning SQL Reports'.
Edit Text for Cascade
---------------------
You may decide to change the above cascade title, to something
more appropriate, once you've added a few buttons which don't
really relate to the original cascade name. This is where you
do it, for example, change the above example to:
'My Tuning and Hit Ratio Dynamic Reports'
Delete a Cascade
----------------
Be careful when using this option. You will be given a picklist
of your current cascades, to delete one of them. If you confirm
the deletion, all of the buttons under the cascade, and the cascade
itself will disappear from Orac.
Add a Button to a Cascade
-------------------------
Once you have given yourself a cascade, this option allows you to
attach any number of buttons to it. Once you have added a button,
it will automatically appear in the 'My Tools' menu. Using this
option, will also send you directly into a screen form where you can
enter your SQL script.
NB: Please remember, DBI does not require semi-colons in its
SQL scripts as may be the case in SQL*Plus.
It is probably best if you test out your new SQL script using a
tool such as SQL*Plus (under the SYSTEM user), before pasting it
help/HelpTools.txt view on Meta::CPAN
Edit Text for Button
--------------------
Just like the similar option for Cascade, you may want to change
the name of the button on the menu. One point to note though,
the name of the button (eg: 'Dictionary Cache Ratio'), will also
be the name of the report output in the main window.
Delete a Button from a Cascade
------------------------------
Does what it says really. You choose a cascade, then choose a
button, then delete it. It will immediately disappear from the
'My Tools' menu. Please be careful with this option. Once you
have accepted deletion, the button and the attached SQL script
both disappear.
Edit SQL Attached to Button
---------------------------
I find I never get the SQL right first time with any tool. Orac
will report any errors in your script. You can then edit it via
this option, and then run it again from the menu until you're happy with
help/MenuConfig.txt view on Meta::CPAN
Menubutton^struct^
command^0^0^oi_dbspaces^$main::current_db->onstat_dbspaces^^
command^0^0^oi_chunks^$main::current_db->onstat_chunks^^
command^0^0^oi_onconfig_params^$main::current_db->onstat_onconfig_params^^
separator^
command^0^0^oi_extents_report^$main::current_db->oncheck_extents^^
command^0^0^oi_log_rep^$main::current_db->onstat_log_rep^^
command^0^0^oi_logical_log^$main::current_db->onlog_log^^
Menubutton^obj^
cascade^oi_tables^
casc_command^0^1^oi_tables^$main::current_db->my_func1^$rfm{oi_tabs_form}+0^
casc_command^0^1^oi_columns^$main::current_db->new_func^'2'+$rfm{oi_form}+0^
separator^
command^0^0^oi_synonyms^$main::current_db->dbschema_syns^^
command^0^0^oi_procedures^$main::current_db->dbschema_procs^^
command^0^0^oi_proc_list^$main::current_db->dbschema_proc_list^^
Menubutton^tune^
================
Each 'Menubutton' defines the top level menu button which appears on the main
help/MenuConfig.txt view on Meta::CPAN
people to configure Orac completely to be in a different language, without
changing the program, and only having to edit one file to do it.
We'll get back to txt/English.txt later.
Beneath each 'Menubutton', there are three valid commands:
separator^
==========
Straightforward really. This provides a separator line for the main menu
which drops down from the main Menubutton. Please do not use in cascades.
command^0^0^oi_grants^$main::current_db->dbschema_grants^^
==========================================================
A straightforward command button is produced, directly below the main Menu
option. The next two options are 1:0 switches
command^oi_grants^0
=========
help/MenuConfig.txt view on Meta::CPAN
This supplies Orac with the exact 'literal' parameters, which it will supply
to the named 'my_func' function. Note the '+' sign to separate values. The
above would produce:
-command => sub { $main::current_db->my_func(
$lg{oi_tables}, 'Tables', '1', 0) ; .... }
NB: These parameters, unfortunately for now, are literal strings, to be
interpreted as proper variables only later, when the program is actually run.
cascade^oi_tables^
==================
This produces a 'Cascade' button in the main drop-down menu from the
Menubutton.
As before, the 'oi_tables' string is looked up in txt/English.txt, thus:
oi_tables^Tables^
This puts up a 'Tables' cascade under the appropriate menu.
casc_command^0^1^oi_tables^$main::current_db->f1^$lg{oi_tables}+'Tables'+'1'+0^
===============================================================================
This is virtually identical to the earlier 'command' option. Except, it comes
under the preceding cascade, rather than under the main Menubutton.
The txt/English.txt file
=========================
Edit this file, to change the language and/or output strings of Orac without
changing the file. It is a simple two column flat-file text file, which
supplies the %lg{} Perl hash with all the strings used throughout the program.
Enjoy :-)
menu/Oracle/menu.txt view on Meta::CPAN
Menubutton^devel^
cascade^data_obj^
casc_command^0^1^oi_tables^$main::current_db->dev_tables^'TABLE'^
casc_command^0^1^indexs^$main::current_db->dev_tables^'INDEX'^
casc_command^0^1^views^$main::current_db->dev_tables^'VIEW'^
casc_command^0^1^oi_synonyms^$main::current_db->dev_tables^'SYNONYM'^
casc_command^0^1^seqs^$main::current_db->dev_tables^'SEQUENCE'^
casc_command^0^1^oi_synonyms^$main::current_db->dev_tables^'SYNONYM'^
casc_command^0^1^constrnts^$main::current_db->dev_tables^'CONSTRAINT'^
separator^
cascade^pl_sql^
casc_command^0^1^oi_procedures^$main::current_db->dev_tables^'PROCEDURE'^
casc_command^0^1^funcs^$main::current_db->dev_tables^'FUNCTION'^
casc_command^0^1^pck_hds^$main::current_db->dev_tables^'PACKAGE'^
casc_command^0^1^pck_bods^$main::current_db->dev_tables^'PACKAGE_BODY'^
casc_command^0^1^trggrs^$main::current_db->dev_tables^'TRIGGER'^
Menubutton^struct^
command^0^0^summ_tabsp^$main::current_db->tab_det_orac^$main::lg{summ_tabsp}+'tabspace_diag'+1^
command^0^0^det_tab_datafil^$main::current_db->tab_det_orac^$main::lg{det_tab_datafil}+'tab_det_orac'+1^
command^0^1^tabsp_txt^$main::current_db->show_sql^'kkspace'+'1'+$main::lg{tabsp_txt}^
separator^
command^0^1^db_files^$main::current_db->show_sql^'datafile_orac'+'1'+$main::lg{db_files}^
command^0^1^ext_rep^$main::current_db->show_sql^'ext_orac'+'1'+$main::lg{ext_rep}^
command^0^1^max_exts_free^$main::current_db->show_sql^'max_ext_orac'+'1'+$main::lg{max_exts_free}+$main::current_db->block_size()+$main::current_db->block_size()+$main::current_db->block_size()+$main::current_db->block_size()+$main::current_db->block...
separator^
command^0^0^dba_views^$main::current_db->dbas_orac^^
Menubutton^obj^
cascade^data_obj^
casc_command^0^0^tabs^$main::current_db->generic_hlist^'Tables'+'.'^
casc_command^0^0^indexs^$main::current_db->generic_hlist^'Indexes'+'.'^
casc_command^0^0^views^$main::current_db->generic_hlist^'Views'+'.'^
casc_command^0^0^seqs^$main::current_db->generic_hlist^'Sequences'+'.'^
casc_command^0^0^lnks^$main::current_db->generic_hlist^'Links'+':'^
casc_command^0^0^synyms^$main::current_db->generic_hlist^'Synonyms'+'.'^
casc_command^0^0^constrnts^$main::current_db->generic_hlist^'Constraints'+'.'^
cascade^user_obj^
casc_command^0^0^users^$main::current_db->generic_hlist^'Users'+'.'^
casc_command^0^0^usergrant^$main::current_db->generic_hlist^'UserGrants'+'.'^
casc_command^0^0^rols^$main::current_db->generic_hlist^'Roles'+'.'^
casc_command^0^0^rolegrnts^$main::current_db->generic_hlist^'RoleGrants'+'.'^
casc_command^0^0^profiles^$main::current_db->generic_hlist^'Profiles'+'.'^
cascade^logical_struct^
casc_command^0^0^tabsp^$main::current_db->generic_hlist^'Tablespaces'+'.'^
casc_command^0^0^rollback^$main::current_db->generic_hlist^'Rollbacks'+'.'^
separator^
cascade^pl_sql^
casc_command^0^0^procs^$main::current_db->generic_hlist^'Procedures'+'.'^
casc_command^0^0^pck_hds^$main::current_db->generic_hlist^'PackageHeads'+'.'^
casc_command^0^0^pck_bods^$main::current_db->generic_hlist^'PackageBods'+'.'^
casc_command^0^0^funcs^$main::current_db->generic_hlist^'Functions'+'.'^
casc_command^0^0^trggrs^$main::current_db->generic_hlist^'Triggers'+'.'^
casc_command^0^0^comments^$main::current_db->generic_hlist^'Comments'+'.'^
cascade^snaps^
casc_command^0^0^snaps^$main::current_db->generic_hlist^'Snapshots'+'.'^
casc_command^0^0^snap_logs^$main::current_db->generic_hlist^'SnapshotLogs'+'.'^
#casc_command^0^0^refresh_grps^$main::current_db->generic_hlist^'Refreshgroups'+'.'^
separator^
cascade^sql_crt_states^
casc_command^0^1^constrnts^$main::current_db->all_stf^'Constraints'+'99'+2^
casc_command^0^1^usergrant^$main::current_db->all_stf^'UserGrants'+'99'+2^
casc_command^0^1^synyms^$main::current_db->all_stf^'Synonyms'+'99'+2^
casc_command^0^1^views^$main::current_db->all_stf^'Views'+'99'+2^
cascade^db_recr_sql^
casc_command^0^1^recrt_base_sql^$main::current_db->orac_create_db^^
casc_command^0^1^raw_db_sql^$main::current_db->show_sql^'steps'+'1'+$main::lg{raw_db_sql}^
separator^
command^0^1^inval_obj^$main::current_db->show_sql^'alter_comp_orac'+'1'+$main::lg{inval_obj}^
command^errors_orac^1^err_obj^$main::current_db->errors_orac^^
Menubutton^user^
cascade^user_record^
casc_command^0^1^logdon_usrs^$main::current_db->show_sql^'curr_users_orac'+'1'+$main::lg{logdon_usrs}^
casc_command^0^1^reg_usrs^$main::current_db->show_sql^'user_rep_orac'+'1'+$main::lg{reg_usrs}^
casc_command^0^1^user_summ^$main::current_db->show_sql^'user_summ'+'1'+$main::lg{user_summ}^
cascade^user_process^
casc_command^0^1^what_sql_users^$main::current_db->show_sql^'what_sql'+'1'+$main::lg{what_sql_users}^
casc_command^0^1^user_upd_db^$main::current_db->show_sql^'user_upd_orac'+'1'+$main::lg{user_upd_db}^
casc_command^0^1^user_proc_io^$main::current_db->show_sql^'user_io_orac'+'1'+$main::lg{user_proc_io}^
casc_command^0^1^curr_procs^$main::current_db->show_sql^'spin_orac'+'1'+$main::lg{curr_procs}^
cascade^user_access^
casc_command^0^1^rols_db^$main::current_db->show_sql^'role_rep_orac'+'1'+$main::lg{rols_db}^
casc_command^0^1^profiles_db^$main::current_db->show_sql^'prof_rep_orac'+'1'+$main::lg{profiles_db}^
casc_command^0^1^quots^$main::current_db->show_sql^'quot_rep_orac'+'1'+$main::lg{quots}^
separator^
command^addr_orac^0^spec_addrss^$main::current_db->addr_orac^^
command^sids_orac^0^spec_sids^$main::current_db->sids_orac^^
Menubutton^lck^
command^0^1^lcks_held^$main::current_db->show_sql^'lock_orac'+'1'+$main::lg{lcks_held}^
command^0^0^who_hold^$main::current_db->who_hold^^
command^0^1^who_accs_obj^$main::current_db->show_sql^'lock_objects'+'1'+$main::lg{who_accs_obj}^
command^0^1^rollbk_lcks^$main::current_db->show_sql^'rollback_locks'+'1'+$main::lg{rollbk_lcks}^
command^0^1^sess_wt_stats^$main::current_db->tune_wait^^
command^0^1^gh_summ_sess^$main::current_db->show_sql^'gh_summ_sess'+'1'+$main::lg{gh_summ_sess}^
Menubutton^tune^
cascade^hits^
casc_command^0^0^v1^$main::current_db->tab_det_orac^$main::lg{v1}+'tune_health'+1^
casc_command^0^0^v2^$main::current_db->tab_det_orac^$main::lg{v2}+'tune_health'+2^
command^explain_plan^0^explain_plan^$main::current_db->explain_plan^^
cascade^shared_pool_sql^
casc_command^0^1^mem_hogs1^$main::current_db->tune_pigs^1^
casc_command^0^1^mem_hogs2^$main::current_db->tune_pigs^2^
casc_command^0^1^pool_frag^$main::current_db->gh_pool_frag^^
casc_command^0^1^sga_stat^$main::current_db->show_sql^'sgastat'+'2'+$main::lg{sga_stat}^
casc_command^0^1^sga_stats^$main::current_db->show_sql^'sgastat'+'1'+$main::lg{sga_stats}^
separator^
cascade^rollback^
casc_command^0^1^rollbk_stats^$main::current_db->gh_roll_stats^^
casc_command^0^1^rollname^$main::current_db->gh_roll_name^^
casc_command^0^1^rollsegs^$main::current_db->show_sql^'roll_orac'+'3'+$main::lg{rollsegs}^
separator^
cascade^params^
casc_command^0^1^nls_prms^$main::current_db->show_sql^'nls'+'1'+$main::lg{nls_prms}^
casc_command^0^1^db_info^$main::current_db->show_sql^'database_info'+'1'+$main::lg{db_info}^
casc_command^0^1^vers_info^$main::current_db->show_sql^'vdoll_version'+'1'+$main::lg{vers_info}^
casc_command^0^1^sh_prms^$main::current_db->show_sql^'vdoll_param_simp'+'1'+$main::lg{sh_prms}^
cascade^mts^
casc_command^0^0^mts_mem^$main::current_db->mts_mem^^
casc_command^0^1^mts_bzy^$main::current_db->show_sql^'dispatch_stuff'+'1'+$main::lg{mts_bzy}^
casc_command^0^1^mts_wt_disp^$main::current_db->show_sql^'dispatch_stuff'+'2'+$main::lg{mts_wt_disp}^
casc_command^0^1^mts_wait_srv^$main::current_db->show_sql^'dispatch_stuff'+'3'+$main::lg{mts_wait_srv}^
casc_command^0^1^tot_sess_uga^$main::current_db->show_sql^'sess_curr_max_mem'+'2'+$main::lg{tot_sess_uga}^
casc_command^0^1^sess_uga_max^$main::current_db->show_sql^'sess_curr_max_mem'+'3'+$main::lg{sess_uga_max}^
separator^
cascade^dbwr^
casc_command^0^1^file_io^$main::current_db->dbwr_fileio^^
casc_command^0^1^oracle_sess_io^$main::current_db->live_update^'dbtop'+'1'+$main::lg{oracle_sess_io}^
casc_command^0^1^dbwr_mon^$main::current_db->show_sql^'dbwr_monitor'+'1'+$main::lg{dbwr_mon}^
casc_command^0^1^dbwr_lru_ltch^$main::current_db->show_sql^'dbwr_lru_latch'+'1'+$main::lg{dbwr_lru_ltch}^
cascade^lgwr^
casc_command^0^1^lgwr_mon^$main::current_db->show_sql^'lgwr_monitor'+'1'+$main::lg{lgwr_mon}^
casc_command^0^1^lgwr_redo_ltchs^$main::current_db->show_sql^'lgwr_buff_latch'+'1'+$main::lg{lgwr_redo_ltchs}^
cascade^dbwr_lgwr^
casc_command^0^1^dbwr_lgwr_wts^$main::current_db->show_sql^'lgwr_and_dbwr_wait'+'1'+$main::lg{dbwr_lgwr_wts}^
cascade^sorts^
casc_command^0^1^sort_mon^$main::current_db->show_sql^'where_sorts'+'1'+$main::lg{sort_mon}^
casc_command^0^1^id_srt_usrs^$main::current_db->show_sql^'who_sorts'+'1'+$main::lg{id_srt_usrs}^
separator^
cascade^ltchs^
casc_command^0^1^lw_ratio^$main::current_db->show_sql^'latch_hit_ratio'+'1'+$main::lg{lw_ratio}^
casc_command^0^1^lt_wtrs^$main::current_db->show_sql^'act_latch_hit_ratio'+'1'+$main::lg{lt_wtrs}^
cascade^tabsp_tune^
casc_command^0^1^tabsp_frag^$main::current_db->show_sql^'defragger'+'1'+$main::lg{tabsp_frag}^
casc_command^0^1^tabsp_sp_shorts^$main::current_db->show_sql^'tab_shortage'+'1'+$main::lg{tabsp_sp_shorts}+$main::current_db->block_size()+$main::current_db->block_size()^
menu/Oracle/menu_dev.txt view on Meta::CPAN
Menubutton^devel^
cascade^data_obj^
casc_command^0^1^oi_tables^$main::current_db->dev_tables^'TABLE'^
casc_command^0^1^indexs^$main::current_db->dev_tables^'INDEX'^
casc_command^0^1^views^$main::current_db->dev_tables^'VIEW'^
casc_command^0^1^oi_synonyms^$main::current_db->dev_tables^'SYNONYM'^
casc_command^0^1^seqs^$main::current_db->dev_tables^'SEQUENCE'^
casc_command^0^1^oi_synonyms^$main::current_db->dev_tables^'SYNONYM'^
casc_command^0^1^constrnts^$main::current_db->dev_tables^'CONSTRAINT'^
separator^
cascade^pl_sql^
casc_command^0^1^oi_procedures^$main::current_db->dev_tables^'PROCEDURE'^
casc_command^0^1^funcs^$main::current_db->dev_tables^'FUNCTION'^
casc_command^0^1^pck_hds^$main::current_db->dev_tables^'PACKAGE'^
casc_command^0^1^pck_bods^$main::current_db->dev_tables^'PACKAGE_BODY'^
casc_command^0^1^trggrs^$main::current_db->dev_tables^'TRIGGER'^
menu/Oracle/menu_dev_jpeg.txt view on Meta::CPAN
Menubutton^devel^
command^0^1^oi_tables^$main::current_db->dev_tables^'TABLE'^
command^0^1^indexs^$main::current_db->dev_tables^'INDEX'^
command^0^1^oi_synonyms^$main::current_db->dev_tables^'SYNONYM'^
command^0^1^hits^$main::current_db->dev_jpeg_tunen^'SYNONYM'^
Menubutton^chart^
cascade^data_obj^
casc_command^0^1^objcnt^$main::current_db->dev_jpeg^'OBJCNT'^
casc_command^0^1^invobjcnt^$main::current_db->dev_jpeg^'INVOBJCNT'^
casc_command^0^1^allobjcnt^$main::current_db->dev_jpeg^'ALLOBJCNT'^
casc_command^0^1^invallobjcnt^$main::current_db->dev_jpeg^'INVALLOBJCNT'^
separator^
command^0^1^tabspace^$main::current_db->dev_jpeg^'TABSPACE'^
menu/Oracle/menu_jpeg.txt view on Meta::CPAN
Menubutton^devel^
cascade^data_obj^
casc_command^0^1^oi_tables^$main::current_db->dev_tables^'TABLE'^
casc_command^0^1^indexs^$main::current_db->dev_tables^'INDEX'^
casc_command^0^1^views^$main::current_db->dev_tables^'VIEW'^
casc_command^0^1^oi_synonyms^$main::current_db->dev_tables^'SYNONYM'^
casc_command^0^1^seqs^$main::current_db->dev_tables^'SEQUENCE'^
casc_command^0^1^oi_synonyms^$main::current_db->dev_tables^'SYNONYM'^
casc_command^0^1^constrnts^$main::current_db->dev_tables^'CONSTRAINT'^
separator^
cascade^pl_sql^
casc_command^0^1^oi_procedures^$main::current_db->dev_tables^'PROCEDURE'^
casc_command^0^1^funcs^$main::current_db->dev_tables^'FUNCTION'^
casc_command^0^1^pck_hds^$main::current_db->dev_tables^'PACKAGE'^
casc_command^0^1^pck_bods^$main::current_db->dev_tables^'PACKAGE_BODY'^
casc_command^0^1^trggrs^$main::current_db->dev_tables^'TRIGGER'^
Menubutton^struct^
command^0^0^summ_tabsp^$main::current_db->tab_det_orac^$main::lg{summ_tabsp}+'tabspace_diag'+1^
command^0^0^det_tab_datafil^$main::current_db->tab_det_orac^$main::lg{det_tab_datafil}+'tab_det_orac'+1^
command^0^1^tabsp_txt^$main::current_db->show_sql^'kkspace'+'1'+$main::lg{tabsp_txt}^
separator^
command^0^1^db_files^$main::current_db->show_sql^'datafile_orac'+'1'+$main::lg{db_files}^
command^0^1^ext_rep^$main::current_db->show_sql^'ext_orac'+'1'+$main::lg{ext_rep}^
command^0^1^max_exts_free^$main::current_db->show_sql^'max_ext_orac'+'1'+$main::lg{max_exts_free}+$main::current_db->block_size()+$main::current_db->block_size()+$main::current_db->block_size()+$main::current_db->block_size()+$main::current_db->block...
separator^
command^0^0^dba_views^$main::current_db->dbas_orac^^
Menubutton^obj^
cascade^data_obj^
casc_command^0^0^tabs^$main::current_db->generic_hlist^'Tables'+'.'^
casc_command^0^0^indexs^$main::current_db->generic_hlist^'Indexes'+'.'^
casc_command^0^0^views^$main::current_db->generic_hlist^'Views'+'.'^
casc_command^0^0^seqs^$main::current_db->generic_hlist^'Sequences'+'.'^
casc_command^0^0^lnks^$main::current_db->generic_hlist^'Links'+':'^
casc_command^0^0^synyms^$main::current_db->generic_hlist^'Synonyms'+'.'^
casc_command^0^0^constrnts^$main::current_db->generic_hlist^'Constraints'+'.'^
cascade^user_obj^
casc_command^0^0^users^$main::current_db->generic_hlist^'Users'+'.'^
casc_command^0^0^usergrant^$main::current_db->generic_hlist^'UserGrants'+'.'^
casc_command^0^0^rols^$main::current_db->generic_hlist^'Roles'+'.'^
casc_command^0^0^rolegrnts^$main::current_db->generic_hlist^'RoleGrants'+'.'^
casc_command^0^0^profiles^$main::current_db->generic_hlist^'Profiles'+'.'^
cascade^logical_struct^
casc_command^0^0^tabsp^$main::current_db->generic_hlist^'Tablespaces'+'.'^
casc_command^0^0^rollback^$main::current_db->generic_hlist^'Rollbacks'+'.'^
separator^
cascade^pl_sql^
casc_command^0^0^procs^$main::current_db->generic_hlist^'Procedures'+'.'^
casc_command^0^0^pck_hds^$main::current_db->generic_hlist^'PackageHeads'+'.'^
casc_command^0^0^pck_bods^$main::current_db->generic_hlist^'PackageBods'+'.'^
casc_command^0^0^funcs^$main::current_db->generic_hlist^'Functions'+'.'^
casc_command^0^0^trggrs^$main::current_db->generic_hlist^'Triggers'+'.'^
casc_command^0^0^comments^$main::current_db->generic_hlist^'Comments'+'.'^
cascade^snaps^
casc_command^0^0^snaps^$main::current_db->generic_hlist^'Snapshots'+'.'^
casc_command^0^0^snap_logs^$main::current_db->generic_hlist^'SnapshotLogs'+'.'^
#casc_command^0^0^refresh_grps^$main::current_db->generic_hlist^'Refreshgroups'+'.'^
separator^
cascade^sql_crt_states^
casc_command^0^1^constrnts^$main::current_db->all_stf^'Constraints'+'99'+2^
casc_command^0^1^usergrant^$main::current_db->all_stf^'UserGrants'+'99'+2^
casc_command^0^1^synyms^$main::current_db->all_stf^'Synonyms'+'99'+2^
casc_command^0^1^views^$main::current_db->all_stf^'Views'+'99'+2^
cascade^db_recr_sql^
casc_command^0^1^recrt_base_sql^$main::current_db->orac_create_db^^
casc_command^0^1^raw_db_sql^$main::current_db->show_sql^'steps'+'1'+$main::lg{raw_db_sql}^
separator^
command^0^1^inval_obj^$main::current_db->show_sql^'alter_comp_orac'+'1'+$main::lg{inval_obj}^
command^errors_orac^1^err_obj^$main::current_db->errors_orac^^
Menubutton^user^
cascade^user_record^
casc_command^0^1^logdon_usrs^$main::current_db->show_sql^'curr_users_orac'+'1'+$main::lg{logdon_usrs}^
casc_command^0^1^reg_usrs^$main::current_db->show_sql^'user_rep_orac'+'1'+$main::lg{reg_usrs}^
casc_command^0^1^user_summ^$main::current_db->show_sql^'user_summ'+'1'+$main::lg{user_summ}^
cascade^user_process^
casc_command^0^1^what_sql_users^$main::current_db->show_sql^'what_sql'+'1'+$main::lg{what_sql_users}^
casc_command^0^1^user_upd_db^$main::current_db->show_sql^'user_upd_orac'+'1'+$main::lg{user_upd_db}^
casc_command^0^1^user_proc_io^$main::current_db->show_sql^'user_io_orac'+'1'+$main::lg{user_proc_io}^
casc_command^0^1^curr_procs^$main::current_db->show_sql^'spin_orac'+'1'+$main::lg{curr_procs}^
cascade^user_access^
casc_command^0^1^rols_db^$main::current_db->show_sql^'role_rep_orac'+'1'+$main::lg{rols_db}^
casc_command^0^1^profiles_db^$main::current_db->show_sql^'prof_rep_orac'+'1'+$main::lg{profiles_db}^
casc_command^0^1^quots^$main::current_db->show_sql^'quot_rep_orac'+'1'+$main::lg{quots}^
separator^
command^addr_orac^0^spec_addrss^$main::current_db->addr_orac^^
command^sids_orac^0^spec_sids^$main::current_db->sids_orac^^
Menubutton^lck^
command^0^1^lcks_held^$main::current_db->show_sql^'lock_orac'+'1'+$main::lg{lcks_held}^
command^0^0^who_hold^$main::current_db->who_hold^^
command^0^1^who_accs_obj^$main::current_db->show_sql^'lock_objects'+'1'+$main::lg{who_accs_obj}^
command^0^1^rollbk_lcks^$main::current_db->show_sql^'rollback_locks'+'1'+$main::lg{rollbk_lcks}^
command^0^1^sess_wt_stats^$main::current_db->tune_wait^^
command^0^1^gh_summ_sess^$main::current_db->show_sql^'gh_summ_sess'+'1'+$main::lg{gh_summ_sess}^
Menubutton^tune^
cascade^hits^
casc_command^0^0^v1^$main::current_db->tab_det_orac^$main::lg{v1}+'tune_health'+1^
casc_command^0^0^v2^$main::current_db->tab_det_orac^$main::lg{v2}+'tune_health'+2^
command^explain_plan^0^explain_plan^$main::current_db->explain_plan^^
cascade^shared_pool_sql^
casc_command^0^1^mem_hogs1^$main::current_db->tune_pigs^1^
casc_command^0^1^mem_hogs2^$main::current_db->tune_pigs^2^
casc_command^0^1^pool_frag^$main::current_db->gh_pool_frag^^
casc_command^0^1^sga_stat^$main::current_db->show_sql^'sgastat'+'2'+$main::lg{sga_stat}^
casc_command^0^1^sga_stats^$main::current_db->show_sql^'sgastat'+'1'+$main::lg{sga_stats}^
separator^
cascade^rollback^
casc_command^0^1^rollbk_stats^$main::current_db->gh_roll_stats^^
casc_command^0^1^rollname^$main::current_db->gh_roll_name^^
casc_command^0^1^rollsegs^$main::current_db->show_sql^'roll_orac'+'3'+$main::lg{rollsegs}^
separator^
cascade^params^
casc_command^0^1^nls_prms^$main::current_db->show_sql^'nls'+'1'+$main::lg{nls_prms}^
casc_command^0^1^db_info^$main::current_db->show_sql^'database_info'+'1'+$main::lg{db_info}^
casc_command^0^1^vers_info^$main::current_db->show_sql^'vdoll_version'+'1'+$main::lg{vers_info}^
casc_command^0^1^sh_prms^$main::current_db->show_sql^'vdoll_param_simp'+'1'+$main::lg{sh_prms}^
cascade^mts^
casc_command^0^0^mts_mem^$main::current_db->mts_mem^^
casc_command^0^1^mts_bzy^$main::current_db->show_sql^'dispatch_stuff'+'1'+$main::lg{mts_bzy}^
casc_command^0^1^mts_wt_disp^$main::current_db->show_sql^'dispatch_stuff'+'2'+$main::lg{mts_wt_disp}^
casc_command^0^1^mts_wait_srv^$main::current_db->show_sql^'dispatch_stuff'+'3'+$main::lg{mts_wait_srv}^
casc_command^0^1^tot_sess_uga^$main::current_db->show_sql^'sess_curr_max_mem'+'2'+$main::lg{tot_sess_uga}^
casc_command^0^1^sess_uga_max^$main::current_db->show_sql^'sess_curr_max_mem'+'3'+$main::lg{sess_uga_max}^
separator^
cascade^dbwr^
casc_command^0^1^file_io^$main::current_db->dbwr_fileio^^
casc_command^0^1^oracle_sess_io^$main::current_db->live_update^'dbtop'+'1'+$main::lg{oracle_sess_io}^
casc_command^0^1^dbwr_mon^$main::current_db->show_sql^'dbwr_monitor'+'1'+$main::lg{dbwr_mon}^
casc_command^0^1^dbwr_lru_ltch^$main::current_db->show_sql^'dbwr_lru_latch'+'1'+$main::lg{dbwr_lru_ltch}^
cascade^lgwr^
casc_command^0^1^lgwr_mon^$main::current_db->show_sql^'lgwr_monitor'+'1'+$main::lg{lgwr_mon}^
casc_command^0^1^lgwr_redo_ltchs^$main::current_db->show_sql^'lgwr_buff_latch'+'1'+$main::lg{lgwr_redo_ltchs}^
cascade^dbwr_lgwr^
casc_command^0^1^dbwr_lgwr_wts^$main::current_db->show_sql^'lgwr_and_dbwr_wait'+'1'+$main::lg{dbwr_lgwr_wts}^
cascade^sorts^
casc_command^0^1^sort_mon^$main::current_db->show_sql^'where_sorts'+'1'+$main::lg{sort_mon}^
casc_command^0^1^id_srt_usrs^$main::current_db->show_sql^'who_sorts'+'1'+$main::lg{id_srt_usrs}^
separator^
cascade^ltchs^
casc_command^0^1^lw_ratio^$main::current_db->show_sql^'latch_hit_ratio'+'1'+$main::lg{lw_ratio}^
casc_command^0^1^lt_wtrs^$main::current_db->show_sql^'act_latch_hit_ratio'+'1'+$main::lg{lt_wtrs}^
cascade^tabsp_tune^
casc_command^0^1^tabsp_frag^$main::current_db->show_sql^'defragger'+'1'+$main::lg{tabsp_frag}^
casc_command^0^1^tabsp_sp_shorts^$main::current_db->show_sql^'tab_shortage'+'1'+$main::lg{tabsp_sp_shorts}+$main::current_db->block_size()+$main::current_db->block_size()^
Menubutton^chart^
cascade^chart^
casc_command^0^1^dbaobjcnt^$main::current_db->dev_jpeg^'DBAOBJCNT'^
casc_command^0^1^invdbaobjcnt^$main::current_db->dev_jpeg^'INVDBAOBJCNT'^
casc_command^0^1^sga_figs^$main::current_db->dev_jpeg^'SGAFIGS'^
casc_command^0^1^userhits^$main::current_db->dev_jpeg^'USERHITRATIOS'^
cascade^tabsp^
casc_command^0^1^dbatabspace^$main::current_db->dev_jpeg^'DBATABSPACE'^
separator^
command^0^1^hits^$main::current_db->dev_jpeg_tunen^'SYNONYM'^
command^0^1^tabsp_br^$main::current_db->tabsp_hlist^'Tabspace'+':'^
menu/Sybase/menu.txt view on Meta::CPAN
Menubutton^user^
command^0^1^logdon_usrs^$main::current_db->show_sql^'curr_users_syb'+'1'+$main::lg{logdon_usrs}^
command^0^1^user_summ^$main::current_db->show_sql^'actv_users_syb'+'1'+$main::lg{user_summ}^
command^0^1^curr_procs^$main::current_db->show_sql^'who_do_syb'+'1'+$main::lg{curr_procs}^
command^0^1^reg_usrs^$main::current_db->show_sql^'user_reg_syb'+'1'+$main::lg{reg_usrs}^
separator^
command^0^1^lcks_held^$main::current_db->show_sql^'lcks_syb'+'1'+$main::lg{lcks_held}^
command^0^1^what_sql_users^$main::current_db->dbcc_pss^'What SQL Users Executing'+'.'^
command^0^1^what_memory^$main::current_db->dbcc_memusage^'What`s in memory?'+'.'^
Menubutton^diag^
cascade^diag^
add_cascade_button^diag_ind^
cascade^frag^
add_cascade_button^frag_ind^
Menubutton^rev^
command^0^1^db_recr_sql^$main::current_db->syb_reverse_db^$main::lg{db_recr_sql}+'db_recr_sql'^
command^0^1^login_rev^$main::current_db->syb_reverse_login^$main::lg{login_rev}+'login_rev'^
cascade^tbl_rev^
add_cascade_button^tbl_rev^
command^0^1^dev_rev^$main::current_db->syb_reverse_dev^$main::lg{dev_rev}+'dev_rev'^
separator^
command^explain_plan^0^explain_plan^$main::current_db->explain_plan^^
orac_dba.pl view on Meta::CPAN
}
}
}
$menu_command = $menu_command . ');main::ubz()}); ' . "\n";
}
if ($menu_line[0] eq 'separator'){
$menu_command = $menu_command .
' $main::tm_but[$main::tm_but_ct]->separator(); ' .
"\n";
}
if ($menu_line[0] eq 'cascade'){
# Ok, it ain't pretty, but then are you first thing
# of a morning? :)
$menu_command =
$menu_command .
' $main::tm_but[$main::tm_but_ct]->cascade(-label=>$main::lg{' .
$menu_line[1] . '}); ' .
"\n" .
' $main::casc = $main::tm_but[$main::tm_but_ct]->cget(-menu); ' .
"\n" .
' $main::casc_item = $main::casc->Menu; ' .
"\n" .
' $main::tm_but[$main::tm_but_ct]->entryconfigure($main::lg{' .
$menu_line[1] .
'}, -menu => $main::casc_item); ' .
"\n";
}
if ($menu_line[0] eq 'add_cascade_button') {
$menu_command .= $main::current_db->add_cascade_button($menu_line[1]);
}
}
close(MENU_F);
# And if you think it was fun writing that stuff above,
# then you ain't coming to no parties of mine :)
# Here we go! Slap up those menus.
print STDERR "config_menu: menu_command >\n$menu_command\n<\n"
orac_dba.pl view on Meta::CPAN
open(SAV_SQL,">$filename");
print SAV_SQL $$txt_ref->get("1.0", "end");
close(SAV_SQL);
return $filename;
}
=head2 ed_butt
Allows configuration of 'My Tools' menus, buttons, cascades, etc. Tries
to make the setting up of new buttons, cascades etc, as painless as
possible.
=cut
sub ed_butt {
# Allow configuration of 'My Tools' menus, buttons, cascades, etc
my($casc,$butt) = @_;
my $ed_fl_txt = main::get_butt_text($casc,$butt);
my $sql_file = $main::orac_home.'/sql/tools/' . $casc . '.' . $butt . '.sql';
my $dirname = File::Basename::dirname($sql_file);
my $basename = File::Basename::basename($sql_file);
$sql_file = File::Spec->catfile($dirname, $basename);
my $window = $main::mw->Toplevel();
$window->title( "$main::lg{cascade} $casc,
$main::lg{button} $butt");
my $ed_sql_txt = "$ed_fl_txt: $main::lg{ed_sql_txt}";
my $ed_sql_txt_cnt = 0;
$window->Label( -textvariable => \$ed_sql_txt,
-anchor=>'n',
-relief=>'groove'
)->pack(-expand=>'no');
orac_dba.pl view on Meta::CPAN
my($param,$loc_casc,$loc_butt) = @_;
my $main_check;
my $title;
my $action;
my $inp_text;
my $sec_check;
if(($param == 1)||($param == 99)||($param == 69)||($param == 49)){
$main_check = 'C';
$title = $main::lg{add_cascade};
my $main_field = 1;
my $main_inp_value;
my $add_text = $main::lg{casc_text};
$action = $main::lg{add};
if($param == 69){
$title = $main::lg{upd_cascade};
$action = $main::lg{upd};
} elsif($param == 49) {
$main_check = 'B';
$title = "$main::lg{cascade} $loc_casc, $main::lg{button}";
$add_text = $main::lg{upd_button};
$action = $main::lg{upd};
} elsif($param == 99) {
$main_field = 2;
$main_check = 'B';
$title = "$main::lg{cascade} $loc_casc: $main::lg{add_button}";
$add_text = $main::lg{butt_text};
}
if(($param == 69)||($param == 49)){
$main_inp_value = $loc_casc;
} else {
my @inp_value;
orac_dba.pl view on Meta::CPAN
my @casc1;
my @casc2;
my $d;
my $message;
$main_check = 'C';
my $del_text = $main::lg{casc_text};
if($param == 2){
$title = $main::lg{del_cascade};
$action = $main::lg{del};
$message = $main::lg{del_message};
} elsif($param == 3) {
$title = $main::lg{add_button};
$action = $main::lg{next};
$message = $main::lg{add_butt_mess};
} elsif($param == 4) {
orac_dba.pl view on Meta::CPAN
$sec_check = 'B';
$title = $main::lg{config_edit_butt};
$action = $main::lg{next};
$message = $main::lg{choose_casc};
} elsif($param == 59) {
$main_check = 'B';
$title = $main::lg{config_edit_butt};
$action = $main::lg{next};
$message = "$main::lg{cascade} $loc_casc: $main::lg{choose_butt}";
$del_text = $main::lg{choose_butt};
} elsif($param == 79) {
$main_check = 'B';
$title = $main::lg{config_edit_sql};
$action = $main::lg{next};
$message = $main::lg{ed_sql_mess2};
} elsif($param == 89) {
$main_check = 'B';
$title = $main::lg{del_button};
$action = $main::lg{del};
$message = "$main::lg{cascade} $loc_casc: $main::lg{del_butt_mess2}";
$del_text = $main::lg{del_butt_text};
}
my $i_count = 0;
my $jt_config_file = File::Spec->catfile($main::orac_home,'config.tools');
if(open(JT_CONFIG, $jt_config_file )){
while(<JT_CONFIG>){
orac_dba.pl view on Meta::CPAN
if ($main::splash_screen) {
$main::splash_screen->destroy()
}
}
sub colour_menu {
my($file_mb_ref, $text, $col_ref) = @_;
$$file_mb_ref->cascade(-label=>$text);
my $col_men = $$file_mb_ref->cget(-menu);
my $colour_cols = $col_men->Menu;
# Now pick up all the lovely colours and build a radiobutton
$$file_mb_ref->entryconfigure($text,-menu=>$colour_cols);
open(COLOUR_FILE, "$FindBin::RealBin/txt/colours.txt");
while(<COLOUR_FILE>){
chomp;
txt/English.txt view on Meta::CPAN
about_orac^About Orac & Terms of Use^
allobjcnt^All Object Count^
apply^Apply^
auto_clear^Automatic Clearance of Screen, Press Switch for Manual^
ind_crt^Create Index^
ind_type^Index Type^
segm^Segment^
uniq^Unique^
add^Add^
add_butt_mess^Please pick the cascade you wish to attach button to^
add_button^Add Button^
add_cascade^Add Cascade^
are_you_sure^Please Confirm^
back_col_menu^Background Colour^
back_dir^Go Back a Directory^
back_procs^Background Processes^
bar_col^red^
blk_siz^Block Size^
build_index^Work out potential Index Creation SQL^
butt_text^Button Text (Report Title)^
button^Button^
cancel^Cancel^
casc_text^Cascade Text^
cascade^Cascade^
change_dbtyp^Change DB^
chart^Chart^
choose_butt^Choose Button^
choose_casc^Choose Cascade^
clear^Clear Screen^
comments^Comments^
comment^Possible Comments on Data Object^
comp_errs_for^Compilation Errors for^
compr_extnts^Compressed Extents^
config_add_butt^Add a Button to a Cascade^
txt/English.txt view on Meta::CPAN
dbwr_lgwr_wts^DBWR & LGWR Waits Monitor^
dbwr_lru_ltch^DBWR LRU Latches^
dbwr_mon^DBWR Monitor^
def_backgr_col^steelblue2^
def_bg_col^light gray^
def_fg_col^black^
def_fill_fld_col^white^
defaults^Defaults^
del^Delete^
del_butt_mess2^This will delete the button and attached SQL^
del_butt_mess^Please pick the cascade you wish to delete button from^
del_butt_text^Button for Deletion^
del_button^Delete Button^
del_cascade^Delete Cascade^
del_message^This will delete the cascade, and all attached buttons/SQL^
det_tab_datafil^Detailed Chart by Tablespace/Datafile^
dev_crt^Create Database Device^
dev_dump_crt^Create Dump Device^
dev_rev^Reverse Engineer Database Devices^
devel^Devel^
diag^Diagnostics^
diag_ind^Find Bad Indexes^
disconn^Disconnected...^
disk^Disk^
dispatch_mts^Dispatcher Mts Related Info^
txt/English.txt view on Meta::CPAN
tbl_rev^Reverse Engineer All Objects in the Database^
tot_sess_uga^Total Session UGA^
trggrs^Triggers^
trggrs_dep^RelatedTriggers^
trig^Possible Triggers relating to Data Object^
tune^Tune^
txt_normal^Text File Viewer, Press Switch for Pod Perl File Viewer^
upd^Update^
upd_butt_text^Button for Update^
upd_button^Update Button^
upd_cascade^Update Cascade^
use_utlxplan^Please run utlxplan.sql to create user's PLAN_TABLE, for 'Explain Plan' option.^
user^User^
user_access^User Access^
userhits^User Hit Ratios^
user_obj^User Objects^
user_please^Please enter a user with at least main 'Select' privileges^
user_proc_io^Any User Processes Performing I/O?^
user_process^User Processess^
user_record^User Records^
user_summ^User Activity Summary^