データベースのバックアップとリカバリ練習について、動作可能な検証環境が必要です。
以下は検証環境のセットアップ手順と設定情報です。
-
Host OS: Windows 10
ホストとして運用できるPCがある前提とする。
-
VM : Virtual Box or Hyper-V
ホストのOSがHomeの場合、Virtual Boxを使用する。 ホストのOSがPro以上の場合、Hyper-VとVirtual Boxのどちらを選ぶ。
-
Guest OS: Oracle Linux 7.6
設定を最小限のためにOracle Linuxを使用するが、Centos7.6の場合もほぼ変わらない。 本ファイルはOracle Linuxベースに説明する。
-
DB : Oracle database 12cR2
事前に準備する。
-
検証用Data : Oracle DB Sample Schemas
Oracle 12cR2サンプルスキーマの説明 ダウンロード
-
検証用Tools: mhvtl
仮想テープデバイスとして使用する。
-
オプション
WinSCP : VMにファイル転送用(VM設定でも代用可) Tera Term : リモート接続用(VMで直接操作も可) Sql Developer : SQL実行用(DBソフトウェア付随または最新版をダウンロード、SqlPlusで代用可) Oracle Client : VM通信用(RMAN等ツールはVM内で使用のため、オプショナル)
検証環境セットアップ
-
インストールに慣れていない方は以下のファイル参照
Oracle VM VirtualBox を用いた Oracle Database 12c Release 1 環境の構築
-
ハードウェア設定
- CPU プロセッサー:2
- メインメモリ:4GB
- ハードディスク: 60GB
- ネットワーク
- アダプタ1:NAT
- アダプタ2:HostOnly
-
OSインストール
- ソフトウェア選択: サーバー(GUI)、システム管理ツール
- ハードディスク自動構成
- ネットワーク:enp0s3,enp0s8有効にする
- rootパスワード設定
- admin/OraAdm0001
-
Oracle database 12cR2 インストール
- rootユーザで以下のコマンドを実行
nmcli d show enp0s8 # ホストからVMへアクセス用IP表示(例:192.168.56.102),切断の場合は以下コマンドを実行してから再実行 # nmcli c m enp0s8 connection.autoconnect yes xhost + yum update # cd /etc/yum.repos.d # CentOSの場合 # wget http://public-yum.oracle.com/public-yum-ol7.repo # CentOSの場合 /usr/bin/ol_yum_configure.sh # OracleLinuxの場合のみ yum install oracle-rdbms-server-12cR1-preinstall # groupadd -g 54321 oinstall # CentOSの場合 # groupadd -g 54322 dba # CentOSの場合 groupadd -g 54323 oper groupadd -g 54324 backupdba groupadd -g 54325 dgdba groupadd -g 54326 kmdba groupadd -g 54327 racdba usermod -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle #CentOSの場合、エラー。代わりに以下のコマンド実行 # useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba-d /home/oracle oracle # /etc/security/limits.conf ファイルに以下の内容を追加 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 mkdir -p /u01/app/oracle # winscp などツールでinstallerをアップロードまたはネットからダウンロードし、/u01/app/oracleに配置 chown -R oracle:oinstall /u01/app/ chmod -R 775 /u01 su - oracle cd /u01/app/oracle unzip ./linuxx64_12201_database.zip cd database export DISPLAY=:0 ./runInstaller
-
インストール設定(OUI)
- セキュリティ・アップデートの構成
- セキュリティ・アップデートをMy Oracle Support経由で受け取ります。: チェックを外す
- 「次へ」
- ダイアログで「はい」
- インストールオプション
- データベース・ソフトウェアのみインストール
- 「次へ」
- データベース・インストールオプション
- 単一インスタンス・データベースのインストール
- 「次へ」
- データベースのエディション
- Enterprise Edition (7.5GB)]
- 「次へ」
- インストール場所
- Oracleベース: /u01/app/oracle
- ソフトウェアの場所: /u01/app/oracle/product/12.2.0/dbhome_1
- 「次へ」
- インベントリの作成
- インベントリ・ディレクトリ: /u01/app/oraInventory
- oraInventoryグループ名: oinstall
- 「次へ」
- オペレーティング・システム・グループ
- すべてデフォルトのまま
- 「次へ」
- セキュリティ・アップデートの構成
-
データベース作成
export ORACLE_BASE=/u01/app/oracle/ export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH dbca
- DBCA
- データベース操作
- データベースの作成
- 「次へ」
- 作成モード
- 標準構成
- グローバル・データベース名: orcl
- 記憶域タイプ:ファイルシステム
- データベース・ファイルの位置:{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}
- 高速リカバリ領域:{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}
- データベース文字セット: AL32UTF8
- パスワード: ora
- コンテナデータベースとして作成:チェックON プラガブル・データベース名:orcl_pdb
- 標準構成
- データベース操作
- DBCA
-
接続テスト
export ORACLE_SID=orcl sqlplus / as sysdba SQL> select * from v$instance; SQL> exit
-
NETCA
- ローカル・ネット・サービス名
- 追加
- サービス名:orcl
- TCP
- ホスト名:localhost.localdomain 標準ポート
- はい、テスト実施
-
接続テスト
sqlplus system/ora@localhost:1521/orcl (略) SQL> exit
-
サンプルデータ投入
- サンプルスキーマダウンロードし、/u01/app/oracleに配置
# rootユーザ切り替えて実行 mkdir /var/log/oracle_sample_schema/ chown oracle:oinstall /var/log/oracle_sample_schema/ # 以後はoracleユーザで実行 cd /u01/app/oracle unzip db-sample-schemas-12.2.0.1.zip # 例として、zipを使用。 cd db-sample-schemas-12.2.0.1 perl -p -i.bak -e 's#__SUB__CWD__#'$(pwd)'#g' *.sql */*.sql */*.dat source /usr/local/bin/oraenv sqlplus system/ora@localhost:1521/orcl_pdb @mksample ora ora hrpw oepw pmpw ixpw shpw bipw users temp /var/log/oracle_sample_schema/ localhost:1521/orcl_pdb # 実行成功の場合は以下になる SQL> # /var/log/oracle_sample_schema/ に出力したログ確認し、終了 SQL> exit
-
終了処理
- 以下のコマンドを実行し、電源オフにする。
export ORACLE_SID=orcl export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH sqlplus / as sysdba SQL> shutdown immediate SQL> exit rm /u01/app/oracle/linuxx64_12201_database.zip rm /u01/app/oracle/db-sample-schemas-12.2.0.1.zip
-
検証環境をコピーして、試験機作成
-
先に作成環境は「OracleDataba12c検証」とする。
試験機のリカバリ完了後、検証機とデータ比較して、結果判定とする。
-
コピーした環境は「OracleDataba12c検証_試験機」とする。
試験機でバックアップ、リカバリなどいろいろ操作を実施する。
試験機が壊れたら、検証機のコピーから再作成する。 -
ここまで、検証環境構築が完了となる。
以後、oracle_12cシリーズファイルは検証環境を使用する。
-
検証環境の起動について
リモートで接続できるように、ファイアウォールの設定およびリスナーの起動が必要です。
# ファイアウォールの設定 # root firewall-cmd --add-port=1521/tcp --zone=public --permanent firewall-cmd --reload
# oracle export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_SID=orcl # データベース起動 sqlplus / as sysdba SQL> startup SQL> exit # リスナー起動 lsnrctl start
検証環境セットアップ:非CDB
-
前提条件
前述「検証環境セットアップ」の「データベース作成(CDB+PDB)」までは同様に新環境を作成する。
または「検証環境セットアップ」の結果を利用する。 -
DBCAでデータベース作成
-
データベース作成(非CDB)
export DISPLAY=:0 export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH dbca
- DBCA
- データベース操作
- データベースの作成
- 「次へ」
- 作成モード
- 拡張構成
- 「次へ」
- デプロイタイプ
- データベースタイプ
- Oracle単一インスタンス・データベース
- テンプレート: 汎用またはトランザクション処理
- 「次へ」
- データベース識別
- グローバル・データベース名:orcl_noncdb
- SID: orclnoncdb
- コンテナ・データベースとして作成: チェックオフ
- 「次へ」
- 記憶域オプション
- データベース記憶域属性に次を使用
- データベース・ファイルの記憶域タイプ: ファイルシステム
- データベース・ファイルの位置: {ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}
- 「次へ」
- 高速リカバリオプション
- 高速リカバリ領域の指定:チェックON
- リカバリ・ファイルの記憶域タイプ:ファイルシステム
- 高速リカバリ領域:{ORACLE_BASE}/fast_recover_area/{DB_UNIQUE_NAME}
- 高速リカバリ領域のサイズ:8192MB
- アーカイブ有効化:チェックON
- 「次へ」
- ネットワーク構成
- 新規リスナーの作成
- リスナー名:lsnr_noncdb
- リスナー・ポート: 1522
- 「次へ」
- Data Vaultオプション
- 「次へ」
- 構成オプション
- メモリー
- 自動メモリー管理の使用 メモリー・ターゲット:1500MB
- サイズ設定
- 処理: 300
- キャラクタ・セット
- 次の文字セットから選択: AL32UTF8
- 接続サーバー・モード
- 専用サーバー・モード
- サンプルスキーマ
- データベースにサンプル・スキーマを追加: チェックON
- メモリー
- 管理オプション
- Enterprise Manager (EM) Database Expressの構成: チェックON
- 「次へ」
- ユーザ資格証明の指定
- すべてのアカウントに同じパスワードを使用:ora
- 「次へ」
- 「はい」
- 作成オプション
- 「次へ」
- サマリー
- 「終了」
- データベース操作
- DBCA
-
接続テスト
export ORACLE_SID=orclnoncdb # 日本語環境のNLS_LANG設定範囲: Japanese_Japan.UTF8,Japanese_Japan.JA16SJIS,Japanese_Japan.JA16EUC export NLS_LANG=Japanese_Japan.UTF8 sqlplus / as sysdba SQL> select * from v$instance; SQL> exit
-
リモート接続を許可する
# リモート接続を許可する firewall-cmd --add-port=1522/tcp --zone=public --permanent firewall-cmd --add-port=5500/tcp --zone=public --permanent firewall-cmd --reload
-
リモート接続テスト
# cmd sqlplus system/ora@192.168.56.102:1522/orcl_noncdb
-