たきるブログ

C#やOracleなどの情報を書いています。

【VMware】vmdkファイルの最適化方法

利用しているとvmdkが肥大化してくるので、パフォーマンスも悪く、バックアップもままならない、そんな状況を完全に打破する方法をやっと確立した。
※ただし、Windowsのみ。

以下、その手順。

  1. ゲストOSを起動する。
  2. ゲストOSで、すべてのプログラム→アクセサリ→システムツール→ディスククリーンアップを起動。
  3. 詳細オプションタブから、システムの復元とシャドウコピー欄のクリーンアップボタンを押し、古い復元ポイントを削除する。
  4. ディスククリーンアップタブから、全部チェックを入れてOKを押して出てくるダイアログでファイルの削除を押す。
    (これで、使用容量を減らす)
  5. コマンドプロンプトを開き、以下のコマンドを実行する。
    cipher /w:c:
    (c:は、対象のドライブを指定)
    しばらく待って、『0xFF に書き込み中』と表示されたらCtrl+Cを連打して中断する。
    マイコンピュータを開いておくと、どんどん容量が食っていくので、終了タイミングが分かりやすい。
    (これで、未使用領域に0x00を書き込み、未使用であることを明確にする)

    f:id:metroit:20190128131648p:plain

  6. ゲストOSで、すべてのプログラム→アクセサリ→システムツール→ディスクデフラグを起動。
  7. 最適化したいvmdkのドライブを指定してディスクの最適化を行う。
    (これで、使用領域を連続させ、未使用領域部分をまとめる。)
  8. ゲストOSをシャットダウンする。
  9. ホストOSのvmwareのディスク設定で、ユーティリティ→ディスクの最適化を行う。
    (あまり意味ない?vmwareデフラグの一種らしいのでとりあえずやる)
  10. ホストOSのvmwareのディスク設定で、ユーティリティ→圧縮を行う。
    (未使用領域を圧縮してくれる)
  11. ホストOSのvmdkが存在するディスクのデフラグやtrimなどを行って、パフォーマンスを最適化する。


あら素敵!
11.は、パフォーマンスを最適化させたい場合にやればよくて、単にvmdkのファイル容量を圧縮させたい場合は、10.までやればいい。



※注意
ディスクデフラグを行うと、一時的にvmdkファイルの容量が増大する為、ホスト側の空き容量に余裕を持っておくこと。

【Windows】Windows 7でhlpファイルを開く

Windows 7Windows Vistaでは、hlpファイルを開くためのプログラムが、セキュリティ上の都合でバンドルされなくなった。

ここから、対象OSのexeをインストールすれば見れるようになる。
Windows ベースのプログラムでヘルプを開こうとすると、「機能は含まれていません」または「ヘルプはサポートされていません」というエラーが表示される

Windows7のリンクが機能しなくなっていた。
調べたらここからダウンロードできたので、Windows7はこちらから。
http://www.spaceyu.co.jp/Winhelp/winhelp.html

【Windows】Windows7でComDlg32.ocxを動かす

Windows 7 環境下で、ExcelVBAにFileDialogオブジェクトを利用しようとするとエラーになってマクロが動かせなかった。
調べてみたら、64bit環境だとって言ってるけど、32bit環境(vmware player上)でもなるし、よくわからんが、解決方法を記そう!

  1. Microsoft Visual Basic 6.0 Service Pack 6 累積的な更新プログラムをダウンロードする。
  2. コマンドプロンプトで、以下のコマンドを実行し、msiの中身を展開する。
    msiexec /a D:\VB60SP6-KB2708437-x86-JPN.msi targetdir="D:\msi_expand" /qn
  3. 展開した中に、『SYSTEM\ComDlg32.OCX』があるので、『C:\Windows\SysWOW64』へコピーする。(管理者権限が必要)
  4. 管理者権限でコマンドプロンプトを起動し、以下のコマンドを実行。
    regsvr32 C:\Windows\SysWOW64\ComDlg32.OCX

これで、VBA側のエラーはなくなるはず。
他にもエラーが発生するなら、参照できてないOCXを見つけ出して、同じことをすればいいと思う。

Windows 7 32bitだとSysWOW64ディレクトリは無いので、system32ディレクトリ下へファイルをコピーすればいいだろう。

ちなみに、不要になったりゴミだから消したいという場合は、以下の手順でファイルを削除する。

  1. 管理者権限でコマンドプロンプトを起動し、以下のコマンドを実行。 regsvr32 /u C:\Windows\SysWOW64\ComDlg32.OCX
  2. 『C:\Windows\SysWOW64\ComDlg32.OCX』を削除。

【ツール】ロードアニメーションGIFを作成するサイト

待機中や処理中の時、くるくる回るGIFアニメーションって、Webサイトやスマホのアプリでよく見かけるけど、簡単にGIFを作成できるサイトをまとめよう。

これは、GIFファイルでダウンロードできるので、Windowsアプリケーション、Webサイト、スマホ(iOSAndroid不問)アプリのどれでも利用できる。



ajaxload.info
http://www.ajaxload.info/

Preloaders
http://preloaders.net/

Loader Generator
http://loadergenerator.com/

load info
http://www.loadinfo.net/

Chimply
http://www.chimply.com/Generator#classic-spinner,animatedCircle



【おまけ】
こちらは、CSS3によってアニメーションを生成してくれる。
環境や要件によっては、こちらの方がいいという場合もある、かもしれない。

CSS Load.NET
http://cssload.net/

【Oracle】ログインユーザーのパスワードを無期限に設定する

有効期限が設定されているか確認する。
sysユーザーのパスワードが分からないならムリ。

sqlplus sys/パスワード@接続先 as sysdba
select * from dba_profiles
where resource_name = 'PASSWORD_LIFE_TIME';

期限が切れていない場合は、手順2まででOK。
期限が切れていたら(ブロックされていたら)
全ての手順を実施してブロックを解除

  1. SQLPlusでsysユーザーでログイン。
    sysユーザーのパスワードが分からないならムリ。

     sqlplus sys/パスワード@接続先 as sysdba
    
  2. デフォルトプロファイルの設定でパスワードを無期限に変更

     alter profile default limit password_life_time unlimited;
    
  3. ロックされているユーザのパスワードを再設定

     alter user ユーザ名 identified by 新パスワード;
    
  4. ロックされているユーザのロックを解除

     alter user ユーザ名 account unlock;
    
  5. パスワード変更したユーザのパスワードを再設定(元のパスワードに戻す)

     alter user ユーザ名 identified by 元パスワード;
    

【CentOS】インストール時に解像度を指定して実行する

VMWare上で動作させようとすると、画面解像度が低くて文字が切れてしまい、思い通りにインストールが行えないかもしれない。
そのため、ディスクを入れて起動したらESCを押し、ブートオプションが入力できる画面に遷移し、画面解像度を変更する。

例えば1024×768でブートしてほしい場合

linux resolution=1024x768

「=」は日本語キーボードだと、キーボード右上にある「^」「へ」「~」が表記されているキーで入力可能。
「x」は小文字のエックス。