Class: Opstat::Plugins::OracleSessions

Inherits:
Task
  • Object
show all
Defined in:
lib/plugins/oracle_sessions.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, queue, config) ⇒ OracleSessions

Returns a new instance of OracleSessions.



7
8
9
10
11
12
13
# File 'lib/plugins/oracle_sessions.rb', line 7

def initialize (name, queue, config)
  super(name, queue, config)
  self
  @su_user = config['su_user']
  @db_user = config['db_user']
  @db_password = config['db_password']
end

Instance Method Details

#parseObject



33
34
35
36
37
38
39
40
# File 'lib/plugins/oracle_sessions.rb', line 33

def parse
  report = []
  @cmd ||= sql_cmd.result(binding)
  oracle_output = IO.popen(@cmd)
  report  = oracle_output.readlines.join
  oracle_output.close
  return report
end

#sql_cmdObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/plugins/oracle_sessions.rb', line 15

def sql_cmd
  @query ||= ERB.new "su - <%= @su_user %> -c 'echo \"     set pagesize 10000\n             set heading on\n             column dummy noprint\n             column  used    format 999999999999   heading \\\"Used\\\"\n             column  free   format  999999999999  heading \\\"Free\\\"\n\n             SELECT\n               (SELECT COUNT(*) FROM V\\\\\\$SESSION) as used,\n               (VP\\.VALUE - (select count(*) from v\\\\\\$Session)) as free\n             FROM \n               V\\\\\\$PARAMETER VP\n             WHERE VP\\.NAME = '\"'sessions'\"';\n            \"|sqlplus -S <%= @db_user %>/<%= @db_password %>' \n"
end