Oracle VDB Snapshots Fail With "The following non-modifiable parameters have been added" (KBA10810)
KBA
KBA#
Issue
Delphix provides a list of restricted Oracle parameters that cannot be modified during provision nor after a VDB is provisioned. If one of these parameters is modified in the Delphix spfile, it will result in an error like the following:
Error The following non-modifiable parameters have been added: "thread=1". Error Code exception.oracle.vdb.uncustomizable.parameters.added Suggested Action Remove the non-modifiable parameters and take the snapshot again. Failure to do so, compromises database integrity.
In the above example, the "thread" parameter was updated to a value of 1 using a scope of either "both" or "spfile". For example:
ALTER SYSTEM SET thread=1 SCOPE=BOTH;
or:
ALTER SYSTEM SET thread=1 SCOPE=SPFILE;
Snapshots of the VDB will fail with the error above until this is reset to the value expected by Delphix, or the default value, and the VDB is restarted.
Applicable Delphix Versions
- Click here to view the versions of the Delphix engine to which this article applies
-
Date Release Jun 20, 2024 24.0.0.0 May 22, 2024 23.0.0.0 Apr 17, 2024 | May 8, 2024 22.0.0.0 | 22.0.0.1 Mar 20, 2024 | Apr 2, 2024 21.0.0.0 | 21.0.0.1 Feb 21, 2024 20.0.0.0 Jan 25, 2024 19.0.0.0 Dec 20, 2023 | Jan 10, 2024 18.0.0.0 | 18.0.0.1 Nov 21, 2023 17.0.0.0 Oct 18, 2023 16.0.0.0 Sep 21, 2023 15.0.0.0 Aug 24, 2023 14.0.0.0 Jul 24, 2023 13.0.0.0 Jun 21, 2023 12.0.0.0 May 25, 2023 11.0.0.0 Apr 13, 2023 10.0.0.0 | 10.0.0.1 Mar 13, 2023 | Mar 20, 2023 9.0.0.0 | 9.0.0.1 Feb 13, 2023 8.0.0.0 Jan 12, 2023 7.0.0.0 Releases Prior to 2023 Major Release All Sub Releases 6.0 6.0.7.0, 6.0.8.0, 6.0.8.1, 6.0.9.0, 6.0.10.0, 6.0.10.1, 6.0.11.0, 6.0.12.0, 6.0.12.1, 6.0.13.0, 6.0.13.1, 6.0.14.0, 6.0.15.0, 6.0.16.0, 6.0.17.0, 6.0.17.1, 6.0.17.2
Resolution
To resolve the issue, the parameter needs to be reset to either the value Delphix expects, or the default value, and the VDB needs to be restarted from the Delphix UI. The example below is for a VCDB/VPDB, if using a non-multi tenent VDB, perform the steps on the VDB.
Check if the value is present in the meta-data from the CLI for the VDB in question.
- Login to the CLI as the Delphix admin user:
dlpx-engine > source dlpx-engine source> select MYCDB dlpx-engine source 'MYCDB'> ls Properties type: OracleVirtualSource name: MYCDB allowAutoVDBRestartOnHostReboot: false allowRefreshRewindPostV2P: false archivelogMode: true config: MYCDB configParams: _cdb_disable_pdb_limit: TRUE _omf: 'ENABLED' audit_sys_operations: FALSE audit_trail: 'NONE' compatible: '19.0.0' enable_pluggable_database: TRUE filesystemio_options: 'setall' log_archive_dest_1: 'location=/mnt/provision/MYCDB/archive/ MANDATORY' log_archive_format: '%t_%s_%r.dbf' max_pdbs: 4098 memory_max_target: 2147483648 memory_target: 2147483648 nls_language: 'AMERICAN' nls_territory: 'AMERICA' open_cursors: 300 processes: 300 remote_login_passwordfile: 'EXCLUSIVE'
- If you find the value in the output above. Connect to the VCDB/VDB and set the value found above.
ALTER SYSTEM SET thread=0 SCOPE=BOTH;
If no value is found, reset to the default value for Oracle.
- Connect to the VCDB as sysdba and run:
ALTER SYSTEM RESET thread SCOPE=BOTH;
- Stop/start the VPDB from Delphix GUI. (This should stop/start the VCDB along with the VPDB, if multi tenent).
- Take a snapshot of VPDB from the Delphix GUI.
Important: If the control_file
or log_archive_dest
are changed, you may need to refresh or rewind the VPDB/VDB.
Additional Troubleshooting
The issue described in this article is specific to when a restricted parameter is updated on an Oracle VDB. There is a similar error when a VDB has been started manually using a non-Delphix pfile. The error is similar but references an spfile, see below:
Error The following non-modifiable parameters have been removed: "spfile='/mnt/provision/sdVDB2/datafile/spfile.ora'". Error Code exception.oracle.vdb.uncustomizable.parameters.removed Suggested Action Add the removed non-modifiable parameters with same value and take the snapshot again. Failure to do so, compromises database integrity.
The above error indicates that the VDB was started using a non-Delphix pfile or started using srvctl with the pfile
configuration parameter. If you are running Continuous Data Engine version 16.0.0.0 or later, stopping and starting the engine from the UI will resolve the issue, unless it was encountered in a previous version prior to upgrade.
For example, while running 15.0.0.0 of Delphix a VDB was started using a non-Delphix pfile and a snapshot was taken. Due to a known issue, DLPX-87908, Delphix support will need to be engaged to resolve the issue. Simply upgrading to 16.0.0.0 will not resolve the issue.
Please contact Delphix Support to resolve this issue.
Related Articles
The following articles may provide more information or related information to this article: