Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import ( "database/sql";"fmt";_ "github.com/mattn/go-oci8";"os";"time" )
- func main() {
- fmt.Printf("\n|%8s|%31s|%31s|\n", "SERVER", "OAR_PUSH", "TREATCUDAY")
- fmt.Printf("|%8s|%31s|%31s|\n", "========", "========", "==========")
- const sql_get_serv = "SELECT SID_SERV FROM SERVER_CODE where SID_SERV not in (SELECT SERVER FROM JOBS_INF where STAT_JOB is NULL and server is NOT NULL and timestamp > SYSDATE-1/24) and SID_SERV not in (select server from JOBS_INF_X_SERV)"
- const layout = "2006.01.02-15:04:05"
- os.Setenv("NLS_LANG", "RUSSIAN_RUSSIA.UTF8") //RU8PC866,CL8MSWIN1251
- olololo, err := sql.Open("oci8", "login/pwd@olololo")
- if err != nil {
- fmt.Println(err)
- return
- }
- cur_get_serv, err := olololo.Query(sql_get_serv)
- if err != nil {
- fmt.Println(err)
- return
- }
- GetServ:
- for cur_get_serv.Next() {
- var SID_SERV, st, dt, sp, dp string
- cur_get_serv.Scan(&SID_SERV)
- var sql_get_push_stat = "SELECT STAT_JOB, LOG_DT FROM SYS.SCHED_LOG_EV@" + SID_SERV + " WHERE NAME = 'OAR_PUSH' AND ID_LOG = (SELECT MAX(ID_LOG) FROM SYS.SCHED_LOG_EV@" + SID_SERV + " where NAME = 'OAR_PUSH')";
- var sql_get_trea_stat = "SELECT STAT_JOB, LOG_DT FROM SYS.SCHED_LOG_EV@" + SID_SERV + " WHERE NAME = 'TREATCUDAY' AND ID_LOG = (SELECT MAX(ID_LOG) FROM SYS.SCHED_LOG_EV@" + SID_SERV + " where NAME = 'TREATCUDAY')";
- cur_get_push_stat, err := olololo.Query(sql_get_push_stat)
- if err != nil {
- fmt.Printf("|%8s|%62s", SID_SERV, err) //62
- continue GetServ
- }
- cur_get_trea_stat, err := olololo.Query(sql_get_trea_stat)
- if err != nil {
- fmt.Printf("|%8s|%62s", SID_SERV, err) //62
- continue GetServ
- }
- for cur_get_push_stat.Next() {
- var stat_push string
- var LOG_DTp time.Time
- cur_get_push_stat.Scan(&stat_push, &LOG_DTp)
- dp = LOG_DTp.Format(layout)
- sp = stat_push;
- }
- for cur_get_trea_stat.Next() {
- var stat_trea string
- var LOG_DTt time.Time
- cur_get_trea_stat.Scan(&stat_trea, &LOG_DTt)
- dt = LOG_DTt.Format(layout)
- st = stat_trea;
- }
- fmt.Printf("|%8s|%11s|%19s|%11s|%19s|\n", SID_SERV, sp, dp, st, dt)
- cur_get_push_stat.Close()
- cur_get_trea_stat.Close()
- }
- cur_get_serv.Close()
- olololo.Close()
- }
Advertisement
Add Comment
Please, Sign In to add comment