Официальная информация по рабочим и праздничным дням в РФ находится вот здесь:
https://data.gov.ru/opendata/7708660670-proizvcalendar
тут можно взять csv файл и на его основе создать календарь у себя в БД.
На моем проекте используется календарь следующего вида:
create table CALENDAR
(
date_id NUMBER not null,
name VARCHAR2(255) not null,
short_name VARCHAR2(50) not null,
date_level NUMBER not null,
date_level_name VARCHAR2(50) not null,
start_date DATE not null,
finish_date DATE not null,
cout_days_period NUMBER,
n_day_w NUMBER,
n_day_m NUMBER,
n_day_y NUMBER,
n_week_y NUMBER,
n_month_y NUMBER,
n_quart_y NUMBER,
n_halfyear_y NUMBER,
n_year NUMBER,
calendar_date DATE,
month_eng VARCHAR2(20),
short_month_eng VARCHAR2(20),
month_rus VARCHAR2(20),
short_month_rus VARCHAR2(20),
is_lastday_m NUMBER,
year_month VARCHAR2(30),
is_working_day CHAR(1)
)