Skip to content

Commit d965d6b

Browse files
committed
source-oracle: skip retention checks for new databases
1 parent e4c1051 commit d965d6b

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

source-oracle/prerequisites.go

+17-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,23 @@ func (db *oracleDatabase) prerequisiteArchiveLogRetention(ctx context.Context) e
3030
if err := db.switchToCDB(ctx); err != nil {
3131
return err
3232
}
33-
var row = db.conn.QueryRowContext(ctx, "SELECT MIN(FIRST_TIME) FROM V$ARCHIVED_LOG A WHERE A.NAME IS NOT NULL")
33+
var row = db.conn.QueryRowContext(ctx, "SELECT MIN(CREATED) FROM DBA_OBJECTS")
34+
var databaseAge time.Time
35+
if err := row.Scan(&databaseAge); err != nil {
36+
return fmt.Errorf("querying database age from DBA_OBJECTS: %w", err)
37+
}
38+
39+
log.WithFields(log.Fields{
40+
"created": databaseAge,
41+
"since": time.Since(databaseAge),
42+
}).Warn("database age")
43+
44+
if time.Since(databaseAge) < (time.Hour * 24) {
45+
log.Warn("database age is less than 24 hours, skipping retention checks")
46+
return nil
47+
}
48+
49+
row = db.conn.QueryRowContext(ctx, "SELECT MIN(FIRST_TIME) FROM V$ARCHIVED_LOG A WHERE A.NAME IS NOT NULL")
3450
var minTimestamp time.Time
3551
if err := row.Scan(&minTimestamp); err != nil {
3652
return fmt.Errorf("querying minimum archived log timestamp from V$ARCHIVED_LOG: %w", err)

0 commit comments

Comments
 (0)