GoogleCloudPlatform / GoogleCloudPlatform/database-assessment
ER: Adding query for validate source platform compatibility for RMAN backups in mixed platforms
- Dominant language
- Python
- Stars
- 83
- Forks
- 38
- PR merge metrics
- No merged PRs in 30d
Description
### Enhancement Request Details
As a waverunner user I want to validate that if source environment is RMAN compatible .
Query to validate source platform compatibility:
For Oracle database 12.2 and lower versions:
`set lines 200 pages 999
col platform_name for a30
col version_full for a20
col compatible_full for a20
Col support_status for a15
with vsrcinfo as (
SELECT platform_id, platform_name,
(SELECT version FROM product_component_version where product like '%Oracle%Database%') version_full,
(SELECT substr(version,1,2) FROM product_component_version where product like '%Oracle%Database%') version_first_digit,
(SELECT substr(version,4,1) FROM product_component_version where product like '%Oracle%Database%') version_second_digit,
(select value from v$parameter where name = 'compatible') compatible_full,
(select substr(value,1,2) from v$parameter where name = 'compatible') compatible_first_digit,
(select substr(value,4,1) from v$parameter where name = 'compatible') compatible_second_digit
FROM v$database )
SELECT platform_id, platform_name, version_full, compatible_full,
case
when
platform_name = 'Solaris Operating System (x86-64)'
and
to_number(version_first_digit) = 10
and
to_number(version_second_digit) > 2
then 'SUPPORTED'
when
platform_name = 'Solaris Operating System (x86-64)'
and
to_number(version_first_digit) > 10
then 'SUPPORTED'
when
platform_name = 'Microsoft Windows x86 64-bit'
and
to_number(version_first_digit) = 11
and
to_number(version_second_digit) >= 1
and
to_number(compatible_first_digit) = 11
and
to_number(compatible_second_digit) >= 1
then 'SUPPORTED'
when
platform_name = 'Microsoft Windows x86 64-bit'
and
to_number(version_first_digit) > 11
and
to_number(compatible_first_digit) = 11
and
to_number(compatible_second_digit) >= 1
then 'SUPPORTED'
when
platform_name = 'Microsoft Windows x86 64-bit'
and
to_number(version_first_digit) > 11
and
to_number(compatible_first_digit) > 11
then 'SUPPORTED'
when
platform_name = 'Linux x86 64-bit'
then 'SUPPORTED'
else
'NOT_SUPPORTED'
end as SUPPORT_STATUS
from vsrcinfo;
`
For Oracle database 18.0 and above versions (table structure changed):
`col platform_name for a30
col version_full for a20
col compatible_full for a20
Col support_status for a15
with vsrcinfo as (
SELECT platform_id, platform_name,
(SELECT version_full FROM product_component_version where product like '%Oracle%Database%') version_full,
(SELECT substr(version_full,1,2) FROM product_component_version where product like '%Oracle%Database%') version_first_digit,
(SELECT substr(version_full,4,1) FROM product_component_version where product like '%Oracle%Database%') version_second_digit,
(select value from v$parameter where name = 'compatible') compatible_full,
(select substr(value,1,2) from v$parameter where name = 'compatible') compatible_first_digit,
(select substr(value,4,1) from v$parameter where name = 'compatible') compatible_second_digit
FROM v$database )
SELECT platform_id, platform_name, version_full, compatible_full,
case
when
platform_name = 'Solaris Operating System (x86-64)'
and
to_number(version_first_digit) = 10
and
to_number(version_second_digit) > 2
then 'SUPPORTED'
when
platform_name = 'Solaris Operating System (x86-64)'
and
to_number(version_first_digit) > 10
then 'SUPPORTED'
when
platform_name = 'Microsoft Windows x86 64-bit'
and
to_number(version_first_digit) = 11
and
to_number(version_second_digit) >= 1
and
to_number(compatible_first_digit) = 11
and
to_number(compatible_second_digit) >= 1
then 'SUPPORTED'
when
platform_name = 'Microsoft Windows x86
64-bit'
and
to_number(version_first_digit) > 11
and
to_number(compatible_first_digit) = 11
and
to_number(compatible_second_digit) >= 1
then 'SUPPORTED'
when
platform_name = 'Microsoft Windows x86 64-bit'
and
to_number(version_first_digit) > 11
and
to_number(compatible_first_digit) > 11
then 'SUPPORTED'
when
platform_name = 'Linux x86 64-bit'
then 'SUPPORTED'
else
'NOT_SUPPORTED'
end as SUPPORT_STATUS
from vsrcinfo;
`
### Version
None
### What oracle database version are you seeing the problem on?
None
### Which sql script version ?
None
### Relevant log output
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.