RMAN完全恢复丢失的数据文件
前提条件: 丢失前做过RMAN备份,全库的 控制文件、归档、联机日志文件完好无损 SYS@PRODgt;conn amy/amy Co
前提条件:
丢失前做过RMAN备份,全库的
控制文件、归档、联机日志文件完好无损
SYS@PROD>conn amy/amy
Connected.
AMY@PROD>create table t_amy02(b int);
Table created.
AMY@PROD>conn / as sysdba
Connected.
SYS@PROD>conn amy/amy
Connected.
AMY@PROD>insert into t_amy02 values(11);
1 row created.
AMY@PROD>commit;
Commit complete.
AMY@PROD>select * from t_amy02;
B
----------
11
-- 此时做rman的全库备份
-- 下面再继续插入数据
AMY@PROD>insert into t_amy02 values(12);
1 row created.
AMY@PROD>commit;
Commit complete.
AMY@PROD>select * from t_amy02;
B
----------
11
12
AMY@PROD>conn / as sysdba
Connected.
SYS@PROD>alter system switch logfile;
System altered.
SYS@PROD>conn amy/amy
Connected.
AMY@PROD>insert into t_amy02 values(13);
1 row created.
AMY@PROD>commit;
Commit complete.
AMY@PROD>select * from t_amy02;
B
----------
11
12
13
-- 以上三条记录,11在rman备份里,12在归档里,,13在联机日志里
-- 接着删除用户AMY的默认表空间TBS_AMY的数据文件'/u01/app/Oracle/oradata/PROD/disk1/tbs_amy01.dbf'
AMY@PROD>create table t_amy03(c int);
create table t_amy03(c int)
*
ERROR at line 1:
ORA-01116: error in opening database file 10
ORA-01110: data file 10: '/u01/app/oracle/oradata/PROD/disk1/tbs_amy01.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
--发现数据文件丢失后,需要做RMAN恢复
--如果不关机直接做restore会失败,报错ORA-19573,需要shutdown immediate然后再做RMAN restore and recover
RMAN> shutdown immediate
database closed
database dismounted
Oracle instance shut down
RMAN> startup mount
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 79693200 bytes
Database Buffers 230686720 bytes
Redo Buffers 2973696 bytes
RMAN> restore database;
Starting restore at 23-JAN-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=287 devtype=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: sid=285 devtype=DISK
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00002 to /u01/app/oracle/oradata/PROD/disk1/undotbs01.dbf
restoring datafile 00004 to /u01/app/oracle/oradata/PROD/disk1/example1.dbf
restoring datafile 00007 to /u01/app/oracle/oradata/PROD/disk1/users1.dbf
restoring datafile 00008 to /u01/app/oracle/oradata/PROD/disk1/oltp1.dbf
restoring datafile 00009 to /u01/app/oracle/oradata/PROD/disk1/tbs_tommie01.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/backup/PROD_0jouptng_1_1
channel ORA_DISK_2: starting datafile backupset restore
channel ORA_DISK_2: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /u01/app/oracle/oradata/PROD/disk1/system001.dbf
restoring datafile 00003 to /u01/app/oracle/oradata/PROD/disk1/sysaux01.dbf
restoring datafile 00005 to /u01/app/oracle/oradata/PROD/disk1/indx1.dbf
restoring datafile 00006 to /u01/app/oracle/oradata/PROD/disk1/tools1.dbf
restoring datafile 00010 to /u01/app/oracle/oradata/PROD/disk1/tbs_amy01.dbf
channel ORA_DISK_2: reading from backup piece /home/oracle/backup/PROD_0iouptng_1_1
channel ORA_DISK_1: restored backup piece 1
piece handle=/home/oracle/backup/PROD_0jouptng_1_1 tag=TAG20140123T142135
channel ORA_DISK_1: restore complete, elapsed time: 00:00:56
channel ORA_DISK_2: restored backup piece 1
piece handle=/home/oracle/backup/PROD_0iouptng_1_1 tag=TAG20140123T142135
channel ORA_DISK_2: restore complete, elapsed time: 00:01:04
Finished restore at 23-JAN-14
RMAN> recover database;
Starting recover at 23-JAN-14
using channel ORA_DISK_1
using channel ORA_DISK_2
starting media recovery
media recovery complete, elapsed time: 00:00:03
Finished recover at 23-JAN-14
RMAN> alter database open;
database opened
AMY@PROD>conn / as sysdba
Connected.
SYS@PROD>conn amy/amy
ERROR:
ORA-03135: connection lost contact
ERROR:
ORA-24315: illegal attribute type
Warning: You are no longer connected to ORACLE.
@>conn / as sysdba
ERROR:
ORA-24313: user already authenticated
@>exit
[oracle@odd-oelr4u8 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jan 23 14:41:14 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, Oracle Label Security, OLAP and Data Mining options
SYS@PROD>conn amy/amy
Connected.
AMY@PROD>select * from t_amy02;
select * from t_amy02
*
ERROR at line 1:
ORA-00376: file 10 cannot be read at this time
ORA-01110: data file 10: '/u01/app/oracle/oradata/PROD/disk1/tbs_amy01.dbf'
SYS@PROD>alter tablespace tbs_amy begin backup;
alter tablespace tbs_amy begin backup
*
ERROR at line 1:
ORA-01128: cannot start online backup - file 10 is offline
ORA-01110: data file 10: '/u01/app/oracle/oradata/PROD/disk1/tbs_amy01.dbf'
SYS@PROD>alter database datafile 10 online;
Database altered.
SYS@PROD>alter tablespace tbs_amy begin backup;
Tablespace altered.
SYS@PROD>alter tablespace tbs_amy end backup;
Tablespace altered.
SYS@PROD>conn amy/amy
Connected.
AMY@PROD>select * from t_amy02;
B
----------
11
12
13
-- 至此,完全恢复完成

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











Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

Hibernate polymorphic mapping can map inherited classes to the database and provides the following mapping types: joined-subclass: Create a separate table for the subclass, including all columns of the parent class. table-per-class: Create a separate table for subclasses, containing only subclass-specific columns. union-subclass: similar to joined-subclass, but the parent class table unions all subclass columns.

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

JSON data can be saved into a MySQL database by using the gjson library or the json.Unmarshal function. The gjson library provides convenience methods to parse JSON fields, and the json.Unmarshal function requires a target type pointer to unmarshal JSON data. Both methods require preparing SQL statements and performing insert operations to persist the data into the database.

Using the database callback function in Golang can achieve: executing custom code after the specified database operation is completed. Add custom behavior through separate functions without writing additional code. Callback functions are available for insert, update, delete, and query operations. You must use the sql.Exec, sql.QueryRow, or sql.Query function to use the callback function.

PHP database connection guide: MySQL: Install the MySQLi extension and create a connection (servername, username, password, dbname). PostgreSQL: Install the PgSQL extension and create a connection (host, dbname, user, password). Oracle: Install the OracleOCI8 extension and create a connection (servername, username, password). Practical case: Obtain MySQL data, PostgreSQL query, OracleOCI8 update record.

Use the DataAccessObjects (DAO) library in C++ to connect and operate the database, including establishing database connections, executing SQL queries, inserting new records and updating existing records. The specific steps are: 1. Include necessary library statements; 2. Open the database file; 3. Create a Recordset object to execute SQL queries or manipulate data; 4. Traverse the results or update records according to specific needs.
