- ما یک رک ۲ نود داریم [rac1] و [rac2]
- دستورات زیر رو از نود ۱ یعنی [rac1] اجرا میکنیم
مرحله اول: ساختن یک SPFILE در ASM و دیسک گروپه «RACDB_DATA+»
SQL> connect / as sysdba
SQL> show parameter spfile NAME TYPE VALUE ------- ------- ------------------------------ spfile string /u01/app/oracle/product/11.2.0/db_1/dbs/spfileracdb11.ora SQL> create pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initracdb11.ora' from spfile='/u01/app/oracle/product/11.2.0/db_1/dbs/spfileracdb11.ora'; #### OR Simply #### SQL> create pfile from spfile File created. SQL> create spfile='+RACDB_DATA' from pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initracdb11.ora'; File created. SQL> exit
مرحله دوم: چک کردن SPFILE در ASM
[grid@rac1 ~]$ asmcmd ASMCMD> ls RACDB_DATA/racdb1/spfile* spfileracdb1.ora ASMCMD> exit
مرحله سوم: ویرایش initracdb11.ora در rac1 و initracdb12.ora در rac2 برای اشاره به مسیر جدید SPFILE در ASM
[oracle@rac1 dbs]$ echo "SPFILE='+RACDB_DATA/racdb1/spfileracdb1.ora'" > /u01/app/oracle/product/11.2.0/db_1/dbs/initracdb11.ora [oracle@rac1 dbs]$ ssh rac2 "echo \"SPFILE='+RACDB_DATA/racdb1/spfileracdb1.ora'\" > /u01/app/oracle/product/11.2.0/db_1/dbs/initracdb12.ora"
مرحله چهارم: آپدیت OCR با مسیر جدید SPFILE
[oracle@rac1 dbs]$ srvctl modify database -d racdb1 -p +RACDB_DATA/racdb1/spfileracdb1.ora
مرحله پنجم: ویرایش اسمهای تمام SPFILEهای موجود در ORACLE_HOME/dbs$
[oracle@rac1 dbs]$ mv /u01/app/oracle/product/11.2.0/db_1/dbs/spfileracdb11.ora /u01/app/oracle/product/11.2.0/db_1/dbs/spfileracdb11.ora_bak [oracle@rac1 dbs]$ ssh rac2 "mv /u01/app/oracle/product/11.2.0/db_1/dbs/spfileracdb12.ora /u01/app/oracle/product/11.2.0/db_1/dbs/spfileracdb12.ora_bak"
مرحله ششم: شروع مجدد تمام Instancesها برای سوییچ به SPFILE جدید
[oracle@rac1 dbs]$ srvctl stop database -d racdb1 [oracle@rac1 dbs]$ srvctl start database -d racdb1 [oracle@rac1 dbs]$ srvctl status database -d racdb1 Instance racdb11 is running on node rac1 Instance racdb12 is running on node rac2
مرحله هفتم: اتصال به دیتابیس و چک کردن مسیر SPFILE جاری
[oracle@racdb1 dbs]$ connect / as sysdba SQL> SHOW parameter spfile NAME TYPE VALUE ------ ----------- ------------------------------ spfile string +RACDB_DATA/racdb1/spfileracdb 1.ora
امیدوارم مفید بوده باشه
منبع:
https://emarcel.com/moving-spfile-from-file-system-to-asm-oracle-rac11g/#