Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.70 KB | None | 0 0
  1. package connector;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DatabaseMetaData;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.sql.Statement;
  9. import java.util.Properties;
  10. import java.lang.String ;
  11. import java.sql.PreparedStatement;
  12. import java.sql.Timestamp;
  13. import java.util.Date ;
  14. import java.util.logging.Level;
  15. import java.util.logging.Logger;
  16.  
  17. public class Connector1 {
  18.  
  19.  
  20. public static void main(String[] args){
  21.  
  22. Connection conn1 = null;
  23. Connection conn2 = null;
  24. Connection conn3 = null;
  25.  
  26.  
  27. try{
  28. Class.forName("oracle.jdbc.OracleDriver");
  29.  
  30. // METHOD #2
  31. String dbURL1 = "jdbc:oracle:thin:@//localhost:1521/orcl12c" ;
  32. String username = "sys as SYSDBA";
  33. String password = "oracle";
  34. conn1 = DriverManager.getConnection(dbURL1, username, password);
  35.  
  36. String dbURL2 = "jdbc:oracle:thin:@//localhost:1521/orcl" ;
  37. String username2 = "Manager";
  38. String password2 = "pass";
  39. conn2 = DriverManager.getConnection(dbURL2, username2, password2);
  40.  
  41.  
  42. String dbURL3 = "jdbc:oracle:thin:@//localhost:1521/orcl12c";
  43. String username3 = "sys as SYSDBA";
  44. String password3 = "oracle";
  45. conn1 = DriverManager.getConnection(dbURL3, username3, password3);
  46.  
  47. if (conn1 != null) {
  48. System.out.println("Connected with connection #1");
  49. }
  50. else{
  51. System.out.println(".....") ;
  52. }
  53.  
  54. if (conn2 != null) {
  55. System.out.println("Connected with connection #2");
  56. }
  57. else{
  58. System.out.println(".....") ;
  59. }
  60. if (conn3 != null) {
  61. System.out.println("Connected with connection #3");
  62. }
  63. else{
  64. System.out.println(".....") ;
  65. }
  66.  
  67. while(true){
  68. // TABELSPACES
  69. PreparedStatement psmt;
  70. String updateQuery;
  71. String tbs = "select fs.tablespace_name NAME , (df.totalspace - fs.freespace) USED_SIZE, " +
  72. " fs.freespace FREE_SIZE, df.totalspace TOTAL_SIZE, c.CURRENT_TIMESTAMP TIMESTAMP "+
  73. " from (select tablespace_name, round(sum(bytes) / 1048576) TotalSpace "+
  74. " from dba_data_files group by tablespace_name) df, " +
  75. " (select tablespace_name, round(sum(bytes) / 1048576) FreeSpace "+
  76. " from dba_free_space group by tablespace_name) fs, "+
  77. " (SELECT CURRENT_TIMESTAMP FROM dual) c " +
  78. " where df.tablespace_name = fs.tablespace_name" ;
  79. Statement stmt = conn1.createStatement();
  80. ResultSet resultSet = stmt.executeQuery(tbs);
  81.  
  82. while(resultSet.next()) {
  83.  
  84. Statement stmt1 = conn2.createStatement();
  85. String tbs1 = "UPDATE TABLESPACE " +
  86. " SET USED_SIZE = " + resultSet.getString("USED_SIZE") +
  87. "," + " FREE_SIZE = " + resultSet.getString("FREE_SIZE") +
  88. "," + " TOTAL_SIZE = " + resultSet.getString("TOTAL_SIZE") +
  89. "," + " TIMESTAMP = CURRENT_TIMESTAMP" +
  90. " WHERE NAME = " + "'" + resultSet.getString("NAME") + "'";
  91.  
  92. int i=0;
  93. i = stmt1.executeUpdate(tbs1);
  94.  
  95. if(i==0) {
  96.  
  97. tbs = "INSERT INTO TABLESPACE (NAME,USED_SIZE,FREE_SIZE,TOTAL_SIZE,TIMESTAMP) "
  98. + "VALUES(?, ?, ?, ?, CURRENT_TIMESTAMP)" ;
  99. psmt = conn2.prepareStatement(tbs);
  100.  
  101. psmt.setString(1,resultSet.getString("NAME")) ;
  102. psmt.setFloat(2,Float.parseFloat(resultSet.getString("USED_SIZE"))) ;
  103. psmt.setFloat(3,Float.parseFloat(resultSet.getString("FREE_SIZE"))) ;
  104. psmt.setFloat(4,Float.parseFloat(resultSet.getString("TOTAL_SIZE"))) ;
  105. psmt.executeUpdate() ;
  106. }
  107. }
  108.  
  109.  
  110. // DATAFILES
  111.  
  112. String data = "SELECT Substr(df.file_name,1,500) NAME_DF, " +
  113. "Substr(df.tablespace_name,1,40) NAME_TB, " +
  114. "Round(df.bytes/1024/1024,0) FILE_SIZE, " +
  115. "decode(e.used_bytes,NULL,0,Round(e.used_bytes/1024/1024,0)) USED_SIZE, " +
  116. "decode(f.free_bytes,NULL,0,Round(f.free_bytes/1024/1024,0)) FREE_SIZE, " +
  117. "c.CURRENT_TIMESTAMP TIMESTAMP, " +
  118. "d.CURRENT_TIMESTAMP TIMESTAMP_FK " +
  119. " FROM DBA_DATA_FILES DF, " +
  120. " (SELECT file_id, " +
  121. " Sum(Decode(bytes,NULL,0,bytes)) used_bytes " +
  122. " FROM dba_extents " +
  123. " GROUP by file_id) E, " +
  124. " (SELECT Max(bytes) free_bytes, file_id " +
  125. " FROM dba_free_space " +
  126. " GROUP BY file_id) f, " +
  127. " (SELECT CURRENT_TIMESTAMP FROM dual) c, " +
  128. " (SELECT CURRENT_TIMESTAMP FROM dual) d " +
  129. " WHERE e.file_id (+) = df.file_id " +
  130. " AND df.file_id = f.file_id (+) " +
  131. " ORDER BY df.tablespace_name,df.file_name" ;
  132.  
  133. resultSet = stmt.executeQuery(data);
  134. while(resultSet.next()) {
  135.  
  136. Statement stmt1 = conn2.createStatement();
  137.  
  138. String tbs1 = "UPDATE DATAFILE " +
  139. " SET USED_SIZE = " + resultSet.getString("USED_SIZE") +
  140. "," + " FILE_SIZE = " + resultSet.getString("FILE_SIZE") +
  141. "," + " FREE_SIZE = " + resultSet.getString("FREE_SIZE") +
  142. "," + " TIMESTAMP = CURRENT_TIMESTAMP" +
  143. " WHERE NAME_DF = " + "'" + resultSet.getString("NAME_DF") + "'";
  144.  
  145. int i;
  146. i = stmt1.executeUpdate(tbs1);
  147.  
  148. if(i==0) {
  149.  
  150. data = "INSERT INTO DATAFILE (NAME_DF,NAME_TB,FILE_SIZE,USED_SIZE,FREE_SIZE,TIMESTAMP) "
  151. + "VALUES(?, ?, ?, ?, ?, CURRENT_TIMESTAMP)" ;
  152. psmt = conn2.prepareStatement(data) ;
  153.  
  154.  
  155. psmt.setString(1,resultSet.getString("NAME_DF")) ;
  156. psmt.setString(2,resultSet.getString("NAME_TB")) ;
  157. psmt.setFloat(3,Float.parseFloat(resultSet.getString("FILE_SIZE"))) ;
  158. if(resultSet.getString("USED_SIZE") != null )
  159. psmt.setFloat(4,Float.parseFloat(resultSet.getString("USED_SIZE"))) ;
  160. else
  161. psmt.setNull(4,java.sql.Types.NUMERIC);
  162. if(resultSet.getString("FREE_SIZE") != null )
  163. psmt.setFloat(5,Float.parseFloat(resultSet.getString("FREE_SIZE"))) ;
  164. else psmt.setNull(5,java.sql.Types.NUMERIC);
  165. psmt.executeUpdate();
  166. }
  167.  
  168. }
  169.  
  170.  
  171. // USERS
  172.  
  173. String users = "select USER_ID,USERNAME,ACCOUNT_STATUS,"+
  174. " DEFAULT_TABLESPACE DEFAULT_TB,TEMPORARY_TABLESPACE TEMP_TB,CREATED,c.CURRENT_TIMESTAMP " +
  175. " from dba_users, " +
  176. " (SELECT CURRENT_TIMESTAMP FROM dual) c " +
  177. " where ACCOUNT_STATUS = 'OPEN' "+
  178. " order by 1" ;
  179. resultSet = stmt.executeQuery(users);
  180.  
  181. while(resultSet.next()) {
  182.  
  183. Statement stmt3 = conn2.createStatement();
  184. String tbs3 = " UPDATE USERS" +
  185. " SET ACCOUNT_STATUS = "+"'"+resultSet.getString("ACCOUNT_STATUS")+"'"+
  186. "," + " TIMESTAMP = CURRENT_TIMESTAMP " +
  187. " WHERE USER_ID = " + resultSet.getString("USER_ID") ;
  188. int i=0;
  189. i = stmt3.executeUpdate(tbs3);
  190. if(i==0) {
  191. users = "INSERT INTO USERS (USER_ID,USERNAME,ACCOUNT_STATUS,TEMP_TB,CREATED,TIMESTAMP,NAME_TB) "
  192. + "VALUES(?, ?, ?, ?, ?, CURRENT_TIMESTAMP,?)" ;
  193. psmt = conn2.prepareStatement(users) ;
  194.  
  195. psmt.setFloat(1,Float.parseFloat(resultSet.getString("USER_ID"))) ;
  196. psmt.setString(2,resultSet.getString("USERNAME")) ;
  197. psmt.setString(3,resultSet.getString("ACCOUNT_STATUS")) ;
  198. psmt.setString(4,resultSet.getString("TEMP_TB")) ;
  199. psmt.setDate(5,resultSet.getDate("CREATED")) ;
  200. psmt.setString(6,resultSet.getString("DEFAULT_TB"));
  201. psmt.executeUpdate();
  202. }
  203. }
  204.  
  205. // SESSIONS
  206.  
  207. String ses = "select SID, USER# USER_ID, USERNAME, SERIAL# SERIAL ,c.CURRENT_TIMESTAMP TIMESTAMP" +
  208. " from v$session, (SELECT CURRENT_TIMESTAMP FROM dual) c " + " WHERE USERNAME IS NOT NULL" +
  209. " order by 1" ;
  210.  
  211. resultSet = stmt.executeQuery(ses);
  212.  
  213. while(resultSet.next()) {
  214. if(!resultSet.getString("USERNAME").equals("MANAGER")) {
  215.  
  216. Statement stmt1 = conn2.createStatement();
  217. String tbs1 = " UPDATE SESSIONS" +
  218. " SET SERIAL = "+resultSet.getString("SERIAL")+
  219. "," + " TIMESTAMP = CURRENT_TIMESTAMP " +
  220. " WHERE SID = " + resultSet.getString("SID");
  221.  
  222.  
  223. int i=0;
  224. i = stmt1.executeUpdate(tbs1);
  225.  
  226. if(i==0) {
  227.  
  228. ses = "INSERT INTO SESSIONS (SID,USER_ID,USERNAME,SERIAL,TIMESTAMP)"
  229. + "VALUES(?, ?, ?, ?, CURRENT_TIMESTAMP)" ;
  230. psmt = conn2.prepareStatement(ses) ;
  231.  
  232. psmt.setString(1,resultSet.getString("SID")) ;
  233. psmt.setFloat(2,Float.parseFloat(resultSet.getString("USER_ID")));
  234. psmt.setString(3,resultSet.getString("USERNAME"));
  235. psmt.setString(4,resultSet.getString("SERIAL"));
  236. psmt.executeUpdate();
  237. }
  238. }
  239. }
  240.  
  241. // IO
  242.  
  243. String io = "select c.CURRENT_TIMESTAMP TIMESTAMP , v1.mem FREE_MEMORY, v2.writes WRITES , v3.rrs READS" +
  244. " from ( select sum(bytes)/1024 mem " +
  245. " from v$sgastat where name = 'free memory') v1, " +
  246. " (select SUM(VALUE) writes " +
  247. " from ( select metric_name,begin_time,end_time,value " +
  248. " from v$sysmetric_history " +
  249. " where metric_name = 'Physical Writes Per Sec' " +
  250. " order by 2 )) v2, " +
  251. " (select SUM(VALUE) rrs " +
  252. " from ( select metric_name,begin_time,end_time,value " +
  253. " from v$sysmetric_history " +
  254. " where metric_name = 'Physical Reads Per Sec' " +
  255. " order by 2 )) v3 , " +
  256. " (SELECT CURRENT_TIMESTAMP FROM dual) c " ;
  257. resultSet = stmt.executeQuery(io);
  258.  
  259. while(resultSet.next()) {
  260.  
  261.  
  262. io = "INSERT INTO IO (TIMESTAMP , WRITES, READS , FREE_MEMORY)"
  263. + " VALUES(CURRENT_TIMESTAMP, ?, ?, ?)";
  264. psmt = conn2.prepareStatement(io) ;
  265.  
  266. psmt.setFloat(1,Float.parseFloat(resultSet.getString("WRITES"))) ;
  267. psmt.setFloat(2,Float.parseFloat(resultSet.getString("READS"))) ;
  268. psmt.setFloat(3,Float.parseFloat(resultSet.getString("FREE_MEMORY"))) ;
  269. psmt.executeUpdate();
  270. }
  271.  
  272.  
  273. Thread.sleep(30000);
  274. }
  275.  
  276. }catch(ClassNotFoundException e){
  277. System.out.println(e) ;
  278. }catch(SQLException e){
  279. System.out.println(e) ;
  280. } catch (InterruptedException ex) {
  281. Logger.getLogger(Connector1.class.getName()).log(Level.SEVERE, null, ex);
  282. }
  283.  
  284.  
  285.  
  286.  
  287. }
  288.  
  289. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement