表空间的状态(二)-read/write
表空间状态-READ ONLY、READ WRITE 1. 只读表空间的主要用途就是为了消除对数据库大部分静态数据的备份和恢复的需要。Oracle不会更新只读表空间爱你的文件,因此这部分文件可以存储于只读介质中,例如CD-ROM或WORM drives。 2. 只读表空间并不是为了满足归档
表空间状态-READ ONLY、READ WRITE
1. 只读表空间的主要用途就是为了消除对数据库大部分静态数据的备份和恢复的需要。Oracle不会更新只读表空间爱你的文件,因此这部分文件可以存储于只读介质中,例如CD-ROM或WORM drives。2. 只读表空间并不是为了满足归档的要求。只读表空间不能修改。如果需要修改只读表空间中的记录,则需要先将表空间置为read/write。更新表空间后,可以重置为只读。
3. 由于只读表空间不能修改,所以只要没有置为read/write,就不需要重复地进行备份。而且,如果需要恢复数据库时,也不需要恢复只读表空间,原因就是他们未曾修改过。
4. 能从只读表空间中删除对象,例如表或索引,但不能创建或修改对象。可以执行修改数据字典中文件描述的语句,例如ALTER TABLE ... ADD或ALTER TABLE ... MODIFY,但不能添加任何新的描述信息,除非表空间置为read/write。
5. 只读表空间可以导出导入到其他数据库。既然只读表空间不能修改,他们就能存储于CD-ROM或WORM(一次写-多次读)这些设施中。
6. 所有表空间初始创建都是read/write。使用READ ONLY子句可以设置表空间为只读。前提是必须具有ALTER TABLESPACE或MANAGE TABLESPACE的系统权限。
使用ALTER TABLESPACE ... READ ONLY前,需要满足以下条件:
> 表空间处于online状态。这是为了确保不会有UNDO信息需要应用到表空间。注:如果处于offline,则会将UNDO信息存储于SYSTEM表空间,待恢复online时应用这些UNDO信息。
> 不能修改活动的UNDO表空间或SYSTEM表空间。
> 表空间不能处于当前正在进行的online备份中,因为备份结束时会更新表空间所有数据文件的头部信息。
> 为了让从只读表空间读取数据得到更好的性能,可以在置为read-only之前执行一次访问表空间的表中所有数据块的查询。一个像SELECT COUNT(*)这样简单的查询,就可以确保在表空间的数据块在接下来的访问中获得最佳的效率。因为这种做法就不需要数据库检查最近经常修改数据块的交易状态。
7. 可以在数据库正处理交易的时候执行ALTER TABLESPACE ... READ ONLY语句。执行语句后,表空间就处于交易只读状态。不会允许任何交易(DML操作)应用于表空间。如果尝试进行交易操作,那么此操作会被终止和回滚。然而,那些已经做了变更并不再进行进一步修改的交易,就允许执行commit或roll back操作。
如果ALTER TABLESPACE ... READ ONLY语句执行前,一个交易已经执行了,但是回滚到一个保存点,回滚了他对表空间的变更,那么ALTER TABLESPACE ... READ ONLY语句不会等待这个活动的交易。
8. 交易级只读状态仅仅当初始化参数COMPATIBLE是8.1.0或以上值时才能使用。如果参数值小于8.1.0,并且存在活动的交易,ALTER TABLESPACE ... READ ONLY语句会失败。
9. 如果ATLER TABLESPACE语句执行时间太长了,那么就需要找到阻止只读状态生效的那些交易。如下语句可以找出执行ALTER TABLESPACE ... RAED ONLY语句的交易入口和session地址(saddr):
SELECT SQL_TEXT, SADDR
FROM V$SQLAREA,V$SESSION
WHERE V$SQLAREA.ADDRESS = V$SESSION.SQL_ADDRESS AND SQL_TEXT LIKE 'alter tablespace%';
SQL_TEXT SADDR
---------------------------------------- --------
alter tablespace tbs1 read only 80034AF0
每个活动交易的开始SCN会存储于V$TRANSACTION视图中。起始SCN越小,说明这步操作就越早。潜在地这条语句越可能阻止接下来只读状态的变更。
SELECT SES_ADDR, START_SCNB
FROM V$TRANSACTION
ORDER BY START_SCNB;
SES_ADDR START_SCNB
-------- ----------
800352A0 3621 --> waiting on this txn
80035A50 3623 --> waiting on this txn
80034AF0 3628 --> this is the ALTER TABLESPACE statement
80037910 3629 --> don't care about this txn
可以用如下语句找到阻塞交易的用户:
SELECT T.SES_ADDR, S.USERNAME, S.MACHINE
FROM V$SESSION S, V$TRANSACTION T
WHERE T.SES_ADDR = S.SADDR
ORDER BY T.SES_ADDR
SES_ADDR USERNAME MACHINE
-------- -------------------- --------------------
800352A0 DAVIDB DAVIDBLAP --> Contact this user
80035A50 MIKEL LAB61 --> Contact this user
80034AF0 DBA01 STEVEFLAP
80037910 NICKD NICKDLAP
将表空间置为read-only后,建议立即备份。只要表空间一直处于只读状态,那就不需要再次地备份,因为不会有对表空间的更新。
10. 使用LATER TABLESPACE ... READ WRITE语句可以恢复只读表空间,前提是具有ALTER TABLESPACE或MANAGE TABLESPACE权限。
表空间置为read/write的前提条件还需要表空间中的所有数据文件以及表空间自身都处于online状态。可以使用ALTER DATABASE ... DATAFILE ... ONLINE语句将数据文件置为online状态。V$DATAFILE视图显示了数据文件当前的状态。
将表空间置为可写模式,需要更新控制文件,目的就是为了可以使用数据文件的只读版本作为恢复的起始点。
11. 在WORM设备中创建一个只读表空间。
(1) 创建一个可写表空间。创建对象、插入数据。
(2) 将表空间置为read-only只读模式。
(3) 使用操作系统命令将表空间的数据文件复制到WORM设备。
(4) 将表空间置为offline状态。
(5) 重命名数据文件以符合拷贝到WORM设备中的数据文件命名规范。使用ALTER TABLESPACE ... RENAME DATAFILE语句,重命名数据文件的操作会修改控制文件。
(6) 将表空间恢复为online状态。
实验:
1. 设置表空间为read only状态:
SQL> alter tablespace dcsopen_tbs read only;
Tablespace altered.
2. 查看数据文件状态:
SQL> select file#, name, status from v$datafile where file#=11;
FILE# NAME STATUS
----- ------------------------------------------------------- ------------------------
11 /oracle/oradata_petest/petest/dcsopen_tbs02.dbf ONLINE
3. 登录到只读表空间:
SQL> select * from test1;
T1ID T1V
---------- ----------
1 t1
2 t2
3 t3
可以读其中的表。
SQL> insert into test1 values(12, 't12');
insert into test1 values(12, 't12')
*
ERROR at line 1:
ORA-00372: file 7 cannot be modified at this time
ORA-01110: data file 7: '/oracle/oradata_petest/petest/dcsopen_tbs01.dbf'
执行交易操作时提示7号数据文件此时不能修改。

ホット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)

ホットトピック









「イベント ログ メッセージの接続ステータスには、スタンバイ: NIC 準拠により切断されました。というメッセージが表示されます。これは、システムがスタンバイ モードで、ネットワーク インターフェイス カード (NIC) が切断されていることを意味します。これは通常、ネットワークの問題ですが、他の問題が発生する可能性もあります。 「スタンバイ接続が切断される原因は何ですか?」 スタンバイ接続が切断される原因は何ですか? NIC に準拠していますか? Windows イベント ビューアに「ConnectivityStatusinStandby:DisConnected,Reason:NICCompliance」メッセージが表示された場合は、NIC またはネットワーク インターフェイス コントローラーに問題がある可能性があることを示しています。この状況は通常、

この記事は WeChat 公開アカウント「情報時代に生きる」から転載したものであり、著者は情報時代に生きています。この記事を転載するには、情報時代の暮らしの公開アカウントまでご連絡ください。機械学習では、2 つのサンプル間の類似性とカテゴリ情報を評価するために、2 つのサンプル間の差異をどのように判断するかが基本的な概念です。この類似性を判断する尺度は、特徴空間内の 2 つのサンプル間の距離です。さまざまなデータ特性に基づいた多くの測定方法があります。一般的に言えば、2 つのデータ サンプル x、y に対して、関数 d(x, y) を定義します。これが 2 つのサンプル間の距離として定義される場合、d(x, y) は次の基本特性を満たす必要があります。負性: d(x, y)>=0 恒等式: d(x, y)=0 ⇔ x=y のペア

有名なソーシャル プラットフォームである Momo は、ユーザーに日常の社会的交流のための豊富な機能サービスを提供します。 Momo では、ユーザーは自分の生活状況を簡単に共有したり、友達を作ったり、チャットしたりすることができます。その中でも、設定ステータス機能は、ユーザーが現在の気分やステータスを他の人に示すことで、より多くの人々の注目とコミュニケーションを集めることができます。では、モモのステータスをどのように設定すればよいのでしょうか? 以下に詳しく説明します。 Momo にステータスを設定するにはどうすればよいですか? 1. Momo を開き、右下隅にある [More] をクリックし、[Daily Status] を見つけてクリックします。 2. ステータスを選択します。 3. 設定状況が表示されます。

サーバーのステータスを表示する方法には、コマンド ライン ツール、グラフィカル インターフェイス ツール、監視ツール、ログ ファイル、リモート管理ツールなどがあります。詳細な紹介: 1. コマンド ライン ツールを使用します。Linux または Unix サーバーでは、コマンド ライン ツールを使用してサーバーのステータスを表示できます。2. グラフィカル インターフェイス ツールを使用します。グラフィカル インターフェイスを備えたサーバー オペレーティング システムの場合は、グラフィックス ツールを使用できます。システムによって提供されるインターフェース ツールを使用してサーバーの状態を表示する; 3. 監視ツールを使用する 特別な監視ツールを使用して、サーバーの状態をリアルタイムで監視することができます。

Linux システムでは、特にシステムのメモリが少ない場合に、スワップ スペースが重要な役割を果たします。これは、システムがスムーズに動作し、高負荷下でも安定性を維持できるようにするバックアップ メモリの保存スペースとして機能します。この記事では、システムのパフォーマンスが最適化され、さまざまなワークロードを処理できるようにするために、Ubuntu 22.04LTS にスワップ領域を追加するための詳細なガイドを提供します。スワップ スペースについて スワップ スペースは、システムの物理 RAM を補足するために使用される仮想メモリを提供します。システムの RAM が不足すると、カーネルはメモリ不足やシステムのクラッシュを防ぐためにデータをディスクにスワップします。 Linux システムは通常、この状況に対処するためにスワップ領域を使用します。メモリを大量に消費する複数のアプリケーションを同時に実行して、非常に大きなファイルやデータを処理します。

「オフライン」に見せたいですか、それとも WhatsApp で自分の現在のステータスを友達と共有したくないですか?これを行うためのシンプルだが賢いトリックがあります。 WhatsApp の設定を調整して、現在のステータス (オフラインまたは最後に見た状態) が友達や他の人に表示されないようにすることができます。 WhatsAppのステータスバーにオフラインステータスを表示するにはどうすればよいですか?これは非常にシンプルで合理的なプロセスです。したがって、今すぐ以下の手順に従ってください。ステップ 1 – 携帯電話で WhatsApp を開きます。ステップ 2 – [⋮] をタップし、[設定] を開くことを選択します。ステップ 3 – プライバシー設定を開いてアクセスします。ステップ 4 – プライバシー ページで、[最終閲覧日とオンライン] 設定を開いてアクセスします。ステップ 5 – 「できる人」を変更します。

ドライブ c の残りのスペースは 50 ~ 80G がより適切です。システムは将来ジャンク ファイルやキャッシュ ファイルなどを生成するため、ソフトウェアをインストールするときにパスを選択することに慣れておらず、クリーンアップを行わない場合は、C ドライブに少なくとも 50 GB ~ 80 GB のスペースを確保することをお勧めします。コンピュータを頻繁に使用する場合は、少なくとも 100GB が必要です。

ご存知のとおり、システムのインストール完了後にシステム ディスクの占有量が大きすぎると、システムの遅れ、遅延、さらにはファイルの損失が発生する可能性があります。したがって、win11 システムをインストールする前に、win11 のアップグレードに必要な C ドライブの空き容量をエディタで確認してみましょう。 win11 のアップグレードに必要な C ドライブの空き容量: 回答: win11 のアップグレードには、20 ~ 30 GB の C ドライブの空き容量が必要です。 1. Microsoft の win11 構成要件によると、win11 のインストールには 64 GB のハード ドライブ容量が必要であることがわかります。 2. しかし、実際には、一般的には、それほど広いスペースは必要ありません。 3. すでに win11 をインストールしているユーザーからのフィードバックによると、win11 のアップグレードには約 20 ~ 30GB の C ドライブ容量が必要です。 4. しかし、もし私たちのドアにこれしかないとしたら、
