物理内存扩容,oracle 11g R1数据库相关参数修改
背景:对主备机的物理内存扩容一倍,内存扩容后,需要修改数据库相关的内存参数,包括数据库层面和操作系统层面。预计对备机扩容一倍内存操作完毕后,修改相关..
背景:
对主备机的物理内存扩容一倍,内存扩容后,需要修改数据库相关的内存参数,包括数据库层面和操作系统层面。预计对备机扩容一倍内存操作完毕后,修改相关内存参数,将数据库启动到备机,运行2天,若没有问题,再对之前的主机物理内存扩容一倍,将数据库切换到备机。之所以这么做,是因为扩容操作,需要关闭操作系统,一晚上搞不定,所以分两次操作,同时也可以更好的确保,主备机在内存扩容和修改相关数据库参数后,都可以正常运行。
环境介绍:
双机 操作系统:solaris 10 数据库版本:oracle 11g R1 64bit 当前主机的hostname和IP: fly-db1 192.168.20.20 当前备机的hostname和IP: fly-db2 192.168.20.21 物理内存,扩容前94G,扩容后188G1、确认数据库的内存管理方式:手动管理
SQL> show parameter memory_target NAME TYPE VALUE ------------------------------------ ----------- ------- memory_target big integer 0 SQL> show parameter sga_target NAME TYPE VALUE ------------------------------------ ----------- ------- sga_target big integer 02、查看当前spfile路径:采用共享存储
SQL>show parameter spfile 3、刚已确认数据库的参数文件采用共享存储,则数据库的所有文件(控制文件,在线日志,数据文件(数据表空间和临时表空间的数据文件),参数文件)均应该为裸设备,现需确认主备机数据库的这些文件确实为裸设备,以及权限均为:oracle:oinstall或者oracle:dba,以避免双机切换过程中,因为数据库的文件权限不正确或使用到文件系统的数据文件导致切换失败(之前遇到过这种情况,所以需要再次确认)bash-3.00$ hostname fly-db1 bash-3.00$ cat check_file.sql //在当前主机运行以下SQL,查询所有数据库文件,保存到文本oracle_131215.txt set heading off set echo off set newpage none set feedback off spool oracle_131215.txt select file_name from dba_data_files; select file_name from dba_temp_files; select member from v$logfile; select name from v$controlfile; select value from v$parameter where; spool off bash-3.00$ sqlplus /nolog SQL> conn /as sysdba Connected. SQL> @check_file.sql SQL> quit bash-3.00$ ls check_file.sql oracle_131215.txt bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i;done //查看这些文件(有省略)是否为裸设备(即字符设备),权限是否正确 crw------- 1 oracle dba 342, 200 Dec 15 07:39 /dev/raw/raw1 crw------- 1 oracle dba 342, 201 Dec 15 02:57 /dev/raw/raw2 crw------- 1 oracle dba 342, 202 Dec 15 03:04 /dev/raw/raw3 crw------- 1 oracle dba 342, 254 Dec 15 01:22 /dev/raw/raw4 crw------- 1 oracle dba 342, 253 Dec 15 03:25 /dev/raw/raw5 bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i | grep -v ^c;done //若文件个数太多,则刷选开头不是c打头的文件,若无输出,即均为裸设备 bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i | grep root;done //刷选是否有root字眼的文件,文件创建时,默认为root:root bash-3.00$ scp oracle_131215.txt oracle@192.168.20.21:/home/oracle/ //在备机执行一样的操作 Password: oracle_131215.txt 100% |*********************************************************************************| 27216 00:00 bash-3.00$ ssh oracle@192.168.20.21 Password: Last login: Sun Dec 15 10:31:13 2013 from 192.168.20.20 ONLY Authorized users only! All accesses logged fly-db2% bash bash-3.00$ hostname fly-db2 bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i;done crw------- 1 oracle dba 342, 200 Sep 15 2012 /dev/raw/raw1 crw------- 1 oracle dba 342, 201 Sep 15 2012 /dev/raw/raw2 crw------- 1 oracle dba 342, 202 Sep 15 2012 /dev/raw/raw3 crw------- 1 oracle dba 342, 254 Sep 15 2012 /dev/raw/raw4 crw------- 1 oracle dba 342, 253 Sep 15 2012 /dev/raw/raw5 bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i | grep -v ^c;done bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i | grep root;done4、确认需要修改的参数:
在主备机修改/etc/system文件中的以下参数为以下值,:(shmsys:shminfo_shmmax为共享内存段的最大值,一般为物理内存的一半,精确到字节) set shmsys:shminfo_shmmax=100931731456 将以下数据库参数修改为以下值: memory_max_target=110G //物理内存的60% sga_max_size=110G //物理内存的60% db_cache_size=55G //物理内存的30% shared_pool_size=10G //物理内存的5% pga_aggregate_target=18G //物理内存的10% db_files=2000 //数据库的数据文件个数限制修改为2000 processes=3000 //当前该值已经很大,不再修改具体的操作步骤如下:
1、主备机的/etc/system文件必须一致,否则将备机的shmsys:shminfo_shmmax参数修改后,重启备机操作系统生效该参数时,将失败,/etc/system文件只有在操作系统引导时,才会被读取,理论上,在数据库运行时,是可以修改/etc/system文件的shmsys:shminfo_shmmax参数的
2、修改主备机的/etc/system文件中的shmsys:shminfo_shmmax参数为物理内存(188G)的一半,精确到字节。
set shmsys:shminfo_shmmax=100931731456
3、对比主备机的/etc/system文件是否一致,无任何输出,则一致
bash-3.00#hostname fly-db1 bash-3.00# diff /etc/system /home/oracle/system_flydb2_131215.bak4、重启备机操作系统,生效该参数的设置
bash-3.00# hostname fly-db1 bash-3.00# sync bash-3.00# sync bash-3.00# sync bash-3.00# shutdown -i6 -g0 -y
ホット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)

ホットトピック











完全なテーブルスキャンは、MySQLでインデックスを使用するよりも速い場合があります。特定のケースには以下が含まれます。1)データボリュームは小さい。 2)クエリが大量のデータを返すとき。 3)インデックス列が高度に選択的でない場合。 4)複雑なクエリの場合。クエリプランを分析し、インデックスを最適化し、オーバーインデックスを回避し、テーブルを定期的にメンテナンスすることにより、実際のアプリケーションで最良の選択をすることができます。

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

はい、MySQLはWindows 7にインストールできます。MicrosoftはWindows 7のサポートを停止しましたが、MySQLは引き続き互換性があります。ただし、インストールプロセス中に次のポイントに注意する必要があります。WindowsのMySQLインストーラーをダウンロードしてください。 MySQL(コミュニティまたはエンタープライズ)の適切なバージョンを選択します。インストールプロセス中に適切なインストールディレクトリと文字セットを選択します。ルートユーザーパスワードを設定し、適切に保ちます。テストのためにデータベースに接続します。 Windows 7の互換性とセキュリティの問題に注意してください。サポートされているオペレーティングシステムにアップグレードすることをお勧めします。

クラスター化されたインデックスと非クラスター化されたインデックスの違いは次のとおりです。1。クラスター化されたインデックスは、インデックス構造にデータを保存します。これは、プライマリキーと範囲でクエリするのに適しています。 2.非クラスター化されたインデックスストアは、インデックスキー値とデータの行へのポインターであり、非プリマリーキー列クエリに適しています。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MySQLは、Bツリー、ハッシュ、フルテキスト、および空間の4つのインデックスタイプをサポートしています。 1.B-Treeインデックスは、等しい値検索、範囲クエリ、ソートに適しています。 2。ハッシュインデックスは、等しい値検索に適していますが、範囲のクエリとソートをサポートしていません。 3.フルテキストインデックスは、フルテキスト検索に使用され、大量のテキストデータの処理に適しています。 4.空間インデックスは、地理空間データクエリに使用され、GISアプリケーションに適しています。

MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

MySQLとMariaDBは共存できますが、注意して構成する必要があります。重要なのは、さまざまなポート番号とデータディレクトリを各データベースに割り当て、メモリ割り当てやキャッシュサイズなどのパラメーターを調整することです。接続プーリング、アプリケーションの構成、およびバージョンの違いも考慮する必要があり、落とし穴を避けるために慎重にテストして計画する必要があります。 2つのデータベースを同時に実行すると、リソースが制限されている状況でパフォーマンスの問題を引き起こす可能性があります。
