【Q&A】12C OCP 1z0-060 QUESTION 1: About Managing Temporary Tablespaces in a CDB

QUESTION 1

Your multitenant container (CDB) contains two pluggable databases (PDB), HR_PDB and ACCOUNTS_PDB, both of which use the CDB tablespace. The temp file is called temp01.tmp. A user issues a query on a table on one of the PDBs and receives the following error:

ERROR at line 1:
ORA-01565: error in identifying file ‘/u01/app/oracle/oradata/CDB1/temp01.tmp’
ORA-27037: unable to obtain file status
Identify two ways to rectify the error.

A. Add a new temp file to the temporary tablespace and drop the temp file that that produced the error.
B. Shut down the database instance,restore the temp01.tmp file from the backup,and then restart the database.
C. Take the temporary tablespace offline, recover the missing temp file by applying redo logs, and then bring the temporary tablespace online.
D. Shutdown the database instance, restore and recover the temp file from the backup, and then open the database with RESETLOGS.
E. Shut down the database instance and then restart the CDB and PDBs.

【题目示意】

考察了多租户环境下的临时表空间数据文件丢失的处理方法

【解析】

在CDB中有一个默认的临时表空间或表空间组。要修改这个临时表空间,当前的数据库必须是root容器数据库。在root容器数据库中,可以创建额外的临时表空间,可以把这些临时表空间分配给指定的用户。

可以为PDB创建默认的临时表空间,也可以单独为PDB创建额外的临时表空间,同时可以把这个临时表空间分配给PDB中的指定用户。当一个PDB从CDB中拔去时,这些临时表空间也被拔去。

图中对用户使用那个临时表空间进行了描述:

从11g开始,当数据库open的时候,记录在控制文件中的临时表空间发生丢失,则会根据临时表空间之前的size,autoextend和maxsize属性重新创建已经丢失的临时表空间,如果数据库是OMF的管理方法,临时表空间中的临时文件会创建在DB_CREATE_FILE_DEST参数所指定的路径,如果非OMF管理,则会创建在原来的路径下。此种丢失的情况,在alert中,可以看到如下的报错:

ORA-01565: error in identifying file ‘/u01/app/oracle/oradata/CDB1/temp01.tmp’
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory

当数据库关闭并再次打开时,在alert中会看到临时表空间重建的日志。

Re-creating tempfile /u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf

仅仅当临时表空间中的文件丢失的情况下会重新创建,如果临时文件任然存在在RMAN repository所记录的路径中,只是文件头损坏,则RMAN不会重建创建临时文件,如果RMAN无法创建临时文件,数据库依旧可以打开。此过程在alert中表现如下:

Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01186: file 203 failed verification tests
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
File 203 not verified due to error ORA-01157
Tue Aug 05 00:35:27 2014
Cannot re-create tempfile /u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf, the same name file exists

【实验】

观察临时表空间中的文件丢失的重建

1.连到数据库,检查container情况:

[[email protected] ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Tue Aug 5 11:04:09 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Advanced Analytics
and Real Application Testing options
[email protected]> COLUMN NAME FORMAT A8
[email protected]> SELECT NAME, CON_ID, DBID, CON_UID, GUID FROM V$CONTAINERS ORDER BY CON_ID;
NAME         CON_ID       DBID    CON_UID GUID
-------- ---------- ---------- ---------- --------------------------------
CDB$ROOT          1 2767578829          1 FDD22BF463BD0F53E0430A50A8C0EDD2
PDB$SEED          2 4095226510 4095226510 FDD22BF463BC0F53E0430A50A8C0EDD2
DBS               3 1831021044 1831021044 FDD32A078F321802E0430A50A8C0F4FF
[email protected]> show con_name
CON_NAME
------------------------------
CDB$ROOT

2.切换PDB为DBS,查看DBS的临时表空间文件:

[email protected]> alter session set container=DBS;
Session altered.
[email protected]> show con_name
CON_NAME
------------------------------
DBS
[email protected]> select FILE_NAME,TABLESPACE_NAME,CON_ID from cdb_temp_files;
FILE_NAME                                         TABLESPACE_NAME      CON_ID
------------------------------------------------- ------------------- ------- 
/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf    TEMP                      3

3.删除临时文件:

[email protected]> !rm -rf /u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf

4.进行一个大的排序操作,发现报错,此报错和题目中的报错一致:

[email protected]> select * from tests order by 1 desc;
select * from tests order by 1 desc
*
ERROR at line 1:
ORA-01565: error in identifying file
‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

5.重启PDB,发现临时文件已经重建完成:

[email protected]> startup force
Pluggable Database opened.
[email protected]> !ls /u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf
/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf

6.alert日志如下:

ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE
Tue Aug 05 11:15:16 2014
ALTER SYSTEM: Flushing buffer cache inst=0 container=3 local
Pluggable database DBS closed
Completed: ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE
ALTER PLUGGABLE DATABASE OPEN
Tue Aug 05 11:15:16 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Tue Aug 05 11:15:16 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Tue Aug 05 11:15:16 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01186: file 203 failed verification tests
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
Tue Aug 05 11:15:16 2014
File 203 not verified due to error ORA-01157
Tue Aug 05 11:15:16 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Tue Aug 05 11:15:16 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01186: file 203 failed verification tests
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
File 203 not verified due to error ORA-01157
Tue Aug 05 11:15:16 2014
Re-creating tempfile /u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf
Opening pdb DBS (3) with no Resource Manager plan active
Pluggable database DBS opened read write
Completed: ALTER PLUGGABLE DATABASE OPEN

观察临时表空间中的文件损坏的重建

1.使用dd命令,破坏临时文件:

[email protected]> !dd if=/dev/zero of=/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf bs=102400 count=1010+0 records in10+0 records out1024000 bytes (1.0 MB) copied, 0.00178821 s, 573 MB/s

2.PDB启动正常:

[email protected]> startup force
Pluggable Database opened.
[email protected]>

3.此时做个比较大的排序操作,就会报错:

[email protected]> select * from tests order by 1 desc;
select * from tests order by 1 desc
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘

4.alert日志如下:

ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE
Tue Aug 05 11:20:32 2014
ALTER SYSTEM: Flushing buffer cache inst=0 container=3 local
Pluggable database DBS closed
Completed: ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE
ALTER PLUGGABLE DATABASE OPEN
Tue Aug 05 11:20:32 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
ORA-27048: skgfifi: file header information is invalid
Additional information: 19
Tue Aug 05 11:20:32 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
ORA-27048: skgfifi: file header information is invalid
Additional information: 19
Tue Aug 05 11:20:32 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01186: file 203 failed verification tests
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
Tue Aug 05 11:20:32 2014
File 203 not verified due to error ORA-01157
Tue Aug 05 11:20:32 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
ORA-27048: skgfifi: file header information is invalid
Additional information: 19
Tue Aug 05 11:20:32 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01186: file 203 failed verification tests
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
File 203 not verified due to error ORA-01157
Tue Aug 05 11:20:32 2014
Cannot re-create tempfile /u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf, the same name file exists
Tue Aug 05 11:20:32 2014
Errors in file /u01/app/oracle/diag/rdbms/dbstyle/DBSTYLE/trace/DBSTYLE_dbw0_3112.trc:
ORA-01157: cannot identify/lock data file 203 - see DBWR trace file
ORA-01110: data file 203: ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf‘
ORA-27048: skgfifi: file header information is invalid
Additional information: 19
Opening pdb DBS (3) with no Resource Manager plan active
Pluggable database DBS opened read write
Completed: ALTER PLUGGABLE DATABASE OPEN

5.删除被破坏的临时文件,重启PDB故障解决:

[email protected]> !rm -rf /u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf
[email protected]> startup force
Pluggable Database opened.

【小结】

A. 临时表空间中的数据文件丢失,可以采用向临时表空间中添加新的数据文件,并把丢失的文件drop掉的方法处理,所以A正确。
B. 临时文件中存在的数据都是临时数据,而非永久数据,因此无需进行还原和恢复,并且RMAN也不对临时文件进行备份。
C.临时文件可以进行offline操作,alter database tempfile ‘/u01/app/oracle/oradata/DBSTYLE/DBS/temp01.dbf’ offline; 但临时文件不能recover。
D. 临时文件中存在的数据都是临时数据,而非永久数据,因此无需进行还原和恢复。
E. 如果临时表空间中的文件丢失,重启数据库实例时,会自动创建丢失的临时文件,所以E正确。

【答案】 A,E 



相关参考

http://docs.oracle.com/cd/E16655_01/backup.121/e17630/rcmcomre.htm#BRADV89772

http://docs.oracle.com/database/121/ADMIN/cdb_admin.htm#ADMIN13674 



FILED UNDER: 1Z0-060OCPORACLE

【Q&A】12C OCP 1z0-060 QUESTION 1: About Managing Temporary Tablespaces in a CDB,布布扣,bubuko.com

【Q&A】12C OCP 1z0-060 QUESTION 1: About Managing Temporary Tablespaces in a CDB

时间: 2024-10-12 09:44:09

【Q&A】12C OCP 1z0-060 QUESTION 1: About Managing Temporary Tablespaces in a CDB的相关文章

C++中实现链表的删除和颠倒【1234ssc.com】

MFC工程中关于链表的操作 1.对于给定的整数n,编写算法删除链表中第n个节点,该链表的第一个节点由first指向. 由于C++中没有关于node的标准头文件,要先手动定义node类,此处只定义了简单的data和next指针以及析构函数部分的内容: 1 class node 2 { 3 public: 4 node(const int &in,node *nextnode = NULL); 5 virtual ~node(); 6 node*next; 7 int data; 8 9 }; #i

【12C考题精解】OCP 1z0-060 QUESTION 8: Recovery of a Tablespace in the CDB

QUESTION 8 Your multitenant container (CDB) containing three pluggable databases (PDBs) is running in ARCHIVELOG mode. You find that the SYSAUX tablespace is corrupted in the root container. The steps to recover the tablespace are as follows:   1. Mo

下载中心常见问题解答【Q&A帮助】

公告 1.下载中心不支持迅雷以及各个浏览器(如360.猎豹等)自带的加速模块下载,如果您正在使用,请关闭后再下载. 2. 本文内容较多,可利用"Ctrl+F"进行搜寻,如果没有找到您想知道的问题,请留言提出,我们会及时答复您.如果您的问题具有代表性,将会采纳入正文中.本文中已做出解答的问题,请不要重复提问. 下载常见问题 1.Q:为什么下载的资料提示解压错误?而且只有7KB? A:如果无法打开附件并提示解压报错,可以已下载的附件大小和资料原本标注的大小是否一致,如果资料下载完只有7KB

代开珠海建筑公司发票【135-333-90624贺+Q 68420281】

 代开北京建筑公司发票[135-333-90624贺+Q 68420281] 代开上海建筑公司发票[135-333-90624贺+Q 68420281] 代开深圳建筑公司发票[135-333-90624贺+Q 68420281] 代开广州建筑公司发票[135-333-90624贺+Q 68420281] 代开厦门建筑公司发票[135-333-90624贺+Q 68420281] 代开重庆建筑

代开惠州建筑公司发票【135-333-90624贺+Q 68420281】

 代开北京建筑公司发票[135-333-90624贺+Q 68420281] 代开上海建筑公司发票[135-333-90624贺+Q 68420281] 代开深圳建筑公司发票[135-333-90624贺+Q 68420281] 代开广州建筑公司发票[135-333-90624贺+Q 68420281] 代开厦门建筑公司发票[135-333-90624贺+Q 68420281] 代开重庆建筑

代开东莞建筑公司发票【135-333-90624贺+Q 68420281】

 代开北京建筑公司发票[135-333-90624贺+Q 68420281] 代开上海建筑公司发票[135-333-90624贺+Q 68420281] 代开深圳建筑公司发票[135-333-90624贺+Q 68420281] 代开广州建筑公司发票[135-333-90624贺+Q 68420281] 代开厦门建筑公司发票[135-333-90624贺+Q 68420281] 代开重庆建筑

代开太原建筑公司发票【135-333-90624贺+Q 68420281】

 代开北京建筑公司发票[135-333-90624贺+Q 68420281] 代开上海建筑公司发票[135-333-90624贺+Q 68420281] 代开深圳建筑公司发票[135-333-90624贺+Q 68420281] 代开广州建筑公司发票[135-333-90624贺+Q 68420281] 代开厦门建筑公司发票[135-333-90624贺+Q 68420281] 代开重庆建筑

[ZJOI2007] 小Q的矩阵游戏【解题报告】

戳我 660. [ZJOI2007] 小Q的矩阵游戏 ★★☆   输入文件:qmatrix.in   输出文件:qmatrix.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种操作: l 行交换操作:选择矩阵的任意两行,交换这两行(即交换对应格子的颜色) l 列交换操作:选择矩阵的任意两列

【codeforces 718E】E. Matvey's Birthday

题目大意&链接: http://codeforces.com/problemset/problem/718/E 给一个长为n(n<=100 000)的只包含‘a’~‘h’8个字符的字符串s.两个位置i,j(i!=j)存在一条边,当且仅当|i-j|==1或s[i]==s[j].求这个无向图的直径,以及直径数量. 题解:  命题1:任意位置之间距离不会大于15. 证明:对于任意两个位置i,j之间,其所经过每种字符不会超过2个(因为相同字符会连边),所以i,j经过节点至多为16,也就意味着边数至多