データベース

2017/07/26

MySQLのインデックス周りでちょいメモ

【はじめに】
大昔に書こう思って放置していた件なので、情報が古かったらごめんなさい。

続きを読む

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 11:55|PermalinkComments(0)

2017/01/25

MySQLは再起動してもキャッシュを復旧できる(*゚∀゚)カコィィ!

つい先日知りました。
どうやら、MySQL5.6.3からできるようになった模様。

具体的には、以下の起動パラメータをONにすれば良いみたいです。

innodb_buffer_pool_dump_at_shutdown
innodb_buffer_pool_load_at_startup

詳細はリンク先を参照ください。

最近、こういったネタに触れる機会もめっきり減ってきた気がする(T-T)
MySQLのリファレンスマニュアルも、なんだか見やすくなってない?気のせいかな??
この辺りはOracleの底力的なものなんでしょうか。

ただ、場合によっては起動時のロードをOFFにする方もいらっしゃるようです。
前提として、InnoDBのバッファプールをウォームアップするのは重い処理です。
・100GBのバッファプールを温めるには100GBの読み取りが必要です。
・なのでそれなりに時間がかかることがあります。
・その間フォアグラウンドスレッドの動作を遅くすることがあります。

バッファプール100GBか、、、私の絡んでるシステムとは異なるようで(^^;


  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 11:50|PermalinkComments(0)

2011/09/07

Oracle Databaseでエクスポート出力先を変更する方法

以前書きましたが、
Oracleの旧エクスポート機能(exp)は10gR2からサポートされなくなりました。

そんな訳で、これからはOracle Data Pumpのエクスポート(expdp)コマンドを使う訳ですが、
こいつの出力先はディレクトリオブジェクトとして管理されているそうな。

で、出力先ディレクトリを変更するには、以下のSQLを使いました。

CREATE OR REPLACE DIRECTORY "DATA_PUMP_DIR" AS '/hoge/fuga'

ええ。ただのメモですが、何か?┐( ̄ヘ ̄)┌

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 12:35|PermalinkComments(1)

2011/03/09

MySQLのInnoDBログとバイナリログを混同していた件

完全に混同してた。
というか、別物だと認識できていなかった。。。

忘れないようにメモしておきます。

◆InnoDBログ
 更新処理の高速化に使われる。いわゆるWAL(Write Ahead Log)はこちら。
 MySQLがクラッシュした際のリカバリ処理にも利用される。
     
 ・InnoDBログファイル - MySQL Practice Wiki


◆バイナリログ
 レプリケーションのMaster → Slave同期処理に利用される。
 また、バックアップデータ復元後のロールフォワード処理にも利用される。
 ただし、出力することで若干の性能低下がある。

 ※詳細はこちら
 ・MySQL :: MySQL 5.1 リファレンスマニュアル :: 4.11.4 バイナリログ


ちっきしょー!
新婚だからって、そんな眼でみるなよ!!(?)w

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 12:51|PermalinkComments(0)

2010/11/04

MySQL5のshow statusにはスコープがある

ある日の1コマ。

質問:
MySQLのshow statusと、
mysqladmin extended-statusの結果が違うのはナゼ?

回答:
MySQL5のshow statusにはスコープがあり、
実際には以下2つのコマンドがあります。

・show session status
 現在の接続に対する情報が出力される

・show global status
 これまでの全接続に対する情報が出力される

で、単純にshow statusと打つと、
sessionの方が実行されるので注意しましょう。


・・・( ゚Å゚)ホゥ


See also:
http://dev.mysql.com/doc/refman/5.1/ja/show-status.html


  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 23:52|PermalinkComments(0)

2009/11/14

Oracle Enterprise Managerを再構成する方法(Windows版)

ひょんなことから、Windowsサーバ上のOracle移行をやることになり、
あれこれやっているうちに、Enterprise Managerが起動しなくなった(汗)

仕方なく、Enterprise Managerの再構成を実施したのでメモ。

Oracleのバージョン : 10.1.0.2.0
続きを読む

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 23:50|PermalinkComments(0)

2009/07/05

Microsoft SQL Serverのメモリチューニング(32bit版)

素晴らしいまとめだったので思わず転記。
掲載方法がNGの場合は、リンクだけにしますのでご連絡ください。 > 108bones様

■各プロセスから見たメモリ 〜 3GB スイッチ〜
32bit アプリケーションが利用できるメモリ空間は最大 4GB です。しかし実際には OS が
2GB の領域を予約しているため、2GB しか使用できません。当然アプリケーションは OS 上
で動くのですから OS を無視することはできません。しかしアプリケーションによっては OS の
領域として2GBも要らない場合があります。boot.ini に /3GB スイッチを付けることで OS が
使用する領域を 1GB に限定して、アプリケーションで 3GB 使えるようになります。

■Windows で 4GB より大きいメモリを利用する 〜 PAE スイッチ〜
OS も 32bit で動作しているためオプションなしで利用できるメモリ空間は 4GB までです。
しかし PAE スイッチを利用することで 4GB より大きいメモリを利用することが出来るように
なります。

■3GB スイッチと PAE スイッチの併用
16GB より大きいメモリを扱う場合には、 OS が利用するメモリ空間が 2GB 必要になります。
3GB スイッチを付けていると基本の 4GB 中 1GB しか OS で利用できないため 16GB より
大きいサイズのメモリを認識できません。 32GB などのメモリを搭載する場合は 3GB
スイッチをはずしてください。

■SQL Server の設定
物理メモリが 4GB より大きい場合には AWE を有効にします。同時に最大使用メモリ量を
設定します。初期設定のままではメモリを確保しすぎて OS の動作が重くなるようです。
あちこちのWEBを見ている限り SQL 専用のサーバでは 「搭載メモリ量−1GB」 辺りが
良いみたいですが、調整は必要だと思います。   

■メモリとスイッチの関係
〜 4GB   OS : /3GB      SQL : なし
〜16GB   OS : /3GB、/PAE  SQL : AWE と 最大メモリ設定
16GB+   OS : /PAE       SQL : AWE と 最大メモリ設定

※認識できるメモリは OS の Edition に依存します。
※3GB スイッチは必要に応じて付けてください。
※AWE スイッチを付けた場合は最大メモリ使用量を設定してください。


最大使用メモリ量は「max server memory」で設定するらしい。
Microsoft SQL Serverはとんとご無沙汰してるなぁ。
昔のトラウマが・・・w


  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 03:31|PermalinkComments(0)

2009/05/10

Oracle Database 11gからの変更点

Oracle Databaseの10g → 11gの間で、色々と変更があったようなのでメモ。

1.ユーザパスワードが大文字/小文字を意識するようになった

2.これまでのエクスポート機能(exp)がサポートされなくなった
  実は10gR2からサポート対象外らしいです。。。(既に常識??)

  元ネタは以下の資料
  http://otndnld.oracle.co.jp/products/database/oracle11g/pdf/datapump11g2007_techover.pdf

3.ユーザパスワード有効期限のデフォルト値が180日になった(※)
  うわ〜。危ないな〜。

4.証跡取得機能がデフォルトONになっている(※)
  初期化パラメータaudit_trailのデフォルト値が none → db に変更された。
  初期状態だと、SYS.AUD$テーブルのデータが増え続け、SYSTEM領域が圧迫されるみたい。

5.初期化パラメータにMEMORY_MAX_TARGETができた
  これは以前も取り上げました。

なお、(※)はdbcaからのデータベース作成時、以下の通りに設定すれば、
10gと同じ状態(有効期限:なし&証跡OFF)に設定できます。
(初期状態では、上が選択されているので変更が必要)

OracleDB11gを10g同様に使うDB作成設定


色々あるな〜。もしかして、他にも…?

【2009/05/31追記】
1点書き忘れ。EnterpriseManagerが、httpからhttpsになってた。

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 15:53|PermalinkComments(0)

2009/04/12

Oracle DatabaseのJA16SJISには2種類ある

ちょこっとメモ書き。
Oracle DatabaseのSJISには2種類がある。

1.JAPANESE_JAPAN.JA16SJIS
2.JAPANESE_JAPAN.JA16SJISTILDE

その違いは、取り出した文字をUNICODEで扱う場合に、「〜」が化けるか否か。

Oracle Database文字コードの詳細はこちらを参照。


  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 17:01|PermalinkComments(0)

2009/02/21

Oracle Database 11gのmemory_max_targetはどこまでいけるのか?(32bit Win版)

Oracle11gのmemory_max_targetを知った時から気になっていたこと。

『標準状態のWindows(32bit)では、最大何MBまで稼動可能なのか?』
を試してみました。
※その為に「Oracleデータベースのパラメータ設定ファイル」を調べてた訳ですw

■利用環境
 OS:Windows Server 2003 Standard Edition SP2
 CPU:Dual-Core Xeon 2.4Ghz
 MEM:3.75GB

何故か、memory_max_target=memory_target=2432MBまで
起動することが確認できました。

OSの制限上、1プロセスあたりは2GBまでしか使えないはずなんですが、
負荷がかかっていない状態では、そこまでメモリ確保に行かないのかも。

まぁ、余裕を見ても、1800MBくらいは設定して良さそうですね(・∀・)


  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 17:59|PermalinkComments(0)