オラクる。

oracle専門ブログにしてみようかな~っと

2015年07月

20150719_042244016_iOS

あの新代田二郎につけ麺が!
メルマガで情報を手にした私は、早速新代田に向かいました
日曜日の昼下がり
並びは7人程度
私が行列に並んだ後も次から次へと列が伸びていきます
それにしても暑い・・・
こういう日はつけ麺が恋しくなるというものです

さて、スキンヘッドでメガネの助手がやってきて麺量を聞かれます
つけ麺の場合はここで伝えます
今日は「小のつけ麺」で
しばらくして入店して着席します
ここは券売機が無いので、助手に注文を伝えてお金を渡します
無事注文が通ると、お金のやり取りをした後、私の前のカウンターに消しゴムとコインが置かれます
食券が無い代わりに、こうやって注文を表しているらしいです
つけ麺は一円玉が置かれます

それにしても券売機はもう直さないのだろうか・・・
もう券売機無しのルールが出来上がっているので、このままっていうことも考えているのだろうか・・・

そんなことを考えている間につけ麺の汁、麺の順に出来上がりました
正式名称は「うぐいす」つけ麺
汁丼の隅っこに添えられた柚子胡椒がうぐいすパンの色に似ているから・・・という噂です
麺の丼にはたっぷりの麺と野菜、アブラもこちら
新代田ってこんなに麺が多かったんだ・・・そう実感させる麺量です
とんぶり擦り切れで麺が盛られています
麺は冷水でしめられているので、コシがあって、まるでうどんみたい
食べごたえあります
スープは普通のラーメンよりも酸味があって、柚子胡椒はピリッとしたアクセント
有料トッピングのかつお節との相性が抜群です
結構な量だけど、ツルリと口に入ってしまうつけ麺です
これは大でもイケるかも・・・?
でも、やめておこう
無理は身を滅ぼすのだから

SCNはOracleの「いつ」という概念で、データベースの内部時間を表します。
トランザクションがコミットされたり、ログスイッチが発生した場合に、このSCNの番号が上がります。
また、インスタンスの正常停止時にはデータファイルにSCNが書き込まれます。

SQL> SELECT file#,checkpoint_change#,last_change#
  2  FROM v$datafile;

     FILE# CHECKPOINT_CHANGE# LAST_CHANGE#
---------- ------------------ ------------
         1            3684984
         2            3684984
         3            3684984
         4            3684984
         5            3684984
         6            3684984

6行が選択されました。

SQL> shutdown immediate;
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup mount
ORACLEインスタンスが起動しました。

Total System Global Area                                                  839282688 bytes
Fixed Size                                                                  2233000 bytes
Variable Size                                                             629149016 bytes
Database Buffers                                                          201326592 bytes
Redo Buffers                                                                6574080 bytes
データベースがマウントされました。
SQL> SELECT file#,checkpoint_change#,last_change#
  2  FROM v$datafile;

     FILE# CHECKPOINT_CHANGE# LAST_CHANGE#
---------- ------------------ ------------
         1            3685616      3685616
         2            3685616      3685616
         3            3685616      3685616
         4            3685616      3685616
         5            3685616      3685616
         6            3685616      3685616

6行が選択されました。


インスタンスが正常停止され、v$datafileビューのLAST_CHANGE#列にSCN番号が書き込まれました。

SQL> SELECT file#,checkpoint_change#,last_change#
  2  FROM v$datafile;

     FILE# CHECKPOINT_CHANGE# LAST_CHANGE#
---------- ------------------ ------------
         1            3685619
         2            3685619
         3            3685619
         4            3685619
         5            3685619
         6            3685619

6行が選択されました。

SQL> shutdown abort
ORACLEインスタンスがシャットダウンされました。
SQL> startup mount
ORACLEインスタンスが起動しました。

Total System Global Area                                                  839282688 bytes
Fixed Size                                                                  2233000 bytes
Variable Size                                                             629149016 bytes
Database Buffers                                                          201326592 bytes
Redo Buffers                                                                6574080 bytes
データベースがマウントされました。
SQL> SELECT file#,checkpoint_change#,last_change#
  2  FROM v$datafile;

     FILE# CHECKPOINT_CHANGE# LAST_CHANGE#
---------- ------------------ ------------
         1            3685619
         2            3685619
         3            3685619
         4            3685619
         5            3685619
         6            3685619

6行が選択されました。


逆にインスタンスが異常停止した場合、例えばshutdown abortした場合はLAST_CHANGE#列に値が書き込まれません。
データベースはLAST_CHANGE#列を確認して、インスタンスリカバリを行なうかどうかを判断します。

Oracle RAC(11gR2)をインストールするための前提パッケージには色々とあります。
rpmコマンドで1個ずつインストールしていこうとすると、依存パッケージを入れる必要が出てきたり・・・
32bit、64bit両方のパッケージをインストールしなければならなかったりで・・・
色々と大変です。

RHEL6でRACインストール検証を行った時の前提パッケージインストールコマンドです。
RHELのインストールDVDをマウントしてyumのレポジトリとしています。

yum install -y binutils
yum install -y compat-libcap1
yum install -y compat-libstdc++-33
yum install -y compat-libstdc++-33.i686
yum install -y gcc
yum install -y gcc-c++
yum install -y glibc.i686
yum install -y glibc
yum install -y glibc-devel
yum install -y glibc-devel.i686
yum install -y ksh
yum install -y libgcc.i686
yum install -y libgcc
yum install -y libstdc++
yum install -y libstdc++.i686
yum install -y libstdc++-devel
yum install -y libstdc++-devel.i686
yum install -y libaio
yum install -y libaio.i686
yum install -y libaio-devel
yum install -y libaio-devel.i686
yum install -y make
yum install -y sysstat
yum install -y unixODBC
yum install -y unixODBC.i686
yum install -y unixODBC-devel
yum install -y unixODBC-devel.i686

oracle racでscanを利用する場合、DNSサーバが必要になります。
今回、DNSサーバはbindを利用して、scanを利用できる設定を行なってみました。

サーバのIPアドレスは192.168.10.100
scanのホスト名はnode-scan.test.com、IPアドレスは192.168.10.101,102,103で検証しています。

[root@node01 ~]# yum install bind-libs bind bind-utils

まずはyumでbindツールをインストールします。

[root@node01 named]# vi /etc/named.conf

設定ファイルnamed.confを編集します。

options {
        listen-on port 53 { 127.0.0.1; 192.168.10.100; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
(省略)
};


listen-on パラメーターにDNSサーバとして利用するIPアドレスを追記します。

zone "test.com" IN {
        type master;
        file "test.com.zone";
        allow-update { none; };
};
zone "10.168.192.in-addr.arpa." IN {
        type master;
        file "10.168.192.in-addr.arpa";
        allow-update { none; };
};


scan用の正引き、逆引きゾーンのファイルを設定します。
正引きは/var/named/test.com.zoneというファイルに記載します。
逆引きは/var/named/10.168.192.in-addr.arpaというファイルに記載します。

$TTL    86400
@       IN      SOA     test.com. root.test.com. (
                        2009020100      ; serial
                        3600            ; refresh
                        900             ; retry
                        604800          ; expire
                        86400           ; negative
)
          IN      NS              ns.test.com.
ns        IN      A               192.168.10.100
node-scan IN      A               192.168.10.101
node-scan IN      A               192.168.10.102
node-scan IN      A               192.168.10.103


/var/named/test.com.zoneの記載内容です。
下3行にscanのレコードが記載されています。

$ORIGIN 10.168.192.in-addr.arpa.
$TTL 1H
@       IN      SOA     test.com. root.test.com.(
                        2009020100      ; serial
                        3600            ; refresh
                        900             ; retry
                        604800          ; expire
                        86400           ; negative
)
        IN      NS              ns.test.com.
100     IN      PTR             ns.test.com.
100     IN      PTR             test.com.
101     IN      PTR             node-scan.test.com.
102     IN      PTR             node-scan.test.com.
103     IN      PTR             node-scan.test.com.


/var/named/10.168.192.in-addr.arpaの記載内容です。
下3行にscanのレコードが記載されています。

[root@node01 named]# service named restart
named を停止中: .                                          [  OK  ]
named を起動中:                                            [  OK  ]
[root@node01 named]# chkconfig named on


設定後、サービスの再起動、自動起動設定を行ないます。

[root@node01 ~]# cat /etc/resolv.conf
nameserver 192.168.10.100
search test.com


クライアントのresolv.confにDNSサーバのアドレスとドメイン名を記載します。

[root@node01 ~]# nslookup
> node-scan
Server:         192.168.10.100
Address:        192.168.10.100#53

Name:   node-scan.test.com
Address: 192.168.10.102
Name:   node-scan.test.com
Address: 192.168.10.103
Name:   node-scan.test.com
Address: 192.168.10.101

nslookupでscanのホスト名で正引きできるのを確認しました。

LinuxでNTPサーバを構築する方法です
OSのバージョンはRHEL6.4で検証しています。

[root@node01 ~]# yum -y install ntp

NTPがインストールされていない場合はインストールします。

[root@node01 ~]# vi /etc/ntp.conf
# Hosts on local network are less restricted.
restrict 172.17.9.0 mask 255.255.255.0 nomodify notrap

#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server ntp.nict.jp
server ntp.jst.mfeed.ad.jp
server s2csntp.miz.nao.ac.jp


NTPの設定ファイル(/etc/ntp.conf)を編集します。
時刻同期を許可するクライアントの範囲(restrict~)、上位のNTPサーバ(server~)を指定します。

[root@node01 ~]# service ntpd restart
ntpd を停止中:                                             [  OK  ]
ntpd を起動中:                                             [  OK  ]


ntpサービスを再起動します。

[root@node01 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp-a2.nict.go. .NICT.           1 u    8   64    1    4.288  -398940   0.000
 ntp2.jst.mfeed. 133.243.236.17   2 u    7   64    1    3.796  -398940   0.000
 133.40.41.135   133.40.41.133    2 u    7   64    1   15.752  -398941   0.000


ntpq -pコマンドで時刻同期の状態を確認します。
server~で指定したNTPサーバが表示されています。

[root@node01 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp-a2.nict.go. .NICT.           1 u   61   64   17    4.455    1.575   1.111
+ntp2.jst.mfeed. 133.243.236.17   2 u    5   64   37    3.866    2.073   1.379
+133.40.41.135   133.40.41.133    2 u    5   64   37   15.950    1.389   1.411


数分すると左側に「+」か「*」が表示されます。
この表示により時刻同期が行なわれたことが確認できます。

このページのトップヘ