Amending the Oracle spfile if a VDB instance fails to start due to incorrect parameters (KBA10510)
KBA
KBA#
Issue
If a VDB instance fails to start with Oracle errors such as the following:
SQL> ORA-00821: <REASON> ORA-01078: failure in processing system parameters
Then it may be necessary to update/remove the offending parameter from the spfile.
The following procedure provides a method to achieve this.
Applicable Delphix Versions
- Click here to view the versions of the Delphix engine to which this article applies
-
Date Release 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.0.0, 6.0.1.0, 6.0.1.1, 6.0.2.0, 6.0.2.1, 6.0.3.0, 6.0.3.1, 6.0.4.0, 6.0.4.1, 6.0.4.2, 6.0.5.0, 6.0.6.0, 6.0.6.1, 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
5.3
5.3.0.0, 5.3.0.1, 5.3.0.2, 5.3.0.3, 5.3.1.0, 5.3.1.1, 5.3.1.2, 5.3.2.0, 5.3.3.0, 5.3.3.1, 5.3.4.0, 5.3.5.0, 5.3.6.0, 5.3.7.0, 5.3.7.1, 5.3.8.0, 5.3.8.1, 5.3.9.0 5.2
5.2.2.0, 5.2.2.1, 5.2.3.0, 5.2.4.0, 5.2.5.0, 5.2.5.1, 5.2.6.0, 5.2.6.1
5.1
5.1.0.0, 5.1.1.0, 5.1.2.0, 5.1.3.0, 5.1.4.0, 5.1.5.0, 5.1.5.1, 5.1.6.0, 5.1.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0
5.0
5.0.1.0, 5.0.1.1, 5.0.2.0, 5.0.2.1, 5.0.2.2, 5.0.2.3, 5.0.3.0, 5.0.3.1, 5.0.4.0, 5.0.4.1, 5.0.5.0, 5.0.5.1, 5.0.5.2, 5.0.5.3, 5.0.5.4
Resolution
Procedure:
- In most cases the VDB will be disabled due to the nature of the issue. If not, disable the VDB from the UI.
- Log into the Delphix CLI as admin. Execute the following commands:
de> /source de source> select test_vdb de source 'test_vdb'> enable de source 'test_vdb' enable *> set attemptStart=false de source 'test_vdb' enable *> commit Dispatched job JOB-5775 SOURCE_ENABLE job started for "test_vdb". Enabling dataset "test_vdb". Dataset "test_vdb" enabled. SOURCE_ENABLE job for "test_vdb" completed successfully. de source 'test_vdb'>
- The VDB NFS file system will have been mounted on the target server but the VDB will not have been started.
$ df -k |grep test_vdb xx.xx.xx.xx:/domain0/group-4734/oracle_db_container-4738/oracle_timeflow-4739 40779776 0 40779776 0% /mnt/provision/test_vdb
The spfile resides under the NFS mount.
$ cd /mnt/provision/test_vdb $ ls -l total 4 drwxr-x---. 2 oracle oinstall 5 Nov 9 04:37 archive drwxr-x---. 4 oracle oinstall 12 Nov 9 04:47 datafile drwxr-x---. 2 oracle oinstall 2 Nov 8 2022 external drwxr-x---. 3 oracle oinstall 3 Nov 9 04:29 script drwxr-x---. 2 oracle oinstall 3 Nov 9 04:30 temp
$ cd datafile/ $ ls -l total 11 -rw-r-----. 1 oracle oinstall 0 Nov 9 04:29 includedParameters.ora -rw-r-----. 1 oracle oinstall 737 Nov 9 04:29 init.ora -rw-r-----. 1 oracle oinstall 891 Nov 9 04:29 init.ora.createControlfile -rw-r-----. 1 oracle oinstall 991 Nov 9 04:29 init.ora.recovery -rw-r-----. 1 oracle oinstall 992 Nov 9 04:29 init.ora.rename -rw-r-----. 1 oracle oinstall 1015 Nov 9 04:29 source_init.ora -rw-r-----. 1 oracle oinstall 3584 Nov 9 04:47 spfile.ora -rw-r-----. 1 oracle oinstall 0 Nov 9 04:29 sqlnet.ora drwxr-x---. 3 oracle oinstall 3 Nov 9 04:29 TEST_VDB drwxr-x---. 3 oracle oinstall 3 Nov 9 04:29 u01
- Make a copy of the spfile (only as a precaution, this is not used)
$ cp spfile.ora /tmp/spfile.ora
- Connect to the database and generate a pfile from the existing spfile.
$ export ORACLE_SID=test_vdb $ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Thu Nov 9 05:08:40 2023 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to an idle instance. SQL> CREATE PFILE = '/tmp/init.ora' FROM SPFILE = '/mnt/provision/test_vdb/datafile/spfile.ora' File created
- Edit the pfile /tmp/init.ora file to remove/update the offending entry or entries.
- Start the VDB using the edited init.ora file.
SQL> STARTUP nomount PFILE=/tmp/init.ora; ORACLE instance started.
- If successful, recreate the spfile from the pfile. Remember to create the spfile under the NFS mount, replacing the existing spfile.
SQL> CREATE SPFILE = '/mnt/provision/test_vdb/datafile/spfile.ora' FROM PFILE = '/tmp/init.ora' ; File created.
- Disable and Enable the VDB from the UI.
Related Articles
The following articles may provide more information or related information to this article: