In Oracle Database 11g and onwards, the FROM MEMORY clause creates a pfile or spfile using the current systemwide parameter settings. In a RAC environment, the created file contains the parameter settings from each instance.
During instance startup, all parameter settings are logged to the alert.log file. As of Oracle Database 11g, the alert.log parameter dump text is written in valid parameter syntax. This facilitates cutting and pasting of parameters into a separate file and then using as a pfile for a subsequent instance.
The name of the pfile or spfile is written to the alert.log at instance startup time. In cases when an unknown client-side pfile is used, the alert log indicates this as well.
To support this additional functionality, the COMPATIBLE initialization parameter must be set to 11.0.0.0 or higher.
The FROM MEMORY clause allows the creation of current systemwide parameter settings. Below is syntax of using this feature:
CREATE PFILE [= 'pfile_name' ] FROM { { SPFILE [= 'spfile_name'] } | MEMORY };
CREATE SPFILE [= 'spfile_name' ] FROM { { PFILE [= 'pfile_name' ] } | MEMORY } ;
Example:
SQL>create pfile='$ORACLE_HOME/dbs/initdb11g.txt' from memory; File created.
Conclusion
For RAC setup, this method does not take into consideration parameters prefixed with *., thus extra steps will be needed including capturing the text-based parameter file for each instance, merging the 2 and adjusting all the instance-specific parameter settings to include the instance_name for each instance. Using the merged file you would then need to create spfile from this merged text-based pfile.