カテゴリー: 技術系

  • Ubuntu Server 18.04.1 をインストールしてみた。

    Ubuntuではなく、Ubuntu Serverをインストールしてみたのでメモ。

    • Ubuntu Serverは、サーバに特化しているので、GUIのデスクトップや無駄なアプリケーションがない軽量なUbuntu。
    • Ubuntu Serverは、日本語対応したインストールメディアはない。(デスクトップ向けのISOファイルではない)
    • なので、インストール時の言語(Language)では、Japaneseが選択肢にない。
    • ただし、キーボードレイアウトは、Japaneseがある。
    • インストール用のメディア(ISOファイル)は以下のURLからダウンロードする
    • https://www.ubuntu.com/download/server
    • インストールするパッケージの量が少ないので、インストールがとても速い。15~20分くらいで完了した。
    • 日本語化はインストール後に行う(でないと、いろいろと文字化けするので)。
  • HP Probook 650 G2の初期化(工場出荷時)方法

    HP Probook 650 G2を初期化(工場出荷時)に戻す方法。アカウントもデータもすべて消えるので、注意すること。

    1. 電源をいれ、F11キーを押し続ける。
    2. Windowsではなく、ファンクション画面が起動する
    3. ”Troubleshoot” を選択する
    4. “Reset this PC” を選択する
    5. “Remove everything” を選択する
    6. “Fully clean the drive” を選択する
    7. 最終確認を求めらるので、”Reset”を選択する。
    8. あとは基本的に待つだけ。とても時間がかかる。

    以上。

  • ミスアライメントI/O

    ミスアライメントとは

    ストレージ側のブロックサイズにたいして、使用しているOSのアプリケーションデータの書き始めと終わりがストレージ側のブロックの中間から始まり、複数のブロックにまたがっている状態。

    ミスアライメントI/Oが発生する状況

    例えば、Windowsでは、iSCSIマウントしたストレージ側のブロックサイズが16Kのときに、フォーマットしたドライブのアロケートユニットサイズを4Kにしてしまうと、ミスアライメントI/Oが発生する。

    解消するには、アロケートユニットサイズをストレージ側のブロックサイズと同じ値でフォーマットする。

    ミスアライメントI/Oが発生していると、データの読み書きのパフォーマンス低下につながる。

  • SYS.DBMS_LOCK権限を割り当て

    Oracle DatabaseでDBMS_LOCK権限の割り当てと確認方法。

    ■DBMS_LOCK権限を付与する
    ※DBAで実施

    GRANT EXECUTE ON SYS.DBMS_LOCK TO ユーザ名;

    ■オブジェクト権限を確認するSELECT文

    SELECT * FROM dba_tab_privs;

    SELECT * FROM dba_tab_privs where GRANTEE = '確認するユーザ' ;

    ■確認結果

     SQL> SELECT * FROM dba_tab_privs where GRANTEE = 'OracleUSER' ;
     
     GRANTEE                        OWNER
     ------------------------------ ------------------------------
     TABLE_NAME                     GRANTOR
     ------------------------------ ------------------------------
     PRIVILEGE                                GRA HIE
     ---------------------------------------- --- ---
     OracleUSER                        SYS
     DBMS_LOCK                      SYS
     EXECUTE                                  NO  NO
     
     
     SQL>
    
  • visual studio intelligence code

    既存のソースコードを機械学習させて、類似性があるものをコード規約として補完する仕組みなのね。これは便利なんじゃないかと思う。最初はちゃんとしたルールを作っていったとしても、崩れてくるし、現実に合わせるのが正解だったりする。特にちょっと古いとか一人でコーディングしたものはルールが無いものもあるだろう。それをコードレビューで一つ一つ潰していくよりも、学習されたデータに沿って最適なルールで補ってくれる方が良い。

    実際にどこまで使えるのかは、試してみないとわからないけれど、期待できそうなシステムだ。日本で問題があるとすれば、新しいvisual studioの機能なので、開発環境のアップデートが必要になること。この機能が必要になるレガシーなシステムだと使えないんじゃないかと思う。常に最新にするべく対応できればいいのだけど、そうもいかないのが日本的なところだ。

    環境的な問題を解消できれば、スーパーなプログラマーは増えそうもないけれど、こういうアーキテクチャの力で、経験の浅いプログラマーも底上げされて開発効率が上がりそうだ。

    https://www.publickey1.jp/blog/18/aivisual_studio_intellicode.html

  • システムバックアップからリストアしたところ、OSは正常起動したがOracleDBが自動で立ち上がらなくなった。

    OracleがインストールされたWindowsサーバをシャットダウンし、システムバックアップを取得し、データファイルを保存している先のiSCSIディスクのバックアップも取得し、完全な静止点のバックアップを作成した。作業後、静止点のシステムバックアップからリストアを実施。リストア後、OS(Windows)は正常起動し、iSCSIについても問題はなかった。

    しかし、OracleDBの接続確認したところ、「ORA-01034」が発生し、Oracle DBが正常に起動していなかった。Windowsのイベントログも確認したが、特に変なエラーはなし。唯一、Oracle DB起動時に権限系のエラーが出ていた。完全な静止点でのバックアップだったので、SCN番号も関係なし。しかも手動で`startup`すると正常にOracle DBが起動して使えるようになった。

    試行錯誤で、Windows OSの再起動も試したが、事象が再現するだけ。アーカイブログモードもオフにしてみたが状況は変わらず。ドメインへの再参加も実施したが変わらず。いろいろと試したが状況は変わらず。ひとつひとつ切り分けていった結果、原因を特定した。

    原因は、WindowsのOSが起動時に、iSCSIディスクがマウントされる前に、Oracle DBのサービスが起動していたため、データファイルがマウントできず、起動が失敗していた。

    対応として、Oracle DBのサービスを開始遅延で設定。これで、先にiSCSIドライブがマウントされるようになり、自動起動するようになった。

    今までは、たまたま起動順としてiSCSIのサービスが先に起動していただけ。それがイメージバックアップからのリストアがトリガーとなり、起動順番が変わり、Oracle DBが自動起動しなくなった、ということ。

  • SQL Server 2016は、バックアップのみ暗号化ができる

    データベース本体は暗号化せず、バックアップのみを暗号化する機能がSQL Server 2014より追加されている。SQL Server 2016もバックアップのみ暗号化を行うことができる。

    バックアップの暗号化は、SQL Server 2016 Standard エディションでも使用することができる。

  • vSphere Clientで、データストアの仮想マシンファイルをダウンロードすると、エラーで失敗する

    vSphere Clientで、データストアの仮想マシンファイルをダウンロードすると、エラーで失敗する。 必ず失敗するわけではなく、サイズが大きいものをダウンロードすると、ダウンロードが開始されてしばらくしてから、エラーが出て失敗する。

    発生したエラーは下記。

    Unexpected character" (code 65279 / 0xfeff) in prlog; expected '<' at [row, col(unknown-sorce)]:[1,1]

    特に解決策はなく、仮想マシンのバックアップ目的だったので、OVF形式でエクスポートを行ったら正常終了したので運用回避した。いろいろと調べていくと、Windows 10とvSphere Clientの組み合わせのときに発生するようだ。

  • Windows 10でバージョンを表示する

    Windows10は、大型アップデートが年2回リリースされる。どのバージョンがインストールされているかにより、メニューなどが変わる。そのため、バージョン表示はコマンドが便利。コマンドプロンプトもしくは「Windowsキー+R」でwinverを入力する。

    ■コマンド

    winver

    実行すると、ポップアップでバージョンが表示される。OSのビルド番号も表示されている。

  • SQL Server 2016で開けるファイアウォールのポート

    SQL Server 2016は、デフォルト設定の場合、データベースアクセスに1433番ポートを使用する。そのため、Windows ファイアウォール(セキュリティが強化されたWindows ファイアウォール)で、TCPのポート1433番を開ける規則を作成する。

    ■開放するポート

    プロトコル TCP
    ポート番号 1433

    なお、SQL Server 2005は、OS側のファイアウォールとは別に「SQL Server セキュリティ構成ツール」で開放していた。

    SQL Server 2016では、ファイアウォールをオフにすると、どこからでもつなげるようになるため注意が必要。