oci360 2b.51. Total Volume Backups Forecast (OCI360_BACKUPS)


# SNAP_ID BEGIN_TIME END_TIME LINE1 LINE2 LINE3
1 1 2020-06-30 00:00:00 2020-07-01 00:00:00 4 3 1
2 2 2020-07-10 00:00:00 2020-07-11 00:00:00 4 3 1
3 3 2020-07-20 00:00:00 2020-07-21 00:00:00 4 3 1
4 4 2020-07-30 00:00:00 2020-07-31 00:00:00 4 3 1
5 5 2020-08-09 00:00:00 2020-08-10 00:00:00 4 3 1
6 6 2020-08-19 00:00:00 2020-08-20 00:00:00 4 3 1
7 7 2020-08-29 00:00:00 2020-08-30 00:00:00 4 3 1
8 8 2020-09-08 00:00:00 2020-09-09 00:00:00 4 3 1
9 9 2020-09-18 00:00:00 2020-09-19 00:00:00 4 3 1
10 10 2020-09-28 00:00:00 2020-09-29 00:00:00 4 3 1
11 11 2020-10-08 00:00:00 2020-10-09 00:00:00 4 3 1
12 12 2020-10-18 00:00:00 2020-10-19 00:00:00 4 3 1
13 13 2020-10-28 00:00:00 2020-10-29 00:00:00 4 3 1
14 14 2020-11-07 00:00:00 2020-11-08 00:00:00 4 3 1
15 15 2020-11-17 00:00:00 2020-11-18 00:00:00 4 3 1
16 16 2020-11-27 00:00:00 2020-11-28 00:00:00 4 3 1
17 17 2020-12-07 00:00:00 2020-12-08 00:00:00 4 3 1
18 18 2020-12-17 00:00:00 2020-12-18 00:00:00 4 3 1
19 19 2020-12-27 00:00:00 2020-12-28 00:00:00 4 3 1
20 20 2021-01-06 00:00:00 2021-01-07 00:00:00 4 3 1
21 21 2021-01-16 00:00:00 2021-01-17 00:00:00 4 3 1
22 22 2021-01-26 00:00:00 2021-01-27 00:00:00 4 3 1
23 23 2021-02-05 00:00:00 2021-02-06 00:00:00 4 3 1
24 24 2021-02-15 00:00:00 2021-02-16 00:00:00 4 3 1
25 25 2021-02-25 00:00:00 2021-02-26 00:00:00 4 3 1
26 26 2021-03-07 00:00:00 2021-03-08 00:00:00 4 3 1
27 27 2021-03-17 00:00:00 2021-03-18 00:00:00 4 3 1
28 28 2021-03-27 00:00:00 2021-03-28 00:00:00 4 3 1
29 29 2021-04-06 00:00:00 2021-04-07 00:00:00 4 3 1
30 30 2021-04-16 00:00:00 2021-04-17 00:00:00 4 3 1
31 31 2021-04-26 00:00:00 2021-04-27 00:00:00 4 3 1
32 32 2021-05-06 00:00:00 2021-05-07 00:00:00 4 3 1
33 33 2021-05-16 00:00:00 2021-05-17 00:00:00 4 3 1
34 34 2021-05-26 00:00:00 2021-05-27 00:00:00 4 3 1
35 35 2021-06-05 00:00:00 2021-06-06 00:00:00 4 3 1
36 36 2021-06-15 00:00:00 2021-06-16 00:00:00 4 3 1
37 37 2021-06-25 00:00:00 2021-06-26 00:00:00 4 3 1
38 38 2021-07-05 00:00:00 2021-07-06 00:00:00 4 3 1
39 39 2021-07-15 00:00:00 2021-07-16 00:00:00 4 3 1
40 40 2021-07-25 00:00:00 2021-07-26 00:00:00 4 3 1
41 41 2021-08-04 00:00:00 2021-08-05 00:00:00 4 3 1
42 42 2021-08-14 00:00:00 2021-08-15 00:00:00 4 3 1
43 43 2021-08-24 00:00:00 2021-08-25 00:00:00 4 3 1
44 44 2021-09-03 00:00:00 2021-09-04 00:00:00 4 3 1
45 45 2021-09-13 00:00:00 2021-09-14 00:00:00 4 3 1
46 46 2021-09-23 00:00:00 2021-09-24 00:00:00 4 3 1
47 47 2021-10-03 00:00:00 2021-10-04 00:00:00 4 3 1
48 48 2021-10-13 00:00:00 2021-10-14 00:00:00 4 3 1
49 49 2021-10-23 00:00:00 2021-10-24 00:00:00 4 3 1
50 50 2021-11-02 00:00:00 2021-11-03 00:00:00 4 3 1
51 51 2021-11-12 00:00:00 2021-11-13 00:00:00 4 3 1
52 52 2021-11-22 00:00:00 2021-11-23 00:00:00 4 3 1
53 53 2021-12-02 00:00:00 2021-12-03 00:00:00 4 3 1
54 54 2021-12-12 00:00:00 2021-12-13 00:00:00 4 3 1
55 55 2021-12-22 00:00:00 2021-12-23 00:00:00 4 3 1
56 56 2022-01-01 00:00:00 2022-01-02 00:00:00 4 3 1
57 57 2022-01-11 00:00:00 2022-01-12 00:00:00 4 3 1
58 58 2022-01-21 00:00:00 2022-01-22 00:00:00 4 3 1
59 59 2022-01-31 00:00:00 2022-02-01 00:00:00 4 3 1
60 60 2022-02-10 00:00:00 2022-02-11 00:00:00 4 3 1
61 61 2022-02-20 00:00:00 2022-02-21 00:00:00 4 3 1
62 62 2022-03-02 00:00:00 2022-03-03 00:00:00 4 3 1
63 63 2022-03-12 00:00:00 2022-03-13 00:00:00 4 3 1
64 64 2022-03-22 00:00:00 2022-03-23 00:00:00 4 3 1
65 65 2022-04-01 00:00:00 2022-04-02 00:00:00 4 3 1
66 66 2022-04-11 00:00:00 2022-04-12 00:00:00 4 3 1
67 67 2022-04-21 00:00:00 2022-04-22 00:00:00 4 3 1
68 68 2022-05-01 00:00:00 2022-05-02 00:00:00 4 3 1
69 69 2022-05-11 00:00:00 2022-05-12 00:00:00 4 3 1
70 70 2022-05-21 00:00:00 2022-05-22 00:00:00 4 3 1
71 71 2022-05-31 00:00:00 2022-06-01 00:00:00 4 3 1
72 72 2022-06-10 00:00:00 2022-06-11 00:00:00 4 3 1
73 73 2022-06-20 00:00:00 2022-06-21 00:00:00 4 3 1
74 74 2022-06-30 00:00:00 2022-07-01 00:00:00 4 3 1
75 75 2022-07-10 00:00:00 2022-07-11 00:00:00 4 3 1
76 76 2022-07-20 00:00:00 2022-07-21 00:00:00 4 3 1
77 77 2022-07-30 00:00:00 2022-07-31 00:00:00 4 3 1
78 78 2022-08-09 00:00:00 2022-08-10 00:00:00 4 3 1
79 79 2022-08-19 00:00:00 2022-08-20 00:00:00 4 3 1
80 80 2022-08-29 00:00:00 2022-08-30 00:00:00 4 3 1
81 81 2022-09-08 00:00:00 2022-09-09 00:00:00 4 3 1
82 82 2022-09-18 00:00:00 2022-09-19 00:00:00 4 3 1
83 83 2022-09-28 00:00:00 2022-09-29 00:00:00 4 3 1
84 84 2022-10-08 00:00:00 2022-10-09 00:00:00 4 3 1
85 85 2022-10-18 00:00:00 2022-10-19 00:00:00 4 3 1
86 86 2022-10-28 00:00:00 2022-10-29 00:00:00 4 3 1
87 87 2022-11-07 00:00:00 2022-11-08 00:00:00 4 3 1
88 88 2022-11-17 00:00:00 2022-11-18 00:00:00 4 3 1
89 89 2022-11-27 00:00:00 2022-11-28 00:00:00 4 3 1
90 90 2022-12-07 00:00:00 2022-12-08 00:00:00 4 3 1
91 91 2022-12-17 00:00:00 2022-12-18 00:00:00 4 3 1
92 92 2022-12-27 00:00:00 2022-12-28 00:00:00 4 3 1
93 93 2023-01-06 00:00:00 2023-01-07 00:00:00 4 3 1
94 94 2023-01-16 00:00:00 2023-01-17 00:00:00 4 3 1
95 95 2023-01-26 00:00:00 2023-01-27 00:00:00 4 3 1
96 96 2023-02-05 00:00:00 2023-02-06 00:00:00 4 3 1
97 97 2023-02-15 00:00:00 2023-02-16 00:00:00 4 3 1
98 98 2023-02-25 00:00:00 2023-02-26 00:00:00 4 3 1
99 99 2023-03-07 00:00:00 2023-03-08 00:00:00 4 3 1
100 100 2023-03-17 00:00:00 2023-03-18 00:00:00 4 3 1
101 101 2023-03-27 00:00:00 2023-03-28 00:00:00 4 3 1
102 102 2023-04-06 00:00:00 2023-04-07 00:00:00 4 3 1
103 103 2023-04-16 00:00:00 2023-04-17 00:00:00 4 3 1
104 104 2023-04-26 00:00:00 2023-04-27 00:00:00 4 3 1
105 105 2023-05-06 00:00:00 2023-05-07 00:00:00 4 3 1
106 106 2023-05-16 00:00:00 2023-05-17 00:00:00 4 3 1
107 107 2023-05-26 00:00:00 2023-05-27 00:00:00 4 3 1
108 108 2023-06-05 00:00:00 2023-06-06 00:00:00 4 3 1
109 109 2023-06-15 00:00:00 2023-06-16 00:00:00 4 3 1
110 110 2023-06-25 00:00:00 2023-06-26 00:00:00 4 3 1
111 111 2023-07-05 00:00:00 2023-07-06 00:00:00 4 3 1
112 112 2023-07-15 00:00:00 2023-07-16 00:00:00 4 3 1
113 113 2023-07-25 00:00:00 2023-07-26 00:00:00 4 3 1
114 114 2023-08-04 00:00:00 2023-08-05 00:00:00 4 3 1
115 115 2023-08-14 00:00:00 2023-08-15 00:00:00 4 3 1
116 116 2023-08-24 00:00:00 2023-08-25 00:00:00 4 3 1
117 117 2023-09-03 00:00:00 2023-09-04 00:00:00 4 3 1
118 118 2023-09-13 00:00:00 2023-09-14 00:00:00 4 3 1
119 119 2023-09-23 00:00:00 2023-09-24 00:00:00 4 3 1
120 120 2023-10-03 00:00:00 2023-10-04 00:00:00 4 3 1
121 121 2023-10-13 00:00:00 2023-10-14 00:00:00 4 3 1
122 122 2023-10-23 00:00:00 2023-10-24 00:00:00 4 3 1
123 123 2023-11-02 00:00:00 2023-11-03 00:00:00 4 3 1
124 124 2023-11-12 00:00:00 2023-11-13 00:00:00 4 3 1
125 125 2023-11-22 00:00:00 2023-11-23 00:00:00 4 3 1
126 126 2023-12-02 00:00:00 2023-12-03 00:00:00 4 3 1
127 127 2023-12-12 00:00:00 2023-12-13 00:00:00 4 3 1
128 128 2023-12-22 00:00:00 2023-12-23 00:00:00 4 3 1
129 129 2024-01-01 00:00:00 2024-01-02 00:00:00 4 3 1
130 130 2024-01-11 00:00:00 2024-01-12 00:00:00 4 3 1
131 131 2024-01-21 00:00:00 2024-01-22 00:00:00 4 3 1
132 132 2024-01-31 00:00:00 2024-02-01 00:00:00 4 3 1
133 133 2024-02-10 00:00:00 2024-02-11 00:00:00 4 3 1
134 134 2024-02-20 00:00:00 2024-02-21 00:00:00 4 3 1
135 135 2024-03-01 00:00:00 2024-03-02 00:00:00 4 3 1
136 136 2024-03-11 00:00:00 2024-03-12 00:00:00 4 3 1
137 137 2024-03-21 00:00:00 2024-03-22 00:00:00 4 3 1
138 138 2024-03-31 00:00:00 2024-04-01 00:00:00 4 3 1
139 139 2024-04-10 00:00:00 2024-04-11 00:00:00 4 3 1
140 140 2024-04-20 00:00:00 2024-04-21 00:00:00 4 3 1
141 141 2024-04-30 00:00:00 2024-05-01 00:00:00 4 3 1
142 142 2024-05-10 00:00:00 2024-05-11 00:00:00 4 3 1
143 143 2024-05-20 00:00:00 2024-05-21 00:00:00 4 3 1
144 144 2024-05-30 00:00:00 2024-05-31 00:00:00 4 3 1
145 145 2024-06-09 00:00:00 2024-06-10 00:00:00 4 3 1
146 146 2024-06-19 00:00:00 2024-06-20 00:00:00 4 3 1
147 147 2024-06-29 00:00:00 2024-06-30 00:00:00 4 3 1
148 148 2024-07-09 00:00:00 2024-07-10 00:00:00 4 3 1
149 149 2024-07-19 00:00:00 2024-07-20 00:00:00 4 3 1
150 150 2024-07-29 00:00:00 2024-07-30 00:00:00 4 3 1
151 151 2024-08-08 00:00:00 2024-08-09 00:00:00 4 3 1
152 152 2024-08-18 00:00:00 2024-08-19 00:00:00 4 3 1
153 153 2024-08-28 00:00:00 2024-08-29 00:00:00 4 3 1
154 154 2024-09-07 00:00:00 2024-09-08 00:00:00 4 3 1
155 155 2024-09-17 00:00:00 2024-09-18 00:00:00 4 3 1
156 156 2024-09-27 00:00:00 2024-09-28 00:00:00 4 3 1
157 157 2024-10-07 00:00:00 2024-10-08 00:00:00 4 3 1
158 158 2024-10-17 00:00:00 2024-10-18 00:00:00 4 3 1
159 159 2024-10-27 00:00:00 2024-10-28 00:00:00 4 3 1
160 160 2024-11-06 00:00:00 2024-11-07 00:00:00 4 3 1
161 161 2024-11-16 00:00:00 2024-11-17 00:00:00 4 3 1
162 162 2024-11-26 00:00:00 2024-11-27 00:00:00 4 3 1
163 163 2024-12-06 00:00:00 2024-12-07 00:00:00 4 3 1
164 164 2024-12-16 00:00:00 2024-12-17 00:00:00 4 3 1
165 165 2024-12-26 00:00:00 2024-12-27 00:00:00 4 3 1
166 166 2025-01-05 00:00:00 2025-01-06 00:00:00 4 3 1
167 167 2025-01-15 00:00:00 2025-01-16 00:00:00 4 3 1
168 168 2025-01-25 00:00:00 2025-01-26 00:00:00 4 3 1
169 169 2025-02-04 00:00:00 2025-02-05 00:00:00 4 3 1
170 170 2025-02-14 00:00:00 2025-02-15 00:00:00 4 3 1
171 171 2025-02-24 00:00:00 2025-02-25 00:00:00 4 3 1
172 172 2025-03-06 00:00:00 2025-03-07 00:00:00 4 3 1
173 173 2025-03-16 00:00:00 2025-03-17 00:00:00 4 3 1
174 174 2025-03-26 00:00:00 2025-03-27 00:00:00 4 3 1
175 175 2025-04-05 00:00:00 2025-04-06 00:00:00 4 3 1
176 176 2025-04-15 00:00:00 2025-04-16 00:00:00 4 3 1
177 177 2025-04-25 00:00:00 2025-04-26 00:00:00 4 3 1
178 178 2025-05-05 00:00:00 2025-05-06 00:00:00 4 3 1
179 179 2025-05-15 00:00:00 2025-05-16 00:00:00 4 3 1
180 180 2025-05-25 00:00:00 2025-05-26 00:00:00 4 3 1
181 181 2025-06-04 00:00:00 2025-06-05 00:00:00 4 3 1
182 182 2025-06-14 00:00:00 2025-06-15 00:00:00 4 3 1
183 183 2025-06-24 00:00:00 2025-06-25 00:00:00 4 3 1
184 184 2025-07-04 00:00:00 2025-07-05 00:00:00 4 3 1
185 185 2025-07-14 00:00:00 2025-07-15 00:00:00 4 3 1
186 186 2025-07-24 00:00:00 2025-07-25 00:00:00 4 3 1
187 187 2025-08-03 00:00:00 2025-08-04 00:00:00 4 3 1
188 188 2025-08-13 00:00:00 2025-08-14 00:00:00 4 3 1
189 189 2025-08-23 00:00:00 2025-08-24 00:00:00 4 3 1
190 190 2025-09-02 00:00:00 2025-09-03 00:00:00 4 3 1
191 191 2025-09-12 00:00:00 2025-09-13 00:00:00 4 3 1
192 192 2025-09-22 00:00:00 2025-09-23 00:00:00 4 3 1
193 193 2025-10-02 00:00:00 2025-10-03 00:00:00 4 3 1
194 194 2025-10-12 00:00:00 2025-10-13 00:00:00 4 3 1
195 195 2025-10-22 00:00:00 2025-10-23 00:00:00 4 3 1
196 196 2025-11-01 00:00:00 2025-11-02 00:00:00 4 3 1
197 197 2025-11-11 00:00:00 2025-11-12 00:00:00 4 3 1
198 198 2025-11-21 00:00:00 2025-11-22 00:00:00 4 3 1
199 199 2025-12-01 00:00:00 2025-12-02 00:00:00 4 3 1
200 200 2025-12-11 00:00:00 2025-12-12 00:00:00 4 3 1
201 201 2025-12-21 00:00:00 2025-12-22 00:00:00 4 3 1
202 202 2025-12-31 00:00:00 2026-01-01 00:00:00 4 3 1
203 203 2026-01-10 00:00:00 2026-01-11 00:00:00 4 3 1
204 204 2026-01-20 00:00:00 2026-01-21 00:00:00 4 3 1
205 205 2026-01-30 00:00:00 2026-01-31 00:00:00 4 3 1
206 206 2026-02-09 00:00:00 2026-02-10 00:00:00 4 3 1
207 207 2026-02-19 00:00:00 2026-02-20 00:00:00 4 3 1
208 208 2026-03-01 00:00:00 2026-03-02 00:00:00 4 3 1
209 209 2026-03-11 00:00:00 2026-03-12 00:00:00 4 3 1
210 210 2026-03-21 00:00:00 2026-03-22 00:00:00 4 3 1
211 211 2026-03-31 00:00:00 2026-04-01 00:00:00 4 3 1
212 212 2026-04-10 00:00:00 2026-04-11 00:00:00 4 3 1
213 213 2026-04-20 00:00:00 2026-04-21 00:00:00 4 3 1
214 214 2026-04-30 00:00:00 2026-05-01 00:00:00 4 3 1
215 215 2026-05-10 00:00:00 2026-05-11 00:00:00 4 3 1
216 216 2026-05-20 00:00:00 2026-05-21 00:00:00 4 3 1
217 217 2026-05-30 00:00:00 2026-05-31 00:00:00 4 3 1
218 218 2026-06-09 00:00:00 2026-06-10 00:00:00 4 3 1
219 219 2026-06-19 00:00:00 2026-06-20 00:00:00 4 3 1
220 220 2026-06-29 00:00:00 2026-06-30 00:00:00 4 3 1

#: click on a column heading to sort on it

 Name                                                                                Null?    Type
 ----------------------------------------------------------------------------------- -------- --------------------------------------------------------
 ID                                                                                           VARCHAR2(128)
 TYPE                                                                                         VARCHAR2(16)
 VOLUME_ID                                                                                    VARCHAR2(128)
 KMS_KEY_ID                                                                                   VARCHAR2(4)
 SIZE_IN_GBS                                                                                  NUMBER
 SIZE_IN_MBS                                                                                  NUMBER
 SOURCE_TYPE                                                                                  VARCHAR2(8)
 SYSTEM_TAGS$ORCL_CLOUD$FREE_TIER_RETAINED                                                    VARCHAR2(4)
 DEFINED_TAGS$ORACLE_TAGS$CREATEDBY                                                           VARCHAR2(64)
 DEFINED_TAGS$ORACLE_TAGS$CREATEDON                                                           VARCHAR2(32)
 DISPLAY_NAME                                                                                 VARCHAR2(16)
 TIME_CREATED                                                                                 VARCHAR2(32)
 FREEFORM_TAGS$BACKUP                                                                         VARCHAR2(16)
 COMPARTMENT_ID                                                                               VARCHAR2(128)
 EXPIRATION_TIME                                                                              VARCHAR2(4)
 LIFECYCLE_STATE                                                                              VARCHAR2(16)
 UNIQUE_SIZE_IN_GBS                                                                           NUMBER
 UNIQUE_SIZE_IN_MBS                                                                           NUMBER
 TIME_REQUEST_RECEIVED                                                                        VARCHAR2(32)
 SOURCE_VOLUME_BACKUP_ID                                                                      VARCHAR2(4)


WITH
days_in_future as (
SELECT vdate,
       decode(to_number(to_char (vdate, 'd', 'nls_date_language=english')),1,1,0) is_sunday,
       decode(vdate,trunc(vdate,'MM'),1,0)                                        is_month_first_day,
       decode(vdate,trunc(vdate,'YYYY'),1,0)                                      is_year_first_day
FROM   (SELECT  trunc(sysdate) + rownum vdate
        FROM    dual
        CONNECT BY LEVEL <= 366*6 /*  6 Years */
       )
),
days_in_future_period as (
SELECT vdate,
       case
         when is_sunday+is_month_first_day+is_year_first_day = 0
           then 'ONE_DAY'
         when is_sunday=1 and is_month_first_day+is_year_first_day = 0
           then 'ONE_WEEK'
         when is_month_first_day=1 and is_year_first_day = 0
           then 'ONE_MONTH'
         else 'ONE_YEAR'
         end period
FROM   days_in_future
),
bkp_policies as (
SELECT distinct
       id policy_id,
       display_name policy_name,
       schedules$period period,
       schedules$backup_type type,
       schedules$retention_seconds retention_seconds
FROM   OCI360_BKP_POLICY
),
bkps_in_future as (
select t2.policy_name,
       t2.policy_id,
       t1.period,
       t2.type,
       t1.vdate creation_date,
       t1.vdate+ (t2.retention_seconds/(60*60*24)) expire_date
FROM   days_in_future_period t1,
       bkp_policies t2
WHERE  t1.period=t2.period
)
,
bkps as (
select tas.creation_date,
       tas.expire_date,
       tas.type
from   bkps_in_future tas,
       OCI360_VOLUMES jt,
       OCI360_BKP_POLICY_ASSIGN tbkppolassign
WHERE  jt.ID = tbkppolassign.ASSET_ID
AND    tbkppolassign.POLICY_ID = tas.POLICY_ID
UNION ALL
SELECT cast(to_timestamp_tz(t1.time_created,'YYYY-MM-DD"T"HH24:MI:SS.FF6TZH:TZM') AT LOCAL AS DATE) creation_date,
       nvl(cast(to_timestamp_tz(t1.expiration_time,'YYYY-MM-DD"T"HH24:MI:SS.FF6TZH:TZM') AT LOCAL AS DATE),sysdate+10000) expire_date,
       t1.type
FROM   OCI360_BACKUPS t1
WHERE  t1.lifecycle_state = 'AVAILABLE'
),
bkps_sum as (
select vord,
       vdate,
       type,
       SUM(CASE WHEN vdate BETWEEN creation_date AND expire_date THEN 1 ELSE 0 END) TOTAL
from   bkps,
       ( SELECT  rownum vord, trunc(sysdate) + ((ROWNUM-1)*10) vdate /*  (10 in 10 days) */
         FROM    dual
         CONNECT BY LEVEL <= (366*6) /*  6 Years */
       ) days
where  vdate <= ADD_MONTHS(sysdate,12*6) /*  6 Years */
group by vord, vdate, type
)
select
  vord             snap_id,
  TO_CHAR(vdate,  'YYYY-MM-DD HH24:MI:SS') begin_time,
  TO_CHAR(vdate+1,'YYYY-MM-DD HH24:MI:SS') end_time,
  SUM(total)       line1,
  SUM(CASE WHEN type = 'INCREMENTAL' THEN total ELSE 0 END)     line2,
  SUM(CASE WHEN type = 'FULL'        THEN total ELSE 0 END)     line3,
  0                dummy_04,
  0                dummy_05,
  0                dummy_06,
  0                dummy_07,
  0                dummy_08,
  0                dummy_09,
  0                dummy_10,
  0                dummy_11,
  0                dummy_12,
  0                dummy_13,
  0                dummy_14,
  0                dummy_15
from bkps_sum
group by vord, vdate
order by vord asc;


220 rows selected.

oci360 (c) 2020, All rights reserved. oci360 v20.06 (2020-06-25) based on moat369 v2002 (2020-02-27). Timestamp: 2020-06-30T15:52:48