归档模式,恢复没有备份的数据文件
场景: 1.数据库开启归档; 2.创建数据文件之后的所有归档日志都在线; 3.数据文件或者表空间没有进行过备份,数据库也没有全库备
场景:
1.数据库开启归档;
2.创建数据文件之后的所有归档日志都在线;
3.数据文件或者表空间没有进行过备份,,数据库也没有全库备份,数据文件异常丢失;
步骤:
创建测试用的表空间:
SQL> create tablespace bbb datafile '/opt/Oracle/oradata/R11203/bbb.dbf' size 100m;
SQL> create table test_b (id number(10)) tablespace bbb;
SQL> insert into test_b values (1);
SQL> commit;
SQL>select name,file# from v$datafile;
NAME FILE#
--------------------------------------------------------------------------------
/opt/oracle/oradata/R11203/aaa.dbf 10
/opt/oracle/oradata/R11203/bbb.dbf 11
11 rows selected.
SQL> host
删除数据文件,模拟异常丢失
bash-4.2$ ls -al /opt/oracle/oradata/R11203/bbb.dbf
-rw-rw---- 1 oracle dba 10493952 Apr 4 09:53 /opt/oracle/oradata/R11203/bbb.dbf
bash-4.2$ mv /opt/oracle/oradata/R11203/bbb.dbf /opt/oracle/oradata/R11203/bbb.dbf.bak
bash-4.2$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Fri Apr 409:55:03 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 -64bit Production
With the Partitioning, OLAP, Data Mining and Real
Application Testing options
SQL> alter tablespace bbb read only;
alter tablespace bbb read only
*
ERROR at line 1:
ORA-01116: error in opening database file 11
ORA-01110: data file 11:
'/opt/oracle/oradata/R11203/bbb.dbf'
ORA-27041: unable to open file
HPUX-ia64 Error: 2: No such file or directory
Additional information: 3
SQL> shutdown immediate;
ORA-01116: error in opening database file 11
ORA-01110: data file 11:
'/opt/oracle/oradata/R11203/bbb.dbf'
ORA-27041: unable to open file
HPUX-ia64 Error: 2: No such file or directory
Additional information: 3
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL>/
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL>
停机
SQL> shutdown immediate;
ORA-01116: error in opening database file 11
ORA-01110: data file 11:
'/opt/oracle/oradata/R11203/bbb.dbf'
ORA-27041: unable to open file
HPUX-ia64 Error: 2: No such file or directory
Additional information: 3
SQL> shutdown abort;
ORACLE instance shut down.
把数据库启动到mount状态
SQL> startup mount;
ORACLE instance started.
Total System Global Area 329859072 bytes
FixedSize 2182336 bytes
VariableSize 285213504 bytes
DatabaseBuffers 37748736bytes
RedoBuffers 4714496 bytes
Database mounted.
使用alter database create datafile as ....的方式,重建这个丢失的数据文件:
SQL> alter database create datafile 11;
Database altered.
通过归档日志和redo log对数据文件进行恢复
SQL> recover datafile 11;
Media recovery complete.
SQL> alter database open;
Database altered.
SQL> select * from test_b;
ID
----------
1
在CentOS 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
本文永久更新链接地址:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

Golang でデータベース コールバック関数を使用すると、次のことを実現できます。 指定されたデータベース操作が完了した後にカスタム コードを実行します。追加のコードを記述せずに、個別の関数を通じてカスタム動作を追加します。コールバック関数は、挿入、更新、削除、クエリ操作に使用できます。コールバック関数を使用するには、sql.Exec、sql.QueryRow、または sql.Query 関数を使用する必要があります。

JSON データは、gjson ライブラリまたは json.Unmarshal 関数を使用して MySQL データベースに保存できます。 gjson ライブラリは、JSON フィールドを解析するための便利なメソッドを提供します。json.Unmarshal 関数には、JSON データをアンマーシャリングするためのターゲット型ポインターが必要です。どちらの方法でも、SQL ステートメントを準備し、データをデータベースに永続化するために挿入操作を実行する必要があります。

Go 標準ライブラリのデータベース/SQL パッケージを通じて、MySQL、PostgreSQL、SQLite などのリモート データベースに接続できます。データベース接続情報を含む接続文字列を作成します。 sql.Open() 関数を使用してデータベース接続を開きます。 SQL クエリや挿入操作などのデータベース操作を実行します。 defer を使用してデータベース接続を閉じ、リソースを解放します。

PHP データベース接続ガイド: MySQL: MySQLi 拡張機能をインストールし、接続 (サーバー名、ユーザー名、パスワード、データベース名) を作成します。 PostgreSQL: PgSQL 拡張機能をインストールし、接続 (ホスト、データベース名、ユーザー、パスワード) を作成します。 Oracle: OracleOCI8 拡張機能をインストールし、接続 (サーバー名、ユーザー名、パスワード) を作成します。実際のケース: MySQL データ、PostgreSQL クエリ、OracleOCI8 更新レコードを取得します。
