Əsas səhifə > Oracle, Oracle Administration > ORA-00201:Control file version 11.2.0.3.0 incompatible with ORACLE version 10.2.0.1.0

ORA-00201:Control file version 11.2.0.3.0 incompatible with ORACLE version 10.2.0.1.0

Test server-də Oracle 10g-den 11g-ye upgrade etdikden sonra…Hər şey yolunda görünsə də:

[oracle@bsnew ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jan 14 11:32:55 2014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

Öyrənmək məqsədilə,

SQL> shutdown immediate

Daha sonra :

SQL> startup nomount
ORACLE instance started.

Total System Global Area  730714112 bytes
Fixed Size                  2231952 bytes
Variable Size             255852912 bytes
Database Buffers          465567744 bytes
Redo Buffers                7061504 bytes

Və öyrənməyi davam etmək istərkən:

SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00201: control file version 11.2.0.3.0 incompatible with ORACLE version
10.2.0.1.0
ORA-00202: control file: '/opt/oracle/bs/oradata/BANKSYST/control01.ctl'

Bu error-u gördüm. Dolayısı ilə, database mount moda keçmədi.
Error-dan aydın olur ki, compatibility problemi var.
Bəzi məlumatları toplayaq..Control file-ların path-i:

SQL> show parameter control_file

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time        integer     7
control_files                        string      /opt/oracle/bs/oradata/BANKSYS
                                                 T/control01.ctl, /opt/oracle/b
                                                 s/oradata/BANKSYST/control02.c
                                                 tl, /opt/oracle/bs/oradata/BAN
                                                 KSYST/control03.ctl

Bizim database-in pfile və yaxud spfile-dan istifadə etdiyini tapmaq üçün:

SQL> show parameter pfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /opt/oracle11g/bs/dbs/spfileBA
                                                 NKSYST.ora

Bizim database spfile-dan istifadə edir.

Default olaraq spfile və pfile-lar yerləşir $ORACLE_HOME/dbs-də.

[oracle@bsnew dbs]$ ls
hc_BANKSYST.dat  initBANKSYST.ora  init.ora  lkBANKSYST  orapwBANKSYST  spfileBANKSYST.ora

Oracle naming qaydasına əsasən spfile adı olmalıdır: spfile+ORACLE_SID , həmçinin pfile+ORACLE_SID.

[oracle@bsnew dbs]$ echo $ORACLE_SID
BANKSYST

Spfile = spfileBANKSYST.ora Pfile = initBANKSYST.ora

Daha sonra onu qeyd etməliyik ki, Oracle NOMOUNT mərhələsində parameter faylını oxuyur, RAM-da SGA yaradılır və background proseslər start olunur.
proseslərə baxmaq üçün:

[oracle@bsnew dbs]$ ps -ef | grep BANKSYST
oracle   10801     1  0 11:49 ?        00:00:00 ora_pmon_BANKSYST
oracle   10803     1  0 11:49 ?        00:00:00 ora_psp0_BANKSYST
oracle   10805     1  0 11:49 ?        00:00:00 ora_vktm_BANKSYST
oracle   10809     1  0 11:49 ?        00:00:00 ora_gen0_BANKSYST
oracle   10811     1  0 11:49 ?        00:00:00 ora_diag_BANKSYST
oracle   10813     1  0 11:49 ?        00:00:00 ora_dbrm_BANKSYST
oracle   10815     1  0 11:49 ?        00:00:00 ora_dia0_BANKSYST
oracle   10817     1  0 11:49 ?        00:00:00 ora_mman_BANKSYST
oracle   10819     1  0 11:49 ?        00:00:00 ora_dbw0_BANKSYST
oracle   10821     1  0 11:49 ?        00:00:00 ora_lgwr_BANKSYST
oracle   10823     1  0 11:49 ?        00:00:00 ora_ckpt_BANKSYST
oracle   10825     1  0 11:49 ?        00:00:00 ora_smon_BANKSYST
oracle   10827     1  0 11:49 ?        00:00:00 ora_reco_BANKSYST
oracle   10829     1  0 11:49 ?        00:00:00 ora_mmon_BANKSYST
oracle   10831     1  0 11:49 ?        00:00:00 ora_mmnl_BANKSYST
oracle   10833     1  0 11:49 ?        00:00:00 ora_d000_BANKSYST
oracle   10835     1  0 11:49 ?        00:00:00 ora_s000_BANKSYST
oracle   10836  8146  0 11:49 ?        00:00:00 oracleBANKSYST (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

Məlumatları toplamağa davam edirik:

SQL> show parameter compatible

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      10.2.0.1.0

Son nəticəyə gəlirik ki, çox güman ki spfile daxilində compatible parametrinin dəyərini 10.2.0.1.0-dan 11.2.0.3.0-ə dəyişsək problem düzələcək.

spfile-ı birbaşa dəyişmək imkanımız olmadığı üçün:

SQL> create pfile from spfile;

File created.

Faylımıza gedirik:

[oracle@bsnew ~]$ cd $ORACLE_HOME/dbs
[oracle@bsnew dbs]$ ls
hc_BANKSYST.dat  initBANKSYST.ora  init.ora  lkBANKSYST  orapwBANKSYST  spfileBANKSYST.ora

Onun içinə baxırıq:

[oracle@bsnew dbs]$ nano initBANKSYST.ora

BANKSYST.__db_cache_size=465567744
BANKSYST.__java_pool_size=41943040
BANKSYST.__large_pool_size=4194304
BANKSYST.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
BANKSYST.__pga_aggregate_target=1035993088
BANKSYST.__sga_target=734003200
BANKSYST.__shared_io_pool_size=0
BANKSYST.__shared_pool_size=209715200
BANKSYST.__streams_pool_size=0
*.audit_file_dest='/opt/oracle/admin/BANKSYST/adump'
*.compatible='10.2.0.1.0'
*.control_files='/opt/oracle/bs/oradata/BANKSYST/control01.ctl','/opt/oracle/bs/oradata/BANKSYST/control02.ctl','/opt/oracle/bs/oradata/BANKSYST/control03.ctl'
*.core_dump_dest='/opt/oracle/admin/BANKSYST/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=8
*.db_name='BANKSYST'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='/opt/oracle/flash_recovery_area'
*.diagnostic_dest='/opt/oracle11g'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=BANKSYSTXDB)'
*.event=''
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=1033895936
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=734003200
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS2'
*.utl_file_dir='/bslog'

Dərhal görürük ki, *.compatible=’10.2.0.1.0′ və bu dəyəri dəyişirik: *.compatible=’11.2.0.3.0′

Pfile-dakı dəyişikliyi save etdikdən sonra bu pfile-dan spfile yaratmağa çalışaq:

SQL> create spfile from pfile;
create spfile from pfile
*
ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance

Məhz buna görə SHUTDOWN edirik:

SQL> shutdown immediate
ORA-01507: database not mounted


ORACLE instance shut down.

Daha sonra spfile-ı yaradaq:

SQL> create spfile from pfile;

File created.

Teorik olaraq indi bizim database mount olmalıdır:

SQL> startup nomount;
ORACLE instance started.

Total System Global Area  730714112 bytes
Fixed Size                  2231952 bytes
Variable Size             255852912 bytes
Database Buffers          465567744 bytes
Redo Buffers                7061504 bytes
SQL> alter database mount;

Database altered.

SQL> alter database open;

Database altered.

Bəli həm mount oldu, həm də open.
Qarşımıza çıxan problemi həll etmiş olduq.

Dəhşətli nəticəyə DBA yardımı olmadan gələ bilmədim. Yardımlarından dolayı Elgün Mikayılov-a təşəkkür edirəm.

  1. Hələlik heç bir şərh yoxdur
  1. No trackbacks yet.

Bir cavab yazın

Sistemə daxil olmaq üçün məlumatlarınızı daxil edin və ya ikonlardan birinə tıklayın:

WordPress.com Loqosu

WordPress.com hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Twitter rəsmi

Twitter hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Facebook fotosu

Facebook hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Google+ foto

Google+ hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

%s qoşulma

%d bloqqer bunu bəyənir: