Oracle以TSPITR方式恢复表空间数据一例
其实TSPITR方式是对整个表空间的恢复,无论该表空间上有多少张表或对象,只要是自包含的表空间,就可以使用这种方法来进行恢复。
其使用前提为两个:
1. 必须存在相应的备份集合
2. 表空间对象是子包含的,也就是其他表空间中不包括与这个表空间对象相关的对象数据(互相独立)
恢复步骤和原理如下:
首先完成数据检查工作,确定备份集合和表空间完整性;
时间点;
;
。数据库;
。
下面通过实验来进行演示操作:
--创建测试用户zlm并赋予权限
SQL> create user zlm identified by zlm;
User created.
SQL> grant dba to zlm;
Grant succeeded.
--创建测试表空间tspitr
SQL> create tablespace tspitr datafile '/data/oradata/ora10g/tspitr01.dbf' size 100m autoextend off extent management local uniform size 1m segment space management auto;
Tablespace created.
--修改用户zlm缺省表空间为tspitr
SQL> alter user zlm default tablespace tspitr;
User altered.
SQL> show user
USER is ""
SQL> conn zlm/zlm@ora10g213
Connected.
SQL> !
--创建一个RMAN备份集
[oracle@bak ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Fri Dec 26 16:44:00 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORA10G (DBID=4175411955)
RMAN> backup as compressed backupset database format '/u01/orabackup/backupsets/full_ora10g_%U' plus archive log format '/u01/orabackup/backupsets/arc_ora10g_%U' delete all input;
Starting backup at 26-DEC-14
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=138 devtype=DISK
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=30 recid=30 stamp=867343597
channel ORA_DISK_1: starting piece 1 at 26-DEC-14
channel ORA_DISK_1: finished piece 1 at 26-DEC-14
piece handle=/u01/orabackup/backupsets/arc_ora10g_13pr577g_1_1 tag=TAG20141226T164639 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/oracle/flash_recovery_area/ORA10G/archivelog/2014_12_26/o1_mf_1_30_b9t83f1s_.arc recid=30 stamp=867343597
Finished backup at 26-DEC-14
Starting backup at 26-DEC-14
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/data/oradata/ora10g/system01.dbf
input datafile fno=00003 name=/data/oradata/ora10g/sysaux01.dbf
input datafile fno=00002 name=/data/oradata/ora10g/undotbs01.dbf
input datafile fno=00005 name=/data/oradata/ora10g/example01.dbf
input datafile fno=00006 name=/data/oradata/ora10g/tspitr01.dbf
input datafile fno=00004 name=/data/oradata/ora10g/users01.dbf
channel ORA_DISK_1: starting piece 1 at 26-DEC-14
channel ORA_DISK_1: finished piece 1 at 26-DEC-14
piece handle=/u01/orabackup/backupsets/full_ora10g_14pr577l_1_1 tag=TAG20141226T164644 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:47
Finished backup at 26-DEC-14
Starting backup at 26-DEC-14
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=31 recid=31 stamp=867343772
channel ORA_DISK_1: starting piece 1 at 26-DEC-14
channel ORA_DISK_1: finished piece 1 at 26-DEC-14
piece handle=/u01/orabackup/backupsets/arc_ora10g_15pr57ct_1_1 tag=TAG20141226T164933 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/oracle/flash_recovery_area/ORA10G/archivelog/2014_12_26/o1_mf_1_31_b9t88wnv_.arc recid=31 stamp=867343772
Finished backup at 26-DEC-14
Starting Control File and SPFILE Autobackup at 26-DEC-14
piece handle=/u01/orabackup/backupsets/ora10g-c-4175411955-20141226-05.ctl comment=NONE
Finished Control File and SPFILE Autobackup at 26-DEC-14
RMAN> exit
Recovery Manager complete.
--连接到测试用户zlm查看当前日志
[oracle@bak ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Dec 26 16:50:46 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> conn zlm/zlm@ora10g213
Connected.
SQL> select sequence#,status from v$log;
SEQUENCE# STATUS
---------- ----------------
32 CURRENT
30 INACTIVE
31 ACTIVE
--创建测试表t1,并切换若干次日志
SQL> create table t1 as select * from dba_objects;
Table created.
SQL> alter system switch logfile;
System altered.
SQL> select sequence#,status from v$log;
SEQUENCE# STATUS
---------- ----------------
32 ACTIVE
33 CURRENT
31 ACTIVE
SQL> alter system switch logfile;
System altered.
SQL> select sequence#,status from v$log;
SEQUENCE# STATUS
---------- ----------------
32 ACTIVE
33 ACTIVE
34 CURRENT --此时仍然时候数据的
SQL> select count(*) from t1;
COUNT(*)
----------
50382
--对表进行truancate操作,模拟误操作
SQL> truncate table t1;
Table truncated.
SQL> select count(*) from t1;
COUNT(*)
----------
0
SQL> alter system switch logfile;
System altered.
SQL> select sequence#,status from v$log;
SEQUENCE# STATUS
---------- ----------------
35 CURRENT --truncate之后又切换了一次日志,当前日志为35
33 ACTIVE
34 ACTIVE
SQL> !

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Full table scanning may be faster in MySQL than using indexes. Specific cases include: 1) the data volume is small; 2) when the query returns a large amount of data; 3) when the index column is not highly selective; 4) when the complex query. By analyzing query plans, optimizing indexes, avoiding over-index and regularly maintaining tables, you can make the best choices in practical applications.

MySQL is an open source relational database management system. 1) Create database and tables: Use the CREATEDATABASE and CREATETABLE commands. 2) Basic operations: INSERT, UPDATE, DELETE and SELECT. 3) Advanced operations: JOIN, subquery and transaction processing. 4) Debugging skills: Check syntax, data type and permissions. 5) Optimization suggestions: Use indexes, avoid SELECT* and use transactions.

MySQL is suitable for beginners because it is simple to install, powerful and easy to manage data. 1. Simple installation and configuration, suitable for a variety of operating systems. 2. Support basic operations such as creating databases and tables, inserting, querying, updating and deleting data. 3. Provide advanced functions such as JOIN operations and subqueries. 4. Performance can be improved through indexing, query optimization and table partitioning. 5. Support backup, recovery and security measures to ensure data security and consistency.

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

MySQL is an open source relational database management system, mainly used to store and retrieve data quickly and reliably. Its working principle includes client requests, query resolution, execution of queries and return results. Examples of usage include creating tables, inserting and querying data, and advanced features such as JOIN operations. Common errors involve SQL syntax, data types, and permissions, and optimization suggestions include the use of indexes, optimized queries, and partitioning of tables.

InnoDB uses redologs and undologs to ensure data consistency and reliability. 1.redologs record data page modification to ensure crash recovery and transaction persistence. 2.undologs records the original data value and supports transaction rollback and MVCC.

MySQL's position in databases and programming is very important. It is an open source relational database management system that is widely used in various application scenarios. 1) MySQL provides efficient data storage, organization and retrieval functions, supporting Web, mobile and enterprise-level systems. 2) It uses a client-server architecture, supports multiple storage engines and index optimization. 3) Basic usages include creating tables and inserting data, and advanced usages involve multi-table JOINs and complex queries. 4) Frequently asked questions such as SQL syntax errors and performance issues can be debugged through the EXPLAIN command and slow query log. 5) Performance optimization methods include rational use of indexes, optimized query and use of caches. Best practices include using transactions and PreparedStatemen

MySQL is chosen for its performance, reliability, ease of use, and community support. 1.MySQL provides efficient data storage and retrieval functions, supporting multiple data types and advanced query operations. 2. Adopt client-server architecture and multiple storage engines to support transaction and query optimization. 3. Easy to use, supports a variety of operating systems and programming languages. 4. Have strong community support and provide rich resources and solutions.
