Skip to content

Commit c552667

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

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

source-oracle/prerequisites.go

+16-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,22 @@ 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 created from v$database")
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+
}).Debug("database age")
42+
43+
if time.Since(databaseAge) < (time.Hour * 24) {
44+
log.Warn("database age is less than 24 hours, skipping retention checks")
45+
return nil
46+
}
47+
48+
row = db.conn.QueryRowContext(ctx, "SELECT MIN(FIRST_TIME) FROM V$ARCHIVED_LOG A WHERE A.NAME IS NOT NULL")
3449
var minTimestamp time.Time
3550
if err := row.Scan(&minTimestamp); err != nil {
3651
return fmt.Errorf("querying minimum archived log timestamp from V$ARCHIVED_LOG: %w", err)

0 commit comments

Comments
 (0)