Skip to main content
Delphix

Amending the Oracle spfile if a VDB instance fails to start due to incorrect parameters (KBA10510)

 

 

KBA

KBA#
10510

 

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:

  1. In most cases the VDB will be disabled due to the nature of the issue. If not, disable the VDB from the UI.
  2. 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'> 
  1. 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
  1. Make a copy of the spfile (only as a precaution, this is not used)
$ cp spfile.ora /tmp/spfile.ora 
  1. 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
  1.  Edit the pfile /tmp/init.ora file to remove/update the offending entry or entries.
  2.  Start the VDB using the edited init.ora file.
SQL> STARTUP nomount PFILE=/tmp/init.ora;
ORACLE instance started.
  1. 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.
  1. Disable and Enable the VDB from the UI.

 

 


Related Articles

The following articles may provide more information or related information to this article: