Upload
felix-mateos-medrano
View
227
Download
0
Embed Size (px)
Citation preview
7/26/2019 Undo Recovery Clean Shutdown 1
1/8
.
1) ..................................................................... 2
2) .......................................................................... 2
3) , . .............................................. 3
4) . ........................................................ 4
5) ........................................... 5
) . ........................................................................................................................
) , . .......................................
) . .............................................................................................
) . .....................................................................................................
7/26/2019 Undo Recovery Clean Shutdown 1
2/8
7/26/2019 Undo Recovery Clean Shutdown 1
3/8
.
) ,
.
SQL> startup
ORACLE instance started.
Total System Global Area 368263168 bytes
Fixed Size 1374668 bytes
Variable Size 209716788 bytes
Database Buffers 150994944 bytes
Redo Buffers 6176768 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 3 - see DBWR trace file
ORA-01110: data file 3: 'C:\ORACLE\ORADATA\D041\UNDOTBS01.DBF'
SQL> select NAME,OPEN_MODE,LOG_MODE from v$database;
NAME OPEN_MODE LOG_MODE---------- -------------------- ------------
D041 MOUNTED NOARCHIVELOG
Whenever DB shuts cleanly, CHECKPOINT_CHANGE# and LAST_CHANGE# must always be sync else they
need to do crash/media recovery, as below
SQL> set line 200
col LAST_TIME for a25
col name for a45
select NAME,STATUS,CHECKPOINT_CHANGE#,LAST_CHANGE#,to_char(LAST_TIME,'DD-MON-YYYY HH24:MI:SS')
LAST_TIME from v$datafile;
NAME STATUS CHECKPOINT_CHANGE# LAST_CHANGE# LAST_TIME
--------------------------------------------- ------- ------------------ ------------ ---------------------
C:\ORACLE\ORADATA\D041\SYSTEM01.DBF SYSTEM 1080041 1080041 29-DEC-2013 10:58:30
C:\ORACLE\ORADATA\D041\SYSAUX01.DBF ONLINE 1080041 1080041 29-DEC-2013 10:58:30
C:\ORACLE\ORADATA\D041\UNDOTBS01.DBF ONLINE 1080041 1080041 29-DEC-2013 10:58:30
C:\ORACLE\ORADATA\D041\USERS01.DBF ONLINE 1080041 1080041 29-DEC-2013 10:58:30
C:\ORACLE\ORADATA\D041\EXAMPLE01.DBF ONLINE 1080041 1080041 29-DEC-2013 10:58:30
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 3: 'C:\ORACLE\ORADATA\D041\UNDOTBS01.DBF'
ORA-01157: cannot identify/lock data file 3 - see DBWR trace file
ORA-01110: data file 3: 'C:\ORACLE\ORADATA\D041\UNDOTBS01.DBF'
SQL> set line 200
col error for a20
select * from v$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
--------- ------- ------- -------------------- ---------- ---------
3 ONLINE ONLINE FILE NOT FOUND 0
7/26/2019 Undo Recovery Clean Shutdown 1
4/8
.
)
.
SQL> alter database datafile 3 offline; (Use this for Archive Log Mode)
alter database datafile 3 offline
*
ERROR at line 1:
ORA-01145: offline immediate disallowed unless media recovery enabled
http://docs.oracle.com/cd/B28359_01/server.111/b28310/dfiles004.htm#ADMIN11429
SQL> alter database datafile 3 offline for drop; (Use this for NOArchive Log Mode)
Database altered.
SQL> alter database open;
Database altered.
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------------- --------------------
D041 READ WRITE
SQL> select * from v$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- -------------------- ---------- ---------
3 OFFLINE OFFLINE FILE NOT FOUND 0
SQL> col name for a45
set line 200
select name,status from v$datafile;
NAME STATUS
------------------------------------------------------------ -------
C:\ORACLE\ORADATA\D041\SYSTEM01.DBF SYSTEM
C:\ORACLE\ORADATA\D041\SYSAUX01.DBF ONLINE
C:\ORACLE\ORADATA\D041\UNDOTBS01.DBF OFFLINE
C:\ORACLE\ORADATA\D041\USERS01.DBF ONLINE
C:\ORACLE\ORADATA\D041\EXAMPLE01.DBF ONLINE
SQL> drop tablespace undotbs1 including contents and datafiles;
drop tablespace undotbs1 including contents and datafiles
*
ERROR at line 1:
ORA-30013: undo tablespace 'UNDOTBS1' is currently in use
On checking parameter undo_management found to beAUTO as below, so it is not all
allowing to Drop.
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ -------------------------------- -------------
undo_management string AUTO
7/26/2019 Undo Recovery Clean Shutdown 1
5/8
.
undo_tablespace string UNDOTBS1
SQL> show parameter rollback_segments
NAME TYPE VALUE
------------------------------------ -------------------------------- -------------
rollback_segments string
)
SQL> alter system set undo_management='MANUAL'scope=spfile;
System altered.
SQL> alter system set rollback_segments=SYSTEMscope=spfile;
System altered.
SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> Startup
ORACLE instance started.
Total System Global Area 368263168 bytes
Fixed Size 1374668 bytes
Variable Size 209716788 bytes
Database Buffers 150994944 bytes
Redo Buffers 6176768 bytes
Database mounted.
Database opened.
SQL> select * from v$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- --------------- ---------- ---------
3 OFFLINE OFFLINE FILE NOT FOUND 0
SQL> select name,status from v$datafile;
NAME STATUS
--------------------------------------------- -------
C:\ORACLE\ORADATA\D041\SYSTEM01.DBF SYSTEM
C:\ORACLE\ORADATA\D041\SYSAUX01.DBF ONLINE
C:\ORACLE\ORADATA\D041\UNDOTBS01.DBF OFFLINE
C:\ORACLE\ORADATA\D041\USERS01.DBF ONLINE
C:\ORACLE\ORADATA\D041\EXAMPLE01.DBF ONLINE
SQL> SELECT SEGMENT_NAME, XACTS ACTIVE_TX, V.STATUS
FROM V$ROLLSTAT V, DBA_ROLLBACK_SEGS
WHERE TABLESPACE_NAME = 'UNDOTBS1' AND SEGMENT_ID = USN;
no rows selected
7/26/2019 Undo Recovery Clean Shutdown 1
6/8
.
) .
SQL> droptablespace undotbs1 including contents and datafiles;
Tablespace dropped.
SQL> select * from v$rollname ;
USN NAME
---------- ---------------------------------------------
0 SYSTEM
SQL> select SEGMENT_NAME,SEGMENT_ID,status,tablespace_name from dba_rollback_segs ;
SEGMENT_NAME SEGMENT_ID STATUS TABLESPACE_NAME
------------------------------ ---------- ---------------- ------------------------
SYSTEM 0 ONLINE SYSTEM
) ,
.
SQL> select * from v$tablespace;
TS# NAME INC BIG FLA ENC
---------- --------------------------------------------- --- --- --- ---
0 SYSTEM YES NO YES
1 SYSAUX YES NO YES
4 USERS YES NO YES
3 TEMP NO NO YES
6 EXAMPLE YES NO YES
SQL> create undo tablespace UNDOTBS1 datafile
'C:\ORACLE\ORADATA\D041\UNDOTBS01.DBF' size 20M reuse;
Tablespace created.
SQL> Alter System set undo_management=AUTO scope=spfile;
System altered.
SQL> Alter System Reset rollback_segments;
System altered.
SQL> show parameter undo
NAME TYPE VALUE
------------------- ---------- -------------
undo_management string MANUAL
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> shut immediate;
Database closed.
Database dismounted.
7/26/2019 Undo Recovery Clean Shutdown 1
7/8
.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 368263168 bytes
Fixed Size 1374668 bytesVariable Size 209716788 bytes
Database Buffers 150994944 bytes
Redo Buffers 6176768 bytes
Database mounted.
Database opened.
)
SQL> show parameter rollback_segments
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------
rollback_segments string
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> select SEGMENT_NAME,SEGMENT_ID,status,tablespace_name from dba_rollback_segs ;
SEGMENT_NAME SEGMENT_ID STATUS TABLESPACE_NAME
------------------------------ ---------- ---------------- ------------------------
SYSTEM 0 ONLINE SYSTEM
_SYSSMU20_2357329706$ 20 ONLINE UNDOTBS1
_SYSSMU19_3758938093$ 19 ONLINE UNDOTBS1
_SYSSMU18_3208537726$ 18 ONLINE UNDOTBS1
_SYSSMU17_4050930344$ 17 ONLINE UNDOTBS1
_SYSSMU16_4130629382$ 16 ONLINE UNDOTBS1
_SYSSMU15_282708105$ 15 ONLINE UNDOTBS1
_SYSSMU14_222891688$ 14 ONLINE UNDOTBS1
_SYSSMU13_2419240782$ 13 ONLINE UNDOTBS1
_SYSSMU12_1069090612$ 12 ONLINE UNDOTBS1
_SYSSMU11_2414251578$ 11 ONLINE UNDOTBS1
11 rows selected.
SQL> SELECT SEGMENT_NAME, XACTS ACTIVE_TX, V.STATUS
FROM V$ROLLSTAT V, DBA_ROLLBACK_SEGS
WHERE TABLESPACE_NAME = 'UNDOTBS1' AND SEGMENT_ID = USN;
SEGMENT_NAME ACTIVE_TX STATUS
------------------------------ ---------- ---------
_SYSSMU11_2414251578$ 0 ONLINE
_SYSSMU12_1069090612$ 0 ONLINE
_SYSSMU13_2419240782$ 0 ONLINE
_SYSSMU14_222891688$ 0 ONLINE_SYSSMU15_282708105$ 0 ONLINE
7/26/2019 Undo Recovery Clean Shutdown 1
8/8
.
_SYSSMU16_4130629382$ 0 ONLINE
_SYSSMU17_4050930344$ 0 ONLINE
_SYSSMU18_3208537726$ 0 ONLINE
_SYSSMU19_3758938093$ 0 ONLINE
_SYSSMU20_2357329706$ 0 ONLINE
10 rows selected.
) .
SQL> conn scott/tiger
Connected.
SQL> set line 200
select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10
14 rows selected.
SQL> col name for a45
select name,status from v$datafile;
NAME STATUS
--------------------------------------------- -------
C:\ORACLE\ORADATA\D041\SYSTEM01.DBF SYSTEM
C:\ORACLE\ORADATA\D041\SYSAUX01.DBF ONLINE
C:\ORACLE\ORADATA\D041\UNDOTBS01.DBF ONLINE
C:\ORACLE\ORADATA\D041\USERS01.DBF ONLINE
C:\ORACLE\ORADATA\D041\EXAMPLE01.DBF ONLINE
SQL> select * from v$recover_file;
no rows selected