无论是在集群还是在实例,都无法启动数据库实例。
[grid@m2 ~]$ srvctl start instance -d mdb -i mdb2
PRCR-1013 : 无法启动资源 ora.mdb.db
PRCR-1064 : 无法在节点 m2 上启动资源 ora.mdb.db
ORA-00203: ??????????
ORA-00202: ????: ''+DATA/mdb/controlfile/current.268.821031437''
CRS-2674: 未能启动 'ora.mdb.db' (在 'm2' 上)
[grid@m2 ~]$ pwd
/home/grid
[grid@m2 ~]$ ll
总计 4
drwxrwxr-x 3 grid oinstall 4096 07-15 15:35 oradiag_grid
[grid@m2 ~]$ pwd
/home/grid
[grid@m2 ~]$ srvctl status asm -n m1
ASM 正在 m1 上运行
[grid@m2 ~]$ srvctl status asm -n m2
ASM 正在 m2 上运行
ORA-03113: end-of-file on communication channel
使用相同的pfile启动。
SQL>startup pfile='/opt/app/oracle/product/11.2.0/dbs/initmdb1.ora'
ORACLE instance started.
Total System Global Area 1607008256 bytes
Fixed Size1336820 bytes
Variable Size 469764620 bytes
Database Buffers 1124073472 bytes
Redo Buffers 11833344 bytes
ORA-00203: using the wrong control files
ORA-00202: control file: '+DATA/mdb/controlfile/current.268.821031437'
NODE M2:
SQL>show parameter control
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
control_file_record_keep_time integer
7
control_files string
+DATA/mdb/controlfile/current.
268.821031437, +RECOVERY/mdb/c
ontrolfile/current.269.8210314
39
control_management_pack_access string
DIAGNOSTIC+TUNING
SQL>
NODE M1:
SQL>show parameter control
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
control_file_record_keep_time integer
7
control_files string
+DATA/mdb/controlfile/current.
268.821031437, +RECOVERY/mdb/c
ontrolfile/current.269.8210314
39
control_management_pack_access string
DIAGNOSTIC+TUNING
SQL>
怀疑是虚拟机中的磁盘设置问题,修改虚拟机文件
把 scsi0:1.type="disk"
修改为:
scsi0:1.shared="TRUE"
其它两项不变
scsi0:1.virtualDev = "lsilogic"
scsi0:1.SharedBus="Virtual"
所有共享磁盘修改后为:
scsi0:1.virtualDev = "lsilogic"
scsi0:1.sharedBus = "VIRTUAL"
scsi0:1.shared="TRUE"
disk.locking="FALSE"
========================================================
修改后,再启动实例,还是无法启动,报控制文件出错:
Connected to an idle instance.
SQL>startup
ORACLE instance started.
Total System Global Area 1607008256 bytes
Fixed Size1336820 bytes
Variable Size 520096268 bytes
Database Buffers 1073741824 bytes
Redo Buffers 11833344 bytes
ORA-00214: control file '+RECOVERY/mdb/controlfile/current.269.821031439'
version 1199 inconsistent with file
'+DATA/mdb/controlfile/current.283.821115539' version 522
SQL>show parameter spfile
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile string
+DATA/mdb/spfilemdb.ora
SQL>select instance_name from v$instance
INSTANCE_NAME
------------------------------------------------
mdb1
SQL>show parameter spfile
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile string
+DATA/mdb/spfilemdb.ora
SQL>select instance_name from v$instance
INSTANCE_NAME
------------------------------------------------
mdb1
SQL>create pfile from spfile
File created.
SQL>shutdown abort
ORACLE instance shut down.
SQL>exit
[oracle@m1 dbs]$ vi initmdb1.ora
[oracle@m1 dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 18 15:24:51 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL>startup pfile='/opt/app/oracle/product/11.2.0/dbs/initmdb1.ora'
ORACLE instance started.
Total System Global Area 1607008256 bytes
Fixed Size1336820 bytes
Variable Size 520096268 bytes
Database Buffers 1073741824 bytes
Redo Buffers 11833344 bytes
Database mounted.
Database opened.
SQL>
[oracle@m1 dbs]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Thu Jul 18 15:29:09 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database (not started)
RMAN>startup nomount
Oracle instance started
Total System Global Area1607008256 bytes
Fixed Size 1336820 bytes
Variable Size520096268 bytes
Database Buffers1073741824 bytes
Redo Buffers 11833344 bytes
RMAN>restore controlfile to '+DATA' from '+RECOVERY/mdb/controlfile/current.269.821031439'
Starting restore at 2013-07-18 15:30:28
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=143 instance=mdb1 device type=DISK
channel ORA_DISK_1: copied control file copy
Finished restore at 2013-07-18 15:30:36
RMAN>restore controlfile to '+DATA' from '+RECOVERY/mdb/controlfile/current.269.821031439'
Starting restore at 2013-07-18 15:38:57
using channel ORA_DISK_1
channel ORA_DISK_1: copied control file copy
Finished restore at 2013-07-18 15:39:05
RMAN>exit
恢复控制文件的同时,可以在其它窗口看到增加的控制文件名称:
ASMCMD>ls
Current.256.820944177
Current.268.821031437
current.282.821115029
ASMCMD>ls
Current.256.820944177
Current.268.821031437
current.282.821115029
current.283.821115539
ASMCMD>
后面两个文件是这次恢复的。
修改pfile,添加进去:
*.control_files='+DATA/mdb/controlfile/current.282.821115029','+DATA/mdb/controlfile/current.283.821115539','+RECOVERY/mdb/controlfile/current.269.821031439'
再次使用pfile启动数据库后,建立spfile 文件。
SQL>startup pfile='/opt/app/oracle/product/11.2.0/dbs/initmdb1.ora'
ORACLE instance started.
Total System Global Area 1607008256 bytes
Fixed Size1336820 bytes
Variable Size 520096268 bytes
Database Buffers 1073741824 bytes
Redo Buffers 11833344 bytes
Database mounted.
Database opened.
SQL>
create spfile='+DATA/mdb/spfilemdb.ora' from pfile='/opt/app/oracle/product/11.2.0/dbs/initmdb1.ora'
修改pfile文件指定到新生成的共享磁盘中的spfile
[oracle@m1 dbs]$ cat initmdb1.ora
SPFILE='+DATA/mdb/spfilemdb.ora'
[oracle@m1 dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 18 15:53:56 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL>startup
ORACLE instance started.
Total System Global Area 1607008256 bytes
Fixed Size1336820 bytes
Variable Size 520096268 bytes
Database Buffers 1073741824 bytes
Redo Buffers 11833344 bytes
Database mounted.
Database opened.
SQL>
完成后,再另一个节点启动数据库实例:
[oracle@m2 dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 18 15:58:55 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL>startup
ORACLE instance started.
Total System Global Area 1607008256 bytes
Fixed Size1336820 bytes
Variable Size 469764620 bytes
Database Buffers 1124073472 bytes
Redo Buffers 11833344 bytes
Database mounted.
Database opened.
SQL>create table tst_tbs(id number(10),prod_name varchar2(50))
Table created.
SQL>insert into tst_tbs values(1,'test name')
1 row created.
SQL>commit
Commit complete.
在另一个实例中可以看到刚才插入的数据。
SQL>select id,prod_name from tst_tbs
ID
----------
PROD_NAME
--------------------------------------------------------------------------------
1
test name
SQL>select instance_name from v$instance
INSTANCE_NAME
------------------------------------------------
mdb1
SQL>
在RAC中,看到数据库没启动起来,再次使用RAC的命令启动一下数据库,完成。
[grid@m1 ~]$ crs_stat -t
Name Type TargetState Host
启动根容器:[oracle@eric ~]$ export ORACLE_SID=cup
[oracle@eric ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Jan 21 16:00:06 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SQL>startup-----不会直接启动所有可插拔数据库,如需启动所有可插拔数据库,执行命令:alter pluggable database all open
ORACLE instance started.
Total System Global Area 767557632 bytes
Fixed Size 2929112 bytes
Variable Size 574623272 bytes
Database Buffers 184549376 bytes
Redo Buffers5455872 bytes
Database mounted.
Database opened.
停止根容器:
SQL>shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
查看是否创建了CDB,如果有显示名字:
SQL>select name,cdb from v$database
NAME CDB
--------- ---
CUP YES
SQL>show parameter service
NAME TYPEVALUE
------------------------------------ ----------- ------------------------------
service_namesstring cup
查看容器名字,其中有3个容器:根容器、种子容器和自己创建的容器:
SQL>select con_id,name from v$containers
CON_ID NAME
---------- ------------------------------
1 CDB$ROOT---根容器
2 PDB$SEED---种子容器,只可读
3 TEA ---自己创建的可插拔数据库
SQL>select file_name from dba_data_files
FILE_NAME
--------------------------------------------------------------------------------
/oracle/app/oradata/CUP/datafile/o1_mf_system_bch07kvz_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_sysaux_bch020oo_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_undotbs1_bch0d2on_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_users_bch0d15n_.dbf
SQL>select file_name from cdb_data_files
FILE_NAME
--------------------------------------------------------------------------------
/oracle/app/oradata/CUP/datafile/o1_mf_system_bch07kvz_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_sysaux_bch020oo_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_undotbs1_bch0d2on_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_users_bch0d15n_.dbf
创建公共用户:
SQL>create user c##eric identified by gao
User created.
SQL>conn c##eric/gao
ERROR:
ORA-01045: user C##ERIC lacks CREATE SESSION privilegelogon denied----没有权限,我们可以单独给其赋予权限,也可以给其指定角色。
Warning: You are no longer connected to ORACLE.
SQL>conn / as sysdba
Connected.
SQL>grant dba to c##eric container=all---给其DBA角色,角色范围覆盖所有的容器
Grant succeeded.
SQL>conn c##eric/gao
Connected. ---连接成功
切换容器:
首先启动自己创建的容器数据库:
SQL>alter pluggable database tea open ---首先启动PDB数据库
SQL>alter session set container = tea
Session altered.
SQL>show con_name ---查看当前所在的容器名
CON_NAME
------------------------------
TEA
关闭可插拔数据库:
SQL>alter pluggable database tea close immediate
Pluggable database altered.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)