oracle三对内存参数间关系之2AMM机制涉及的一对参数间的关系探讨 AMM机制涉及的一对参数为: MEMORY_TARGET和MEMORY_MAX_TARGET。 MEMORY_TARGET Default value 0 (SGA autotuning is disabled for DEFERRED mode autotuning requests, but allowed for IMME
oracle三对内存参数间关系之2AMM机制涉及的一对参数间的关系探讨
AMM机制涉及的一对参数为:MEMORY_TARGET和MEMORY_MAX_TARGET。
MEMORY_TARGET
Default value |
0 (SGA autotuning is disabled forDEFERRED mode autotuning requests, but allowed forIMMEDIATE mode autotuning requests) |
---|---|
Modifiable | ALTER SYSTEM (即表示该参数为动态参数)<br>
|
Range of values | 152 MB to MEMORY_MAX_TARGET
|
MEMORY_MAX_TARGET
Default value | 0 |
---|---|
Modifiable | No(即表示该参数为静态参数)
|
Range of values |
0 to the physical memory size available to the Oracle Database |
参见:http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams142.htm
上述描述可知,
1、当MEMORY_TARGET=非0时,MEMORY_TARGET要在152 MB to MEMORY_MAX_TARGET
这个范围内。
2、
由于MEMORY_TARGET始终MEMORY_MAX_TARGET,所以
当MEMORY_TARGET=0时,MEMORY_MAX_TARGET
取值范围为0
to the physical memory size available to the Oracle Database。
当MEMORY_TARGET=非0时,MEMORY_TARGET要在152 MB to MEMORY_MAX_TARGET
这个范围内,故而MEMORY_MAX_TARGET
取值范围为152 MB to the physical memory size available to the Oracle Database。
注释补充:
MEMORY_TARGET 的值要大于等于sga_target与pga_aggregate_target之和。
例如,
当sga_target=744M ,pga_aggregate_target=556M,MEMORY_TARGET=1400M时,
SQL>alter system set memory_target=115m;
alter system set memory_target=115m
*
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-00838:指定的 MEMORY_TARGET 的值太小, 至少应为 1400M
注释:
”ORA-00838:指定的 MEMORY_TARGET 的值太小, 至少应为 1400M“这个错误提示中1400M,该值等于sga_target与pga_aggregate_target之和,
因为MEMORY_TARGET 》=sga_target与pga_aggregate_target之和。
MEMORY_TARGET和MEMORY_MAX_TARGET两者关系为
0、MEMORY_TARGET始终MEMORY_MAX_TARGET.
例如,MEMORY_MAX_TARGET=116M时,
SQL>alter system set memory_target=120m;
alter system set memory_target=120m
*
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-00837:指定的值 MEMORY_TARGET 大于 MEMORY_MAX_TARGET
1、当MEMORY_TARGET=非0时(即AMM启动时)
1.1
当参数文件里MEMORY_TARGET=非0,MEMORY_MAX_TARGET=非0时,实例启动成功。
1.2
当参数文件里MEMORY_TARGET=非0,MEMORY_MAX_TARGET=0时,实例启动成功。
实例启动后,自动会将MEMORY_TARGET的值赋值给MEMORY_MAX_TARGET。即
In a text-based initialization parameter file, if you omitMEMORY_MAX_TARGET
and include a value forMEMORY_TARGET
, then the database automatically setsMEMORY_MAX_TARGET
to the value ofMEMORY_TARGET
.
2、当MEMORY_TARGET=0时(即AMM关闭时)
2.1
当参数文件里MEMORY_TARGET=0,MEMORY_MAX_TARGET=非0时,实例启动成功。
实例启动后,查看MEMORY_TARGET和MEMORY_MAX_TARGET都为原值(使用showparameters mem或是select * from v$parameter where name like '%mem%';)。即If you omit the line for MEMORY_TARGET
and include a value forMEMORY_MAX_TARGET
, theMEMORY_TARGET
parameter defaults to zero. After startup, you can then dynamically changeMEMORY_TARGET
to a nonzero value, provided that it does not exceed the value ofMEMORY_MAX_TARGET
.(文章详解)
2.2
当参数文件里MEMORY_TARGET=0,MEMORY_MAX_TARGET=0时,实例启动成功。
实例启动后,查看MEMORY_TARGET和MEMORY_MAX_TARGET(使用showparameters mem或是select * from v$parameter where name like '%mem%';),发现MEMORY_MAX_TARGET被调整为一个非0值。下面是具体实验来证明:
参数文件:
*.memory_max_target=0
*.memory_target=0
*.pga_aggregate_target=100M
*.sga_max_size=0
*.sga_target=0
SQL> startuppfile=E:\app\hc\product\11.2.0\dbhome_1\database\INITmonkey.ORA
ORACLE 例程已经启动。
Total System Global Area 150667264 bytes
Fixed Size 1373152 bytes
Variable Size 92277792 bytes
Database Buffers 50331648 bytes
Redo Buffers 6684672 bytes
数据库装载完毕。
数据库已经打开。
SQL> select name,value from v$parameter where name like '%target%' orname like
'%sga%';
NAME VALUE
--------------------------------- -----------------------------------------------
sga_max_size 150994944(144M)(值变了)
pre_page_sga FALSE
lock_sga FALSE
sga_target 0
memory_target 0
memory_max_target 121634816(116M)(值变了)
archive_lag_target 0
fast_start_io_target 0
fast_start_mttr_target 0
db_flashback_retention_target 1440
pga_aggregate_target 104857600
parallel_servers_target 32
已选择12行。
SQL> create pfile from memory;
文件已创建。
【
此命令得到的参数文件里:
sga_max_size=144M # internallyadjusted
sga_target=0
】
上述两条语句的结果可以看出,
sga_max_size 150994944(144M)
sga_max_size=144M # internallyadjusted
memory_max_target 121634816(116M)
参数文件里memory_max_target=0且memory_target=0时启动实例后memory_max_target会被改为非0值,且memory_max_target是静态参数,其实例运行期间修改的值在实例运行期间不起作用,所以实例运行期间:memory_max_target始终为非0值,memory_max_target必定大于memory_target(该条在启动实例时的参数文件里也是如此,oracle会检查是否满足此条件的)
sga_max_size=0且sga_target=0时,启动实例后,oracle会自动sga_max_size值进行调整。
至于memory_max_target,启动实例后,是oracle会自动进行调整值还是随意写一个值不得而知。???
memory_target=0时sga_ target可以为0是因为memory_target=0时sga_ target为0,表示sga为手动管理,即由shared_pool_size参数等之和为sga大小。
附加
MEMORY_MAX_TARGET是静态参数,所以它即使在实例运行期间修改的值也要在下次启动时起作用,故而不用试验MEMORY_MAX_TARGET静态参数在实例运行期间修改对MEMORY_
ARGET影响。

酸性属性には、原子性、一貫性、分離、耐久性が含まれ、データベース設計の基礎です。 1.原子性は、トランザクションが完全に成功するか、完全に失敗することを保証します。 2.一貫性により、データベースがトランザクションの前後に一貫性を保証します。 3.分離により、トランザクションが互いに干渉しないようにします。 4.永続性により、トランザクションの提出後にデータが永久に保存されることが保証されます。

MySQLは、データベース管理システム(DBMS)であるだけでなく、プログラミング言語にも密接に関連しています。 1)DBMSとして、MySQLはデータを保存、整理、取得するために使用され、インデックスを最適化するとクエリのパフォーマンスが向上する可能性があります。 2)SQLとPythonに埋め込まれたプログラミング言語とSQLalchemyなどのORMツールを使用すると、操作を簡素化できます。 3)パフォーマンスの最適化には、インデックス、クエリ、キャッシュ、ライブラリ、テーブル分割、およびトランザクション管理が含まれます。

MySQLはSQLコマンドを使用してデータを管理します。 1.基本コマンドには、select、挿入、更新、削除が含まれます。 2。高度な使用には、参加、サブクエリ、および集計関数が含まれます。 3.一般的なエラーには、構文、ロジック、パフォーマンスの問題が含まれます。 4。最適化のヒントには、インデックスの使用、Select*の回避、制限の使用が含まれます。

MySQLは、データの保存と管理に適した効率的なリレーショナルデータベース管理システムです。その利点には、高性能クエリ、柔軟なトランザクション処理、豊富なデータ型が含まれます。実際のアプリケーションでは、MySQLはeコマースプラットフォーム、ソーシャルネットワーク、コンテンツ管理システムでよく使用されますが、パフォーマンスの最適化、データセキュリティ、スケーラビリティに注意を払う必要があります。

SQLとMySQLの関係は、標準言語と特定の実装との関係です。 1.SQLは、リレーショナルデータベースの管理と操作に使用される標準言語であり、データの追加、削除、変更、クエリを可能にします。 2.MYSQLは、SQLを運用言語として使用し、効率的なデータストレージと管理を提供する特定のデータベース管理システムです。

INNODBは、レドログと非論的なものを使用して、データの一貫性と信頼性を確保しています。 1.レドログは、クラッシュの回復とトランザクションの持続性を確保するために、データページの変更を記録します。 2.Undologsは、元のデータ値を記録し、トランザクションロールバックとMVCCをサポートします。

説明コマンドのキーメトリックには、タイプ、キー、行、および追加が含まれます。 1)タイプは、クエリのアクセスタイプを反映しています。値が高いほど、constなどの効率が高くなります。 2)キーは使用されているインデックスを表示し、nullはインデックスがないことを示します。 3)行はスキャンされた行の数を推定し、クエリのパフォーマンスに影響します。 4)追加の情報を最適化する必要があるというFilesortプロンプトを使用するなど、追加情報を提供します。

Temporaryを使用すると、MySQLクエリに一時テーブルを作成する必要があることが示されています。これは、異なる列、またはインデックスされていない列を使用して順番に一般的に見られます。インデックスの発生を回避し、クエリを書き直し、クエリのパフォーマンスを改善できます。具体的には、expliect出力に使用を使用する場合、MySQLがクエリを処理するために一時テーブルを作成する必要があることを意味します。これは通常、次の場合に発生します。1)個別またはグループビーを使用する場合の重複排除またはグループ化。 2)Orderbyに非インデックス列が含まれているときに並べ替えます。 3)複雑なサブクエリを使用するか、操作に参加します。最適化方法には以下が含まれます。1)OrderbyとGroupB


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
