RMAN备份与恢复之可脱机数据文件丢失
我们可以在SQL Plus中使USERS表空间离线,切记要先离线再进行下面的操作。因为在RMAN中我们有备份,所以我们可以在RMAN中对USERS
一 表空间讲解
在上一篇文章(RMAN备份与恢复之控制文件丢失 ),我们讲解了控制文件丢失并且RMAN中有备份怎么处理,这篇文章讲解可脱机数据文件丢失的处理。
表空间是一种逻辑结构,表空间下可以存放数据文件。表空间有系统表空间(SYSTEM)、辅助表空间(SYSAUX)、用户表空间(USERS)、回退表空间(UNDOTBS1)、临时表空间(TEMP)、测试表空间(EXAMPLE)、数据表空间。其中系统表空间用于存储数据字典的信息,不能脱机,不能只读,也不能改名。辅助表空间用于存储一些工具以及一些常用的组件,10G开始引入,不能脱机,可以只读,可以改名。用户表空间用于存储用户数据的表空间,可以脱机,可以只读,可以改名。回退表空间用于存储DML操作的事务信息,不能脱机,不能只读,可以改名。临时表空间用于存放临时数据,不能脱机,不能只读,可以改名。数据表空间用于存放自定义数据,项目中我们一般创建数据表空间,数据存放在数据表空间,这是一种很好的做法,切忌把数据放在默认的USERS表空间。
至于有些表空间可以脱机,有些不可以。那是因为数据库在运行期间需要向这些表空间写入数据,比如系统表空间、辅助表空间、回退表空间、临时表空间,而用户表空间、测试表空间、数据表空间不同,只要没有对这些表空间进行操作,是可以脱机的。
二 备份与恢复可脱机数据文件讲解
备份与恢复可脱机数据文件,首先我们要使用RMAN做一个备份全库的操作,然后模拟USERS表空间丢失,此时我们查看数据会提示数据文件找不到。因为USERS表空间可以脱机,所以我们可以在SQL Plus中使USERS表空间离线,切记要先离线再进行下面的操作。因为在RMAN中我们有备份,,所以我们可以在RMAN中对USERS表空间对应的数据文件编号进行还原,实际上后台就行进行了一个拷贝操作。还原成功后,我们需要对USERS表空间对应的数据文件编号进行恢复,等待恢复完成后,再在SQL Plus中使USERS表空间在线,所有的操作完成后,USERS表空间备份与恢复完成,我们可以对数据进行访问,测试是否恢复成功。需要注意的是,使表空间在线、离线、还原和恢复数据文件一些列的操作切记不要把编号弄错了,做这些操作应该确认USERS表空间的编号,默认是4号,但是由于后期的修改,USERS表空间数据文件的编号很不能不是4号。作为DBA,需要时刻保持谨慎!
三 模拟
Step1,RMAN中备份全库,并在SQL Plus确定数据的正确性
RMAN> BACKUP DATABASE;
Starting backup at 12-DEC-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/Oracle/oradata/justdb/system01.dbf
input datafile file number=00002 name=/u01/oracle/oradata/justdb/sysaux01.dbf
input datafile file number=00003 name=/u01/oracle/oradata/justdb/undotbs01.dbf
input datafile file number=00004 name=/u01/oracle/oradata/justdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 12-DEC-13
channel ORA_DISK_1: finished piece 1 at 12-DEC-13
piece handle=/u01/oracle/fast_recovery_area/JUSTDB/backupset/2013_12_12/o1_mf_nnndf_TAG20131212T095816_9bl61rrn_.bkp tag=TAG20131212T095816 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 12-DEC-13
channel ORA_DISK_1: finished piece 1 at 12-DEC-13
piece handle=/u01/oracle/fast_recovery_area/JUSTDB/backupset/2013_12_12/o1_mf_ncsnf_TAG20131212T095816_9bl62lw2_.bkp tag=TAG20131212T095816 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 12-DEC-13
[oracle@orcl backupset]$ ll 2013_12_12/
total 1025556
-rw------- 1 oracle oinstall 9830400 Dec 12 09:58 o1_mf_ncsnf_TAG20131212T095816_9bl62lw2_.bkp
-rw------- 1 oracle oinstall 1040334848 Dec 12 09:58 o1_mf_nnndf_TAG20131212T095816_9bl61rrn_.bkp
RMAN> LIST BACKUP;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
14 Full 992.13M DISK 00:00:19 12-DEC-13
BP Key: 14 Status: AVAILABLE Compressed: NO Tag: TAG20131212T095816
Piece Name: /u01/oracle/fast_recovery_area/JUSTDB/backupset/2013_12_12/o1_mf_nnndf_TAG20131212T095816_9bl61rrn_.bkp
List of Datafiles in backup set 14
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 1088247 12-DEC-13 /u01/oracle/oradata/justdb/system01.dbf
2 Full 1088247 12-DEC-13 /u01/oracle/oradata/justdb/sysaux01.dbf
3 Full 1088247 12-DEC-13 /u01/oracle/oradata/justdb/undotbs01.dbf
4 Full 1088247 12-DEC-13 /u01/oracle/oradata/justdb/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
15 Full 9.36M DISK 00:00:01 12-DEC-13
BP Key: 15 Status: AVAILABLE Compressed: NO Tag: TAG20131212T095816
Piece Name: /u01/oracle/fast_recovery_area/JUSTDB/backupset/2013_12_12/o1_mf_ncsnf_TAG20131212T095816_9bl62lw2_.bkp
SPFILE Included: Modification time: 12-DEC-13
SPFILE db_unique_name: JUSTDB
Control File Included: Ckp SCN: 1088267 Ckp time: 12-DEC-13
SQL> CONN SCOTT/tiger;
Connected.
SQL> SELECT * FROM tab;

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









Go 言語は、効率的かつ簡潔で習得が容易なプログラミング言語であり、同時プログラミングやネットワーク プログラミングに優れているため、開発者に好まれています。実際の開発ではデータベースの操作が欠かせませんが、今回はGo言語を使ってデータベースの追加・削除・変更・クエリ操作を実装する方法を紹介します。 Go 言語では、データベースを操作するために通常、よく使用される SQL パッケージや gorm などのサードパーティ ライブラリを使用します。ここでは SQL パッケージを例として、データベースの追加、削除、変更、クエリ操作を実装する方法を紹介します。 MySQL データベースを使用していると仮定します。

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

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

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

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

HTML はデータベースを直接読み取ることはできませんが、JavaScript と AJAX を通じて実現できます。この手順には、データベース接続の確立、クエリの送信、応答の処理、ページの更新が含まれます。この記事では、JavaScript、AJAX、および PHP を使用して MySQL データベースからデータを読み取る実践的な例を示し、クエリ結果を HTML ページに動的に表示する方法を示します。この例では、XMLHttpRequest を使用してデータベース接続を確立し、クエリを送信して応答を処理することで、ページ要素にデータを埋め込み、データベースを読み取る HTML の機能を実現します。

PHP は Web サイト開発で広く使用されているバックエンド プログラミング言語であり、強力なデータベース操作機能を備えており、MySQL などのデータベースとの対話によく使用されます。ただし、中国語の文字エンコーディングは複雑であるため、データベース内で中国語の文字化けを処理するときに問題が発生することがよくあります。この記事では、文字化けの一般的な原因、解決策、具体的なコード例を含め、データベース内の中国語の文字化けを処理するための PHP のスキルと実践方法を紹介します。文字化けの一般的な原因は、データベースの文字セット設定が正しくないことです。データベースの作成時に、utf8 や u などの正しい文字セットを選択する必要があります。

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