geek.conf.2

あるエンジニアの備忘録

ORACLE MASTER Platinum データベースの作成およびネットワーク構成 その2

[ ] 複数の物理デバイスにまたがるデータ・ファイルのストライピング

複数のディスクにまたがって複数のデータ・ファイルを持つ表領域を作成する。

0.前提条件
CREATE DBまで完了している状態で、、

1.複数の物理デバイスのパス
まず一つ目のデバイスのパス:/u01/app/oracle/oradata/orcl/
次に二つ目のデバイスのパス:/u02/app/oracle/oradata/orcl/

二つ目は予め作成しておく。
$ mkdir -p /u02/app/oracle/oradata/orcl/
# chown -R oracle:install /u02/app/oracle/

※/u01と/u02は別の物理デバイスにあるテイ。

2.表領域を作成
$sqlplus / as sysdba
SQL>create tablespace TBS_STRIPE datafile '/u01/app/oracle/oradata/orcl/tbs_stripe01.dbf' size 250M,
'/u02/app/oracle/oradata/orcl/tbs_stripe02.dbf' size 250M;

3.表領域にデータ・ファイルを追加
SQL>alter tablespace TBS_STRIPE add datafile '/u02/app/oracle/oradata/tbs_stripe03.dbf' size 250M;

4.表領域の削除
SQL>drop tablespace tbs_stripe including contents and datafiles cascade constraints;

[ ] パフォーマンス最適化のためのデータベース環境設定

1.パフォーマンスに影響を与える重要な初期化パラメータの確認と変更
・COMPATIBLE
変更の必要なし
・DB_BLOCK_SIZE
変更の必要なし
・SGA_TARGET
SQL>alter system set sga_target=500M scope=both;
PGA_AGGREGATE_TARGET
SQL>alter system set pga_aggregate_target=10M scope=both;
・PROCESSES
SQL>alter system set processes=140 scope=spfile;
SQL>shutdown immediate
SQL>startup
※反映には再起動が必要
・SESSIONS
SQL>alter system set sessions=300 scope=spfile;
SQL>shutdown immediate
SQL>startup
※反映には再起動が必要
・UNDO_MANAGEMENT
変更の必要なし(CREATE DB時のデフォルトauto)
・UNDO_TABLESPACE
変更の必要なし(CREATE DB時のデフォルトundotbs1)
※初期化パラメータの確認はSQL>show parameter <初期化パラメータ名>

[ ] 設定ファイルの作成と管理
1.異なるディスク上での制御ファイルの多重化

・異なるディスク作成
まず一つ目のディスクのパス:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
次に二つ目のディスクのパス:/u02/app/oracle/product/11.2.0/dbhome_1/dbs/

#mkdir -p /u02/app/oracle/product/11.2.0/dbhome_1/dbs/
#chown -R oracle:oinstall /u02/app/oracle/

/u01,/u02は異なるディスクのテイ。

SQL>shutdown immediate
controlファイルをコピー
SQL>startup nomount
SQL>alter system set control_files='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control1','/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control2','/u02/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control3' scope=spfile;
SQL>shutdown immediate
SQL>startup

2.新しい制御ファイルの作成手順

3.制御ファイルのバックアップ

4.制御ファイルのコピーを使用した制御ファイル破損からのリカバリ

5.制御ファイルのコピーを使用した永続的なメディア障害からのリカバリ

6.制御ファイルの削除

ORACLE MASTER Platinum データベースの作成およびネットワーク構成 その1

さてテスト内容チェックリストに沿っていくのであーる。

[ ] データベースの作成
dbcaでやらずにCREATE DATABASEからやってみる。
環境はここの8.LISTENER構成 前から

0.環境準備
環境変数とか、oracleユーザとかやっておくこと。
ここでは割愛。

1.各種Oracleファイル格納ディレクトリの作成
$ mkdir -p $ORACLE_BASE/admin/orcl
$ mkdir -p $ORACLE_BASE/admin/orcl/adump
$ mkdir -p $ORACLE_BASE/admin/orcl/ddump
$ mkdir -p $ORACLE_BASE/admin/orcl/pfile
$ mkdir -p $ORACLE_BASE/admin/orcl/scripts
$ mkdir -p $ORACLE_BASE/flash_recovery_area/orcl
$ mkdir -p $ORACLE_BASE/oradata/orcl


2.初期化パラメータ・ファイルの作成
サンプルから作成する。
$ cp -p $ORACLE_HOME/dbs/init.ora /u01$ORACLE_BASE/admin/orcl/pfile/

以下にinit.oraを披露する。の部分は/u01/app/oracleに編集する。
これに沿って各種Oracleファイル格納ディレクトリも作ってる。
memory_targetのみ変更(1g⇨800M)じゃないとDB startup後、以下のエラーを喰らう。
ORA-00845: MEMORY_TARGET not supported on this system

$sqlplus / as sysdba
SQL>create spfile from pfile='/u01/app/oracle/admin/orcl/pfile/init.ora';


# Change '' to point to the oracle base (the one you specify at
# install time)

db_name='ORCL'
memory_target=800M
processes = 150
audit_file_dest='/u01/app/oracle/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'

3.CREATE DATABASE文のSQL作成
Oracleドキュメント記載例に従って作った。
$ vi $ORACLE_BASE/admin/orcl/scripts/createdb.sql


CREATE DATABASE orcl
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01a.log','/u01/app/oracle/oradata/orcl/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02a.log','/u01/app/oracle/oradata/orcl/redo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03a.log','/u01/app/oracle/oradata/orcl/redo03b.log') SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/app/oracle/oradata/orcl/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

4.CREATE DB
$sqlplus / as sysdba
SQL>startup nomount
SQL>@$ORACLE_BASE/admin/orcl/scripts/createdb.sql

5.スクリプトの実行によるデータ・ディクショナリ・ビューの作成
データ・ディクショナリ・ビュー、シノニムおよびPL/SQLパッケージの作成およびSQL*Plusの適切な稼働に必要なスクリプトを実行します
SQL*Plusで、SYSDBA管理権限でOracle Databaseインスタンスに接続します。
@$ORACLE_HOME/rdbms/admin/catalog.sql
@$ORACLE_HOME/rdbms/admin/catproc.sql
SQL*Plusで、SYSTEMユーザーとしてOracle Databaseインスタンスに接続します。
@$ORACLE_HOME/sqlplus/admin/pupbld.sql
Oracleドキュメントのコピーでサーセン

[ ] データベース構成のためのパラメータ設定
1.パフォーマンスに影響を与えない必要な初期化パラメータの確認と変更
・DB_NAME
変更不可
・DB_DOMAIN
変更不可
・OPEN_CURSORS
SQL>alter system set open_cursors=500 scope=both;
・CONTROL_FILES
DBシャットダウン、controlファイルコピー。
SQL>alter system set control_files='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control1',
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control2',
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control3' scope=spfile;
※反映には再起動が必要
※ora_control3を追加してる。
・DB_FILES
SQL>alter system set db_files=100 scope=spfile;
SQL>shutdown immediate
SQL>startup
※反映には再起動が必要

[ ] 各種表領域の作成
これは、上のCREATE DB文で補完してるんじゃないかな。

とりあえず終わり

vCenter Server Appliance 5.5をインストールしてゲストOSをクローンしたお話

お腹減った僕です。

さて今日は表題の通り、VMware vCenter Server Applianceをインストールしちゃいます。
とりあえずVMwareからDLしたOVAファイルを用いてvSphere Client上でデプロイしちゃいます。

画面とかは省きますね。詳しくはこちらに載っています⇨VMware vCenter Server Appliance 5.5 のインストールと VMware vSphere Web Client によるアクセス / vSphere 5.5 (ESXi 5.5)

僕はThickのEager Zeroedでデプロイしちゃいますね。
デプロイが正常に完了後、vCSAを起動して設定していく前に、メモリが8GBもあるので、最小の4GBにします。
vCPUも2個となっていますが、必要みたい。。本当にいるのか。。

設定は以下のURLで。⇨https://vCSAのさーばーめーい:5480
そしてDBもSSOもEmbeddedのデフォ構成とします。
構成完了後、
そのままNetworkからIPアドレスをStaticに、vCenter ServerのTimeからNTPサーバを設定する。

これで完了。
macマシンからvSphere Web Clientを起動てかアクセス⇨https://vCSAのさーばーめーい:9443
※ちなみにアカウントはデフォルトでroot/vmwareだからな、これ試験に出るぞ。

そんで、まずデータセンターを追加して、ESXiホストを追加します。
ESXiホストを追加する際、ライセンスは評価ライセンスを使用しました。はい。
ちなESXiホストの無償ライセンスを選択するとデータセンター作成に失敗しますよってに。

こんな具合。macにvSphere!!カッコイイ!!
vmware0113.png

終わり

VMware ESXiとmacマシンでvSphere Client

いやぁ、これから本格的に本ブログを再開するつもりなんで、よろしく僕です。

Oracle Master Platinum環境の構築でESXiを導入しました。
これをmacマシンから仮想マシン作成だとかしたくて、したので書きますね。

macマシン:MacBook Pro (Retina, 13-inch, Late 2013)
モデル番号:ME864xx/A
OS:OS X Yosemite (10.10.1)
仮想ソフト:VMware Fusion7.1.0
仮想マシンOS:Windows 8 通常版

そうです。macマシンに作成したWindows仮想マシン上にvSphere Clientを入れてます。
ただそれだけですが、この構図、とても胸熱じゃないですか?
Evernote Camera Roll 20150111 223426



ちなESXiにvSphere Clientを接続したらまず、ライセンス登録しましょう。
vSphere Clientダウンロード時にライセンスキーがメールが送付されるはず!

ちなESXiにストレージの追加を行う際に以下のエラーが起きました。
ESXi「ホストネーム|IPアドレス」で(またはvCenter Serverで)オブジェクト「storageSystem」の「HostStorageSystem.ComputeDiskPartitionInfo」 の呼び出しが失敗しました。

そんなときはこちら↓のページのように対処しましょうね。
ESXi ストレージ作成で失敗
Blog of mk2 - VMware vSphere ESXi 5.5.0 で使用済みHDDをデータストアに追加する

おしまいω

mac os Xにoracle clientを入れる

はてさてタイトル通り、やります。

macマシン:MacBook Pro (Retina, 13-inch, Late 2013)
モデル番号:ME864xx/A
OS:OS X Yosemite (10.10.1)

1.Oracle Clientダウンロード
とりあえずここから
instantclient-basic-macos.x64-11.2.0.4.0.zipとinstantclient-sqlplus-macos.x64-11.2.0.4.0.zipを入手。
そして解凍して、おのおの(のか)をディレクトリinstantclient_11_2にマージする。

2.Oracle Clientインストールディレクトリの作成
/Applications/oracle/product/以下に作る。

$mkdir -p /Applications/oracle/product/instantclient_64/11.2.0.4.0/bin
$mkdir -p /Applications/oracle/product/instantclient_64/11.2.0.4.0/lib
$mkdir -p /Applications/oracle/product/instantclient_64/11.2.0.4.0/jdbc/lib
$mkdir -p /Applications/oracle/product/instantclient_64/11.2.0.4.0/rdbms/jlib
$mkdir -p /Applications/oracle/product/instantclient_64/11.2.0.4.0/sqlplus/admin

3.Oracle Clientのファイルをインストールディレクトリに配備
ディレクトリinstantclient_11_2内のファイルを以下のように移動させる。

$mv ojdbc* /Applications/oracle/product/instantclient_64/11.2.0.4.0/jdbc/lib/
$mv x*.jar /Applications/oracle/product/instantclient_64/11.2.0.4.0/rdbms/jlib/
$mv glogin.sql /Applications/oracle/product/instantclient_64/11.2.0.4.0/sqlplus/admin/
$mv *dylib* /Applications/oracle/product/instantclient_64/11.2.0.4.0/lib/
$mv *README /Applications/oracle/product/instantclient_64/11.2.0.4.0/
$mv * /Applications/oracle/product/instantclient_64/11.2.0.4.0/bin/

4.tnsnames.oraを配備
言わずもがな。

$mkdir -p /Applications/oracle/product/network/admin
$vi /Applications/oracle/product/network/admin/tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.18)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

5.環境変数セット
これもお馴染み。しかし、macマシンに.bash_profileがないため、作成しちゃう。
$vi ~/.bash_profile
export ORACLE_BASE=/Applications/oracle
export ORACLE_HOME=$ORACLE_BASE/product/instantclient_64/11.2.0.4.0
export PATH=$ORACLE_HOME/bin:$PATH
export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_BASE/network/admin
export NLS_LANG=Japanese_Japan.AL32UTF8
※LD_LIBRARY_PATHではなくDYLD_LIBRARY_PATHであることに注意
※NLS_LANGないとsqlplusが文字化けるので

6.接続確認
$sqlplus system/oracle@192.168.1.18/orcl
SQL>

参考ページ:Oracle Client 11gR2 (11.2.0.3) for Apple Mac OS X (Intel)

おわ

Oracle Master Platinum試験環境の構築1

こんばんは。会社を気に入っている僕です。

さて前にも構築(Oracle Master Platinum試験環境とrmanバックアップ)しましたが、今回はもっと現実的に構築します。

以下、環境です。

▪️物理環境
型式:HP ProLiant ML110 G7
CPU:Intel Xeon E3-1230 3.2GHz (quad-Core)
メモリ:16GB(4GB x4)
Disk:250GB + 2TB (SATA-RAID1)
OS:VMware ESXi 5.5U2

▪️仮想環境
OS:Oracle Linux 5.4
CPU:2vCPU
メモリ:2GB
Disk:100GB
DB:Oracle DB 11g R2
※このへんは試験環境に準拠

とりあえず、Oracle Linuxをインストール。
Evernote Camera Roll 20150111 200448
ちなみにOracle Linuxのインストールはmacbook pro内のWin8のvSphere Client上という胸熱な環境で行っています。その辺はまた、別エントリーで!

そしてOracleDB 11gインストール

0.パッケージ要件
Oracle Linuxだし、Oracle用に必要なパッケージは既に済みでしょ。←甘かった!
このままだとインストール中にチェックに失敗する。
rpm0113.png



なのでおっしゃるとおり以下をインストールする。
libaio-devel&unixODBC&unixODBC-develはi386x86_64も挿れる。

・libaio-devel-0.3.106
・sysstat-7.0.2
・unixODBC-2.2.11
・unixODBC-devel-2.2.11

1.oracleユーザ/グループ作成
グループ:oinstall(501),dba(502),oper(503),asmadmin(504),asmoper(505),asmdba(506)
ユーザ:oracle(501) 所属グループ:oinstall,dba,oper
#passwd oracle

2.oracleユーザのリソース制限
/etc/security/limits.confを以下のように追記する。

#vi /etc/security/limits.conf
# For Oracle
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768

3.Linuxのcvuqdiskのインストール
CVU(クラスタ検証ユーティリティ)使うために必要。
なんかRACの構築を支援するCVUに必要なようなのでインスト。
OracleDB 11gを入手して解凍するとdatabaseディレクトリになるのだが、この中の
./database/rpm/にあるcvuqdisk-1.0.7-1.rpmをインストールする。

#rpm -ivh cvuqdisk-1.0.7-1.rpm

4.カーネルパラメータ
/etc/sysctl.confを以下のように追記または編集する。

#vi /etc/sysctl.conf
# For Oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
※kernel.shmallとか元々記載のものはコメントアウトした俺は。

#sysctl -p

5.ORACLE_BASEとか作成
# mkdir -p /u01/app/oracle/
# mkdir -p /u01/app/oraInventory/
#chown -R oracle:oinstall /u01/app/oracle/
#chmod -R 755 /u01/app/oracle/

6.oracleユーザの環境の構成
リモートホストでOracleDB 11gをインストールする場合、インストール先でrootで
#xhost + somehost.example.com

お馴染みの環境変数export
oracleユーザの.bash_profileに以下を追記

$vi .bash_profile
umask 022
export ORACLE_SID=ORCL
export ORACLE_UNQNAME=ORCL
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG=Japanese_Japan.AL32UTF8
※NLS_LANGはsqlplusの文字化け対策のため定義しま。

7.インストール
oracleユーザでログイン。
$/usr/local/src/database/runInstaller

※以下のエラーが出たら、、、、、

無効なソース・パス'../stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles'が解凍用に指定されています。解凍コマンドは失敗しました。oraparam.iniをチェックし、有効なソース・パスを指定してください。
: そのようなファイルやディレクトリはありません

こいつの原因はOracleDB 11gが2ファイル(解凍後のファイル名→databaseとdatabase-2)あったと思いますが、こやつらを正しくマージしないと正しいパスを参照できないため発生するです。具体的には以下ですする。
#mv database-2/stage/Components/* database/stage/Components/

ちなスワップ領域が2.7ちょいGB未満だとチェックでエラー出るよ。

※※※
とりまここでスナップショットを作成しておく。
Platinum試験環境として使うためにね
※※※

8.LISTENER構成
$netca
※リスナー/ネーミング・メソッド/ローカル・ネット・サービス名構成

9.DB作成
$dbca
※全部デフォ(文字コードUnicode選択)

10.redoログメンバの増員
dbcaでデフォで作るとredoログメンバがグループに1人なので、、alter databaseする。
SQL> alter database add logfile member '/u01/app/oracle/oradata/orcl/redo01-2.log' to group 1;
SQL> alter database add logfile member '/u01/app/oracle/oradata/orcl/redo02-2.log' to group 2;
SQL> alter database add logfile member '/u01/app/oracle/oradata/orcl/redo03-2.log' to group 3;

11.Enterprise Manager起動確認
$emctl status dbconsole
以下URLへアクセス!
https://さーばーめーい:1158/em/console/aboutApplication

その他.
※これ増やしていく予定
sqlplus Tips

・set linesize
SQL>set linesize 200
・一個前のsql実行
SQL>//
・折り返ししねぇ
SQL>set wrap off


とりあえず終わり
次回、RMANね。

VCP-510

VMwareのVCP-510に受かりましたのでログを取ります。

VMware Certified Professional(VMware認定プロフェッショナル) → VCP
VCPは、VMware社が認定する、VMwareソリューションの導入・展開のための技術を有することを認定するもので、VMware世界共通の資格です。
VCPのうち、以下の資格を取得しました。

VCP5-DCV
主にvSphere 5の知識を問います。
VCP5-DCVに認定されるためには、VMware認定コースの受講と試験のPassが必要となります。

合格日:2014/12/28(日)
点数:339/500
勉強期間:26日(2014/12/01 - 2014/12/27)
利用した参考書:徹底攻略 VCP5-DCV教科書 VMware vSphere 5.1 (黒本)
                         なぞのWeb問題集

勉強方法:黒本を読破しながら、Web問題集を解いていく。黒本をすべて読み終えたら、演習問題のみを解いて演習問題の回答ページを読む。これと並行してWeb問題集を繰り返し解いていく。これらを反復して最終的には全章の演習問題を解いても1、2問間違えるだけ、Web問題集の試験モードを行っても、90%以上正解となってから、本番試験を受験しました。Web問題集の問題の意味と回答の意味を理解するために、黒本やgoogleで補完しました。

試験内容:なぞのWeb問題集とそっくりそのままの問題は4割ほどしか出ませんでした。Web問題集と選択肢が違ったり、若干質問内容が違う問題が3割、初見の問題が3割という感じでした。