Rails 5.1 + jQuery

Rails 5.1 で jQuery のサポートがなくなったということで、あれこれ動かなくなってしまう場合があります。

Gemfile にjquery-railsを追加します。

app/assets/javascripts/application.js をこのように修正しましょう。

とりあえず5.0と同じように使いたいときの急場凌ぎということで。

44歳

12日に44歳になりまして。ブログは1995年からやってたんですけど、中断があったり移転したりでぼちぼちですね。

技術的なネタでちょっと残しておきたいなーというのをまとめようかなと思ってます。

 

 

Cloud Control 13cR2 + RMAN + Data Guard 12cR1

昨日作った Cloud Control で Data Guard をやってみます。

ターゲットの認識から。

こんな感じで認識できればOKです。ora1 (192.168.0.9) と ora2 (192.168.0.10) の2台で、それぞれいくつかデータベースを作りました。

 

コンテナデータベースとして作った orcl を選んで、可用性からスタンバイ・データベースの追加に進みます。

フィジカルスタンバイを作ろうとしたらNOARCHIVELOGモードだと言われました。ふむふむ。

無事アーカイブログモードに出来ました。

リカバリカタログの設定もしてみます。rc データベースをリカバリカタログにします。

マニュアルはこちらですね。

http://docs.oracle.com/cd/E57425_01/121/BRADV/rcmcatdb.htm#GUID-E836E243-6620-495B-ACFB-AC0001EF4E89

RMAN で接続してリカバリカタログを作ります。

バックアップが取れて管理されることも確認してみますか。

無事 RMAN も使えるようになったということで、本題の Data Guard に戻ります。orcl データベースのフィジカルスタンバイを作ります。

ora2 (192.168.0.10) の同じ場所に作るという形にしてみました。

ジョブを起動したらのんびり待ちです。これがまた緊張するんですよね… Platinum 試験だと時間がないんですよ。ドキドキします。練習して心構えだけでもしておきましょう。

無事終わったら「Data Guardサマリー」に出てきます。

いったんここまで。

 

Enterprise Manager Cloud Control 13c R2 を入れてみる

  • Oracle Linux 6.9 をインストール
  • yum update で更新
  • 必要なモジュールのインストール
  • ユーザやグループの作成
  • OSやカーネルのパラメータ設定
  • Oracle Database 12c R1 をインストール
  • テンプレートからDB作成
  • EMCC 13cR2 をインストール

ダウンロードはこちらからです。

http://www.oracle.com/technetwork/oem/enterprise-manager/downloads/index.html

(参考文献)

仮想マシンには 2CPU + 16GB RAM + 100GB HDD を割り当てました。ディスクは最低でもこれくらい必要そうです。

まずは必要なモジュールのインストールから。

oracle-rdbms-server-12cR1-preinstall は結構あれこれやってくれます。

/etc/hosts を設定。

oracle ユーザのパスワードを変更。

インストール先のディレクトリを作成。

iptables を停止。

最後に、/etc/selinux/config を設定して再起動。enforced では動かないようです。

再起動したら Oracle Database のインストール。software only で入れます。

EMCC用のDBのテンプレートを展開します。

dbcaを起動します。

データベースの作成 → 拡張モード の次の画面でテンプレートが選択できるようになります。

ここでは Small Deployment を選んでみました。

グローバルデータベース名やSIDは emrep に。管理オプションは指定せずに作ります。

ディスク容量はきついので /home 以下にデータファイルを置くようにしました。

リスナーを作ります。

文字コードは AL32UTF8 にしないとダメなようです。

DBが出来上がったら一段落です。oracleユーザの ~/.bash_profile で環境変数を設定しておきましょう。

ようやく準備が出来たので、本題の EMCC のインストールをします。zipが7つに分かれていますが、1つ目のbinに実行権限をつけて実行することで始まります。/u01 には 30GB 以上の空きを確保しておきましょう。

前提条件のチェックで、ip_local_port_range を 11000 – 65000 にしてくれと怒られました。修正して「再実行」します。

インストール・タイプは「簡易」で。

インストール先は /u01/app/oracle/ 以下にそれぞれ設定しました。

パスワードやDBへの接続情報を設定します。

BI Publisher はオプションらしいので外しました。

結構な時間がかかります。ディスクあふれに注意しながら、のんびり待ちます。

1時間少々で終わりました。

https://インストールしたサーバ:7802/em にアクセスしてログインできます。

 

起動と終了はこちらで紹介されているスクリプトが便利です。

https://oracle-base.com/articles/13c/cloud-control-13cr1-installation-on-oracle-linux-6-and-7

/etc/oratab にはDBの自動起動/終了の設定を書いておきます。

起動スクリプト。

終了は逆ですね。

 

42歳

ふぅ。早いもんですねぇ。

毎年ですが誕生日くらいは自分で盛り上げていくようにしてます。

CentOS7 PostgreSQL

MySQLの記事はたくさんあるので、PostgreSQLを入れてみます。

インストールから。ついでなので -devel も入れました。

サービス名は postgresql ですか。

起動する前にDBを作成します。スクリプトがくっついてきてるんですね。

これで起動するはず。enableにもしておきます。

DBにログインするには初期設定では postgres ユーザになる必要があります。

Ruby on Rails から使えるように、一般ユーザ向けのスキーマを作成してみました。

無事作成できたので、sugimuraユーザからアクセスしてみます。

 

CentOS7 で Rails

gem install rails でインストールして rails new → rails server すれば起動というのはもう省略しときます。

問題なのはfirewallですね。iptables の上に firewalld というのがかぶさっているようです。まずは firewalld が動いていることを確認。

設定は firewall-cmd で行います。

この services に追加していくみたいですね。定義ファイルに書いてから追加のようです。/usr/lib/firewalld/services/ 以下にXMLで作ります。ここでは rails-webrick.xml として 3000/tcp を定義するように作ってみました。

定義ファイルを書いたら、reload すると一覧に出てきます。

有効にしてみます。

iptables でも確認することができます。

ここまで設定できれば、ブラウザからアクセスしてみるといつものWEBrickの画面になることが確認できるかと思います。

CentOS7-Rails

(参考文献)

 

CentOS7 で Ruby

CentOS6.4の頃 とほとんど同じですね。git は Development Tools に入っているようです。まずはrootにてパッケージをインストール。必要なライブラリに libffi-devel が追加になっています。

今回もRubyは一般ユーザで入れてみます。

login し直して rbenv を叩きます。install にはしばらく時間がかかります。build のログは /tmp/ruby-build.*.log に出ているので、眺めていてもいいでしょう。

KVM

libvirt 管理下にある KVM の場合、virsh で仮想マシンを扱います。よく使うのはこんな感じ。

  • virsh list … 起動中の仮想マシンの一覧
  • virsh list –all … すべての仮想マシンの一覧
  • virsh start [VM名] … 起動
  • virsh shutdown [VM名] … 停止
  • virsh reboot [VM名] … 再起動
  • virsh console [VM名]  … コンソール接続
  • virsh edit [VM名] … 設定ファイルの編集
  • virsh undefine [VM名] … 定義削除 

実際の例を挙げてみます。

仮想マシンの定義ファイルは /etc/libvirt/qemu/ の下に XML ファイルで置いてあるんですが、直接編集したときは libvirtd を再起動しないと有効にならないようです。virsh edit [VM名] ならすぐ反映されます。

この定義ファイルの最初に <domain type=’kvm’> となっている場所があります。CentOS5で試したときはこれが type=’qemu’ になってしまうことがあり、動作がかなり遅くなって困りました。いまはデフォルトで type=’kvm’ になっているようです。

 

 

 

CentOS7 KVM

KVMで遊んでみます。

カーネルモジュールを確認します。

libvirtd を有効にします。CentOS7 からsystemdなので、流儀が違いますね。/usr/lib/systemd/system 以下に起動スクリプトが入っているそうなのですが、設定ファイル風なので慣れるまでは時間がかかりそうです。

サービスの一覧を取得して確認し、enabled にします。

起動しておきますか。

systemd周りはまだよくわからないので、後でまとめておきます。

KVMではゲストOSのネットワークにブリッジを使うので、あらかじめ設定します。これもだいぶ流儀が違いますね。

既存のネットワークインタフェースを消して繋ぎ直します。まず ip addr でインタフェース名を取得します。いまどきは ifconfig は使わないんですよね。

eth0 とかではなく eno16777736 なんですね。なんでこんなことになってるのかわかりませんが、これを削除して後から繋ぎ直します。remoteから入っているときはここで切れちゃうので要注意です。

再度 ip addr で確認してみます。br0 にアドレスが付いていて、インタフェース側は master br0 となっていればOKです。

これでまた外からsshで繋げられるようになったので、作業もやりやすくなります。

ようやく仮想マシンを作成できるようになりました。あとはこれまでのやり方と同じですね。

(参考文献)

いったんここまで。