Excel VBAを使用する~EXCEL VBA準備~
EXCEL VBAを使いたくなりました
なぜって、EXCELの大量のSQL全文をWORDの表に貼り付ける必要があるからです。 SQL全文を200個も貼り付けしてたら、虚しくなります。
Excel VBAは、20代の時にちょっとかじった程度で、もう色々忘れているので、思い出すためのメモ。
参考にしたサイトはこちら。
EXCEL VBAを始める準備編
EXCELに開発タブを表示する
オプションメニューで[リボンのユーザ設定]を選択後、「開発」にチェックをしてOKする
EXCELに開発タブが表示される
VBEを起動する
開発タブメニューから「Visual Basic」をクリックする
または、ショートカットキー[Alt]+[F11]でVBE起動/閉じるが可能
変数の宣言を強制する設定
VBEのツールメニューからオプションを選択
「変数の宣言を強制する」にチェックしてOKする
標準モジュールを挿入する
開発タブメニューの挿入メニューから、「標準モジュール」を選択する
標準モジュールが表示される
イミディエイトウィンドウを表示する
表示メニューからイミディエイトウィンドウを選択する
VBEの下部にイミディエイトウィンドウが表示される
VBAプログラムの保存方法
自宅でスキルアップ①
本格的に在宅勤務になって、3週目。オンライン講座など受講履歴と感想
2020年4月6日~12日
udemy
udemyはたまに使うのですが、今、無料コースを結構出しています。
- 【Excel超入門者 限定】本やセミナーを買う前に、最低限これだけは知っておきたい25の機能を速習する90分の無料ツアー/講師:エクセル兄さん たてばやし淳さん
- --> 1.5倍速で視聴。基本的なスキルを確認。レベルアップした内容を視聴予定です。
- Inkscape(インクスケープ)でプロ級販促物を作成できる実践講座(ウォーミングアップ編)/講師:シュムデザイン 新里拓也さん
- --> 前に独学したときは、操作が良く分からなくてなんとなく使った感じだったので。視聴してみたら、想像していない操作性に、自分の感性の古さを感じました。。。 Inkscapeを個人的に使えるようになりたいので、もっと学びたいと思いました。
会社指定のeラーニング
【試験対策1】Oracleデータベース管理の概要
Oracle Master Bronze DBA(12c)の試験勉強の備忘録①
ここでは、下記3つについてまとめます。
リレーショナルデータベース
データベースの種類
- リレーショナル型データモデル(一番多く普及)
- 階層型データモデル
- ネットワーク型データモデル
- キーバリュー型データモデル(データをKEYとVALUEで管理)
リレーショナル型データベースとは?
- Relational Databaseで、略してRDB(アールデービー)と呼ぶ
- 行(レコード)と列(カラム)を管理した2次元の表(テーブル)という単位で、データを管理する
- 1つのデータベースで、1つまたは2つ以上の表を管理できる
- データベースの管理のしやすさから、複数の表で管理することが一般的
- 行と列が交差する部分をフィールドと呼び、最大1つの値を格納できる (逆に複数の値は1つのフィールドで管理不可)
- 複数の表で管理されているデータを関連付けをフィールドの値で行う
OracleはRDBMS
- リレーショナルデータベース(RDB)を管理するシステムをリレーショナルデータベース管理システム(RDBMS)と呼ぶ
- Relational DataBase Management System(RDBMS)
リレーショナルデータベースの操作方法
- SQLと呼ばれるデータベース言語を使用してデータを操作する
- データ操作する時は、操作したい表に対してアクセスするだけ
- データ同士の関連やアクセス経路などの物理的構造は意識しない
- フィールドに値が格納されていない状態をNULL(NULL値)と呼び、空白(スペース)やゼロ(0)とは区別される
SQLの分類
SQLとは?
- SQLはANSI(米国規格協会)やISO(国際標準化機構)で標準規格化されている国際標準のデータベース 言語
- 主なリレーショナルデータベースでサポートされている
- SQLはデータを論理的に処理する
- データへの経路が自動的に決まるので物理構造の意識は不要
SQL分類と操作
データ操作言語:DML(Data Manipulation Language)
- SELECT:データの問い合わせ
- INSERT|新規データの挿入
- UPDATA:既存データの更新
- DELETE:既存データの削除
- MERGE:既存データの更新、削除、および新規データの挿入
データ定義言語:DDL(Data Definition Language)
- CREATE:新規オブジェクトの作成
- ALTER:オブジェクト定義の変更
- DROP:オブジェクトの削除
- RENAME:オブジェクト名の変更
- TRUNCATE:表の切り捨て(全行削除)
データ制御言語:DCL(Data Control Language)
- GRANT:アクセス権限の付与
- REVOKE:アクセス権限の削除
トランザクション制御
注釈
Oracle Databaseの管理ツール
インストール、アップグレードに関するツール
ネットワークに関するツール
インスタンスとデータベースを管理するツール
- Oracle Enterprise Manager Cloud Control(Cloud Control):複数データベースを集中管理及び監視する統合ツール
- Oracle Enterprise Manager Database Express(EM Express):基本的な構成管理機能とパフォーマンス診断やチューニング機能を持ったツール
- SQL *Plus:SQLを対話的に実行するコマンドラインインタフェースのツール
- Recovery Manager(RMAN):Oracleデータベースのバックアップ、リストア、リカバリを実行するユーティリティツール
- Data Pump:データベース間のデータを高速に転送するツール(10g以降から標準)
- SQL*Loader:外部データファイル(CSV、TSVや固定長のテキストなど)のデータを表にロードするツール
データベース管理者(DBA)の仕事
Oracle Master Silver(12c)取得までの道
Oracle Master Silver(12c)取得
2006年にOracle Master9i Silverを取得して以来、そこまでOracleを使用することなく来ましたが、 今、ツールを使用してOracleをはじめとするデータベースの性能をみる仕事に関わっています。
今の仕事についてから、Oracleの資格試験用の本は見てこなかったのですが、今年はOracle Master12cの本で体系的に勉強してみようと思います。 他にも勉強したいことがあるので、毎日30分だけコツコツやりたいと思います。(ブログにアップするのは毎日ではないかも‥‥)
取得までのフロー
「絵で見てわかるOracleの仕組み」を読む 購入して最初に読んだときはさっぱりわからなかったですが、Oracleに少し深くかかわり始めて3年、5回目くらいにして全て理解できました。(おそっ…) https://www.amazon.co.jp/dp/4798157694/ref=cm_sw_em_r_mt_dp_U_wtvhEb17F7TBT
「徹底攻略ORACLE MASTER Bronze DBA 12c 問題集[1Z0-065]対応」を解く 10章+2回の模擬試験があるので、1日1章こなして、模擬試験で70%正解になったら、次のステップへ。 https://www.amazon.co.jp/dp/4844338307/ref=cm_sw_em_r_mt_dp_U_6uvhEbYMWAAPF
「オラクルマスター教科書 Silver Oracle Database 12c」を解く いよいよ本命の試験勉強です。 私はOracle Master silver9iを保持しているので、「Oracle Database 12c Instration and Administration/1Z0-062)に合格すれば、 「Oracle Master Silver Oracle Database 12c」が取得できます。 https://www.amazon.co.jp/dp/4798143561/ref=cm_sw_em_r_mt_dp_U_rzvhEbCDA18QS
本日現在(2020/01/14)、「徹底攻略ORACLE MASTER Bronze DBA 12c 問題集[1Z0-065]対応」2章目を完了しました。 来週末には、模擬試験を受けて、次のステップに行けるかどうか分かります。
では、がんばる。
Oracle Racをインストールした時のWindowsサービス
メモ:Windows ServerにOracleRacをインストールした時のWindowsサービスがよく分からなかったのでメモ。 Singleインスタンスの場合は、ListnerサービスとOracleサービスだけ意識すれば良いのに‥
環境
- Windows Server :2008R2
- Oracle Version:11.2.0.1 2Node Rac
- Oracle SID :ORA11G2
- instance_name:ora11gr21/ora11gr22
- Oracle Home:c:\app\administrator\product\11.2.0\dbhome_1\
Windows サービス
1NodeにあるWindowsサービスを確認します。
クラスタウエア
Oracle Object Service
- 実行ファイル:C:\app\11.2.0\grid\bin\OracleOBJService.exe
- 起動オプション:自動
- OS起動時に起動しているか:○
- 概要:Oracle Clusterwareプロセスの1つ。
OracleOHService
- 実行ファイル:C:\app\11.2.0\grid\bin\ohasd.exe serviceOracleOHService
- 起動オプション:自動
- OS起動時に起動しているか:○
- 概要:Oracle Clusterwareプロセスの1つ。すべてのOracle Clusterwareデーモンを起動する。
ASM(※1)
OracleASMService+ASM1
- 実行ファイル:c:\app\11.2.0\grid\bin\ORACLE.EXE +ASM1
- 起動オプション:手動
- OS起動時に起動しているか:○
- 概要:Oracle10gで追加されたサービス。OracleASMを使用する場合に限って作成されるサービス。ASMインスタンスを制御する。
Listner
OracleOraCrs11g_home1TNSListener(※1)
- 実行ファイル:C:\app\11.2.0\grid\BIN\TNSLSNR
- 起動オプション:手動
- OS起動時に起動しているか:○
- 概要:クライアントからのネットワーク接続を受け付ける際のリスナープロセス用のサービス。
OracleOraCrs11g_home1TNSListenerLISTENER_SCAN1(※2)
- 実行ファイル:C:\app\11.2.0\grid\BIN\TNSLSNR
- 起動オプション:手動
- OS起動時に起動しているか:○(いずれかのNodeで起動する)
- 概要:SCAN VIPからの接続を受け付ける際のリスナープロセス用サービス。
OracleOraCrs11g_home1TNSListenerLISTENER_SCAN2(※2)
- 実行ファイル:C:\app\11.2.0\grid\BIN\TNSLSNR
- 起動オプション:手動
- OS起動時に起動しているか:○(いずれかのNodeで起動する)
- 概要:SCAN VIPからの接続を受け付ける際のリスナープロセス用サービス。
OracleOraCrs11g_home1TNSListenerLISTENER_SCAN3(※2)
- 実行ファイル:C:\app\11.2.0\grid\BIN\TNSLSNR
- 起動オプション:手動
- OS起動時に起動しているか:○(いずれかのNodeで起動する)
- 概要:SCAN VIPからの接続を受け付ける際のリスナープロセス用サービス。
DB(※2)
OracleServiceORA11GR21
- 実行ファイル:c:\app\administrator\product\11.2.0\dbhome_1\bin\ORACLE.EXE ORA11GR21
- 起動オプション:手動
- OS起動時に起動しているか:○
- 概要:Oracle本体のサービス。
その他
OracleDBConsoleORA11GR2
- 実行ファイル:C:\app\Administrator\product\11.2.0\dbhome_1\bin\nmesrvc.exe
- 起動オプション:自動
- OS起動時に起動しているか:○
- 概要:OracleEnterpriseManger(OEM)を使用する場合、起動必須。
OracleMTSRecoveryService
- 実行ファイル:C:\app\Administrator\product\11.2.0\dbhome_1\bin\omtsreco.exe "OracleMTSRecoveryService"
- 起動オプション:自動
- OS起動時に起動しているか:○
- 概要:Microsoft Transaction Server(MTS=Microsoft社のトランザクションサーバ)を使用する場合のみ使用する。
OracleRemExecService
- 実行ファイル:"C:\Users\ADMINI~1\AppData\Local\Temp\2\ oraremservice\RemoteExecService.exe"
- 起動オプション:無効
- OS起動時に起動しているか:○(OS起動時に作成されて起動する)
- 概要:10.1 以降の Windows プラットフォームにおいて、RACのインストールや PSR 適用時のファイル転送等で使用される。 サービスの停止や OS再起動等で、サービス一覧からは削除され、OS起動時に作成されて、起動する。
OracleJobSchedulerORA11GR21
- 実行ファイル:c:\app\administrator\product\11.2.0\dbhome_1\Bin\extjob.exe ORA11GR21
- 起動オプション:無効
- OS起動時に起動しているか:✖
- 概要:Oracle10gR2で追加されたサービス。Windows上にインストールされたOracle以外のプログラムを、 Oracleからスケジュール実行する場合、当サービスを起動しておく必要がある。
OracleOraDb11g_home1ClrAgent
- 実行ファイル:C:\app\Administrator\product\11.2.0\dbhome_1\bin\OraClrAgnt.exe agent_sid=CLRExtProc max_dispatchers=2 tcp_dispatchers=0 max_task_threads=6 max_sessions=25 ENVS="EXTPROC_DLLS=ONLY: C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll"
- 起動オプション:手動
- OS起動時に起動しているか:✖
- 概要:Oracle10gR2で追加されたサービス。Oracle DataBase Extension for .Net(ODE.net)と呼ばれる機能を使い、 .Netで記述したプログラムをOracle内で実行する。
OracleVssWriterORA11GR21
- 実行ファイル:c:\app\administrator\product\11.2.0\dbhome_1\bin\OraVSSW.exe ORA11GR21
- 起動オプション:手動
- OS起動時に起動しているか:✖
- 概要:Oracle11gで追加されたサービス。Oracleと他のVSSコンポーネント間のコーディネータとして機能する。
(※1)OS起動時にgrid Infrastructureは自動起動により、ASMも自動起動します。 (※2)クラスタリソース(db、vip、scan)の自動起動設定は、デフォルト AUTO_START=restore(サーバー停止時と同じ状態に戻す)の設定が適用されます。 「crsctl status resource -p」で設定内容が確認できます。
参考: docs.oracle.com
WindowsへのOracle Databaseインストール(11g)
個人メモ:Windows版にOracle11gをインストールしたメモ
インストールファイル
インストール手順
展開したdatabase内の「setup.exe」をダブルクリックします。
インストーラが起動するので、順次設定していきます。
インストールオプション、システムクラスをデフォルトで進みます。
標準インストールで、管理パスワードを設定して進みます。
前提条件のチェック後、サマリーでインストール内容が表示されます。[終了]をクリックすると、インストールが始まります。
Database configuration Assistantで、DataBaseの作成も行われます。
Databaseの作成も完了したら、[OK]ボタンをクリックします。
インストーラで[閉じる]をクリックします。
インストールのテスト
▼Database Control のホームページを確認
- ブラウザを起動し、次のURLを入力します。
https://<hostname>:1158/em
{hostname}は、マシン名、IPアドレス、またはlocalhostなどが入力できます。
ログインID「SYSTEM」、パスワード「インストール時に設定したパスワード」を入力して、 [ログイン]をクリックします。
Database Control のホームページが表示されたらインストールは完了です。
▼Oracleサービスを確認
スタートから表示する検索ウインドウで「services.msc」を入力すると、サービス画面が表示されます。
サービス名「OracleService<インスタンス名>」があり、状態が「開始」となっていれば、インストールされて、サービスが起動しています。
▼SQL*Plusで接続
sqlplus /nolog conn /as sysdba select * from v$instance;
タスクスケジューラとSCHTASKSコマンド
個人メモ:タスクスケジューラから起動停止しているプロセスをコマンドで実行したいと言われて確認したメモ
タスクスケジューラとは
タスクスケジューラのタスクを画面から操作
▼タスク登録
その後は、作成ウィザードに沿って登録します。 実行スケジュールを入力 タスクの種類を選択 実行スクリプトを登録
# Chromeを起動するスクリプトを入力(スクリプトファイルの登録でも可) "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window
作成完了
ログオンするとすぐにChromeが起動しました!
▼タスク実行
▼タスク終了
タスクスケジューラのタスクをコマンドから操作
同じことをコマンドプロンプトでSCHTASKSコマンドを使ってやってみます。
▼タスク登録
まず、SCHTASKSコマンドの使用方法を確認します。 SCHTASKS /?でヘルプを見ます。
パラメーターの一覧: /Create スケジュール タスクを新しく作成します。 /Delete スケジュール タスクを削除します。 /Query スケジュール タスクをすべて表示します。 /Change スケジュール タスクのプロパティを変更します。 /Run スケジュールされているタスクをオン デマンドで実行します。 /End 現在実行中のスケジュール タスクを停止します。 /ShowSid スケジュールされたタスクの名前に対応するセキュリティ ID を表示します。 /? このヘルプを表示します。 Examples: SCHTASKS SCHTASKS /? SCHTASKS /Run /? SCHTASKS /End /? SCHTASKS /Create /? SCHTASKS /Delete /? SCHTASKS /Query /? SCHTASKS /Change /? SCHTASKS /ShowSid /?
それから、SCHTASKS /Create /?でヘルプを見ます。
SCHTASKS /Create [/S システム [/U ユーザー名 [/P [パスワード]]]] [/RU ユーザー名 [/RP パスワード]] /SC スケジュール [/MO 修飾子] [/D 日] [/M 月] [/I アイドル時間] /TN タスク名 /TR 実行タスク [/ST 開始時刻] [/RI 間隔] [ {/ET 終了時刻 | /DU 継続時間} [/K] [/XML xml ファイル] [/V1]] [/SD 開始日] [/ED 終了日] [/IT | /NP] [/Z] [/F] [/HRESULT] [/?]
作成したいタスク内容はこんな感じかな。早速作成してみる。
C:\Users\Administrator>SCHTASKS /Create /RU WIN-E26VDI0PBGE\Administrator /SC ONLOGON /TN CMD_StartChrome /TR "C:\Windows\System32\startchrome.bat" 成功: スケジュール タスク "CMD_StartChrome" は正しく作成されました。
タスクスケジューラを確認すると作成されていました。
ログオンし直すと、Chromeが起動しました!
気になるのがSCHTASKS /Createコマンドでタスクを作成するとログオン時のユーザが指定できない。
一応、タスクの[プロパティ]-[トリガーの編集]から変更できるようだけどコマンドでできる方法はないのかな?
▼タスク実行
C:\Users\Administrator>SCHTASKS /End /TN CMD_StartChrome 成功: スケジュール タスク "CMD_StartChrome" は正しく中断されました。
▼タスク終了
C:\Users\Administrator>SCHTASKS /Run /TN CMD_StartChrome 成功: スケジュール タスク "CMD_StartChrome" の実行が試行されました。
バックアップやPC起動時のアプリ起動などしておくと便利だな。