「ブログ」カテゴリーアーカイブ

ブログ投稿用のカテゴリ

Oracle:最大プロセス数や最大セッション数を変更する方法

Oracleでのセッションやプロセス数には上限があり、それを超えてしまうとデータベースにアクセス出来ずに予期せぬエラー(ORA-12519)が発生するなどの不具合が発生してしまいます。

Oracleで最大プロセス数や最大セッション数は初期化パラメータを管理しているSPFILEに定義されています。変更前にSPFILEのバックアップを取得しておくのをオススメします。

SPFILEの配置場所

Oracle DB 18cの場合の例です。

  • 配置位置:[ORACLE_HOME]/database/SPFILE[ORACLE_SID].ORA
    (例)C:\ORACLE\WINDOWS.X64_180000_db_home\database\SPFILEORCL.ORA

最大プロセス数、最大セッション数の変更方法

  1. 最初に「V$SYSTEM_PARAMETER」から現在の最大プロセス数と最大セッション数の設定値を確認します。「V$SYSTEM_PARAMETER」はインスタンスに現在有効になっている初期化パラメータ情報を示します。

  2. 次にALETER文でプロセス数の上限を変更します。
  3. SPFILEの変更はOracleを再起動しないと適用されないため、Oracle DBを再起動します。
    詳細は「Oracle Database(Oracleサーバ)の再起動(停止・起動)手順」参照
  4. 再度プロセス数とセッション数を確認すると上限が変更されているのが確認出来ます。セッション数は明示的に変更しなくてもプロセス数の変更に比例して上限が増えます。

Excel:本日の日付を表示する方法

Excelで本日の日付を表示するにはTODAY関数を使用すれば簡単に表示出来ます。

TODAY関数はパソコンの内部時計から現在日付を取得して表示する関数となります。

TODAY関数を使用して本日の日付を表示する例

・以下の例ではB2セルへ「=TODAY()」を入力して本日の日付を表示しています。

DBeaver:テーブルに登録済のレコードをinsert文形式に変換して取得する方法

データベースのクライアントソフトのDBeaverには便利な機能がいくつもありますが、その内の機能の一つにテーブルに登録済のレコードをinsert文形式に変換して取得出来る機能があります。

開発などでIT環境などに登録済のデータをlocal環境へデータコピーしたい場合などに使える便利な機能の一つです。SQL形式(insert文)以外にもCSVやHTML、XML形式などにも変換出来るので様々な用途に応用可能となります。

DBeaverで登録済のレコードをinsert文形式に変換してい取得する方法

  1. コピーしたいテーブルのデータを表示してinsert文へ変換したいレコードを選択します。
  2. 右クリックして「高度なコピー」⇒「Copy as SQL」を選択するとinsert文形式でのコピーは完了です。
  3. 以下の様にコピーした内容を貼り付けてみるとinsert文形式へ変換されているのが確認出来ます。

 

QRコードをGoogle Chromeで簡単に作成する方法

WebブラウザのGoogle Chromeを利用するとQRコードが簡単に作成出来るので作成手順をメモしておきます。

Google ChromeでQRコードを簡単に作成する方法

  1. QRコードを作成したいサイトをChromeで開きます。
  2. サイトが表示されたら右クリックして「このページのQR コードを作成」を選択します。
  3. QRコードが表示されるのでURLに問題なければそのまま「ダウンロード」ボタンを選択するとpng形式でQRコードが保存されます。
  4. 保存したpngファイルを開くと以下の様にQRコードが保存されているのが確認出来ます。

Excel:フラッシュ フィル機能でデータを自動入力する方法

Excel2013から追加されたフラッシュ フィル機能はデータ入力に法則性があるとそれに沿って自動入力してくれる機能です。これまで関数や区切り文字などでウィザードを使用して分割表示させていたものを一瞬で入力出来るようになります。

フラッシュフィル機能の使用例

  1. 以下の様にAセルへ氏名を入力します。
  2. 次に姓と名を分けて2行目へ入力します。
  3. B列のセルを選択して「ホーム」タブ ⇒ 「フィル」 ⇒ 「フラッシュ フィル」を選択します。
  4. 以下の様にB列へ自動で姓のみ入力されているのが確認出来ます。
  5. 同様にC列を選択してフラッシュフィルを実行すると以下の様にC列にも名のみ自動で入力されます。

SQL:NULLの判定方法

SQLに慣れてない頃だとnullを判定する際は「xx = null」などと書いてしまいがちですが、SQLでNULLを判定するには「xx is null」 or 「xx is not null」と記載します。

使用例

サンプルテーブル

「GOODS」

NULLのデータを抽出する例

クエリー(SQL)

実行結果

NULL以外のデータを抽出する例

クエリー(SQL)

実行結果

Excel:作成した表をテーブル化して作業効率化する方法

Excelの基本用途は表作成ですが、表の作成段階でテーブル化しておくことで作業効率化出来るのでメモしておきます。

作成した表をテーブル化して作業効率化する方法

Excelで以下のような表を作成すると集計行や列を追加したり見出しの色を変えて見やすくし、行ストライプ表示(しましま表示)にして見栄え良くして。。など手作業で色々と装飾系にも気を使って追加すると地味に面倒な作業ですが、表の初期作成段階でテーブル化することでそれらの作業を自動で実行してくれるので作業効率を上げることが出来ます。

  1. 最初にテーブル化したい範囲を選択して「ファイル」タブの「テーブル」を選択します。
  2. テーブルの作成画面が表示されるので見出し行がある場合は「先頭行をテーブルの見出しとして使用する」へチェックして「OK」ボタンを選択します。
  3. 以下のように見出し行の色分け、行ストライプ表示、フィルタリングが自動で設定されているのが確認できます。
  4. 作成したテーブルを選択すると以下のように「デザイン」タブが表示されて、他にもスライサーの挿入や集計行の追加、テーブルデザインの変更などテーブル操作の作業が実行しやすくなるため作業効率化出来ます。

 

SQL:SELECT時にCASE文で条件指定する方法

SQLではSELECT時などにCASE文を入れる事で「IF-THEN-ELSE式」を記載することも出来ます。

使用例

サンプルテーブル

「GOODS」

クエリー(SQL)

  • 以下の例ではCASE文でGOODS_CODEが特定の値と一致した場合、NAME列に文字列を付与してTEST列として出力しています。

出力結果

PDFelementを使用して画像ファイル内の文字をテキスト化する方法

OCR機能を持つソフト「PDFelement」を使用して画像ファイル内の文字列をテキストファイル化する方法です。

「PDFelement」には無料トライアル版もあるので画像ファイルからテキストファイルやExcelファイルへの変換は無料トライアル版でも十分可能となってます。

「PDFelement」のダウンロード

「PDFelement」を使用して画像ファイル(png)の文字をテキストファイル化する手順

今回は以下の画像ファイル(png)をテキスト化してみます。

  1. PDFelementを起動し、「ファイルを開く」を選択します。
  2. ファイルの種類がpdfになっているので「すべてのファイル」へ変更して変換したい画像ファイルを選択します。
  3. プロ版機能の購入案内画面が表示されるので「無料トライアルを続ける」を選択します。
  4. 変換したい形式のファイルを選択します。今回はtxtファイルへ変換したいので「テキストへ」を選択します。
  5. 再びプロ版機能の購入案内画面が表示されるので「無料トライアルを続ける」を選択します。
  6. pdfファイルへの保存確認が表示されるので保存したい場合は「はい」を、不要であれば「いいえ」を選択します。
  7. 名前を付けて保存画面が表示されるので保存後のファイル名を指定して「保存」を選択します。
  8. 正常に変換されると以下に様に「正常に変換されました」と表示されます。「開く」ボタンを選択すると変換後ファイルを開くことが出来ます。
  9. 変換後ファイルを開くと以下の様に画像内も文字がテキスト化されてるのが確認出来ます。やや精度は微妙なので見直しは必須ですが、文字数が多い画像ファイルなどをテキストファイル化したい場合などには結構使えそうです。

Excel:順位を求める方法

Excelで順位を求めるにはRANK関数を使用することで可能となります。

RANK関数は「=RANK(数値, 参照, [順序])」の書式で入力します。

第3引数の順序には0(降順で並び替えて数値の大きい方から数えた順位) or 1(昇順で並び替えて数値の大きい方から数えた順位)を指定してます。省略した場合は降順での順位が表示されます。

RANK関数を使用して順位付けする例

  • 以下の例ではC2セルの書式へ「=RANK(B2,B$2:B$5,1)」を入力しています。