users表空間在線損壞(不通過RMAN恢復)

-----------------------------模擬users表空間在線損壞-----------------------------
現在HR下創建一個表
create table  hr.strom ( a number ) tablespace users;
alter system switch logfile;               ----此語句的作用是強制系統進行日誌切換
insert into hr.strom values(1);
alter system switch logfile;
commit;                                    ---提交事務

備份datafile的users表空間,備份完將原有的users的表空間刪除

SQL> ! cp -rp /u01/app/oracle/oradata/ORCL/datafile/*users* /u01/app/oracle/strom_oradata/

-----------------------------模擬users表空間在線損壞-----------------------------

SQL> ! rm -rf /u01/app/oracle/oradata/ORCL/datafile/*users*  ------刪除users表空間

SQL> conn hr/hr                                                 -----切換到HR用戶
Connected.
SQL> create table text (a number) tablespace users;             ----HR用戶下創建表
create table text (a number) tablespace users
*
ERROR at line 1:
ORA-01116: error in opening database file 4
ORA-01110: data file 4:
'/u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_7wnthzto_.dbf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory               -----找不到users表空間
Additional information: 3

-----------------------------users表空間在線損壞---------------------------------

-----------------------------users表空間在線損壞-----------------------------

查看在"/u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_7wnthzto_.dbf"下是否有這個文件

SQL> ! ls /u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_7wnthzto_.dbf
/bin/bash: line 0: cd: /u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_7wnthzto_.dbf:
No such file or directory                   ----沒有文件或目錄

SQL> conn /as sysdba
Connected.
SQL> select tablespace_name,status from dba_tablespaces;    ---查看錶空間狀態

TABLESPACE_NAME                STATUS
------------------------------ ---------
SYSTEM                         ONLINE
UNDOTBS1                       ONLINE
SYSAUX                         ONLINE
TEMP                           ONLINE
USERS                          ONLINE
EXAMPLE                        ONLINE

6 rows selected.

SQL> alter database datafile 4 offline;

Database altered.

SQL> ! cp -rp /u01/app/oracle/strom*/* /u01/app/oracle/oradata/ORCL/datafile/

拷貝備份目錄的USERS表空間文件,到實際數據文件目錄

SQL> recover tablespace users;
Media recovery complete.
SQL> alter database datafile 4 online;

Database altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  281018368 bytes
Fixed Size                  2020192 bytes
Variable Size             130026656 bytes
Database Buffers          146800640 bytes
Redo Buffers                2170880 bytes
Database mounted.
Database opened.
SQL>

-----------------------------users表空間在線損壞---------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章