RAC環境中使用create pfile form spfile出現問題

來源:互聯網
上載者:User

RAC環境中使用create pfile form spfile出現問題

一、問題解決

1、  查看正常RAC中有關,parameter記錄

節點spfile 位置

SQL> show parameter pfile

NAME                  TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                  string    +BACKUP_DISK/racdb/spfileracdb

                                                .ora

伺服器上pfile內容

[ora@rac1-21 dbs]$ cat initracdb1.ora

SPFILE='+BACKUP_DISK/racdb/spfileracdb.ora'

2、  使用create pfile from spfile;

SQL> create pfile from spfile;

File created.

此時伺服器上pfile內容

[ora@rac1-21 dbs]$ cat initracdb1.ora
SPFILE='+BACKUP_DISK/racdb/spfileracdb.ora'
[ora@rac1-21 dbs]$ cat initracdb1.ora
racdb2.__db_cache_size=121634816
racdb1.__db_cache_size=121634816
racdb2.__java_pool_size=4194304
racdb1.__java_pool_size=4194304
racdb2.__large_pool_size=4194304
racdb1.__large_pool_size=4194304
racdb2.__shared_pool_size=88080384
racdb1.__shared_pool_size=88080384
racdb2.__streams_pool_size=0
racdb1.__streams_pool_size=0
*.audit_file_dest='/u01/Oracle/admin/racdb/adump'
*.background_dump_dest='/u01/oracle/admin/racdb/bdump'
*.cluster_database_instances=2
*.cluster_database=true
*.compatible='10.2.0.1.0'
*.control_files='+BACKUP_DISK/racdb/controlfile/current.256.871700359'
*.core_dump_dest='/u01/oracle/admin/racdb/cdump'
*.db_block_size=8192
*.db_create_file_dest='+BACKUP_DISK'
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='racdb'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=racdbXDB)'
racdb2.instance_number=2
racdb1.instance_number=1
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=73400320
*.processes=150
*.remote_listener='LISTENERS_RACDB'
*.remote_login_passwordfile='exclusive'
*.sga_target=220200960
racdb2.thread=2
racdb1.thread=1
*.undo_management='AUTO'
racdb1.undo_tablespace='UNDOTBS1'
racdb2.undo_tablespace='UNDOTBS2'
*.user_dump_dest='/u01/oracle/admin/racdb/udump'

**.undo_management='AUTO'  為共用的參數

racdb2.thread=2

racdb1.thread=1

為節點單獨使用的

重啟之後,oracle使用了節點本地的pfile,不能使用共用儲存上spfile了,這樣很不方便以後的管理。

SQL> show parameter pfile

NAME                                TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                  string

oracle使用節點本地的參數檔案,而不使用共用儲存的參數檔案,這樣的問題怎麼解決呢?

3、  解決方案:

修改oracle中pfile指向位置為共用儲存的參數檔案即可。(指標)

[ora@rac1-21 dbs]$ cat initracdb1.ora

sPFILE='+BACKUP_DISK/racdb/spfileracdb.ora'

 

重啟資料庫

SQL> show parameter pfile

NAME                    TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                  string      +BACKUP_DISK/racdb/spfileracdb

                                      .ora

OK!問題解決了。

二、思考與總結

思考:RAC啟動參數檔案位置的奧秘?

RAC中,啟動參數檔案是不是ORACLE先去找本地的參數檔案,然後本地指向共用儲存中的檔案,這樣的方式,參數檔案才得以在共用磁碟上多個節點進行共用呢?

為了證明我的想法,覺得把pfile修改名。看看oracle能否找到共用儲存中的參數檔案呢?

[ora@rac1-21 dbs]$ mv initracdb1.ora initracdb1.ora_bk

SQL> startup

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/u01/oracle/product/10.2.0/db_1/dbs/initracdb1.ora'

恢複pfile的名稱

 [ora@rac1-21 dbs]$ mv initracdb1.ora_bk initracdb1.ora

SQL> startup

ORACLE instance started.

Total System Global Area  222298112 bytes

Fixed Size                  1218628 bytes

Variable Size              96470972 bytes

Database Buffers          121634816 bytes

Redo Buffers                2973696 bytes

Database mounted.

Database opened.

顯然,資料庫開啟使用節點本地的pfile,只要本地的參數檔案或指向參數檔案正確。資料庫就可以啟動

總結:RAC資料庫啟動也是先使用預設的位置SPFILE,PFILE等檔案。如果有指向,oracle就會使用指向共用儲存的位置parameter檔案。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.