最後の設定になります。
1.root.shスクリプトのバックアップ。(rootユーザー)
cd /opt/oracle/product/11.2.0/dbhome_1
cp -p root.sh root.sh.bak
2.~/.bash_profileの修正。(oracleユーザー)
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
3.現在のターミナルでもこの設定を有効にします。(oracleユーザー)
. ~/.bash_profile
4.Oracle Net Configuration Assistantの起動。(oracleユーザー)
netca
日本語が□で表示されていたら、export LANG=Cを実行すること。
5.ようこそ画面でリスナーの構成を選択し「次へ」
6.リスナー構成 – リスナー画面 で追加を選択し「次へ」
7.リスナー構成 – リスナー名画面ではデフォルトで「次へ」
8.リスナー構成 – プロトコルの選択画面でもデフォルトで「次へ」
9.リスナー構成 – TCP/IPプロトコル画面でもデフォルトで「次へ」
10.リスナー構成 – リスナーを追加しますか画面でいいえで「次へ」
11.リスナー構成 – リスナーの構成が完了画面で「次へ」
12.ようこそ画面に戻るので、「完了」します。
13.Database Configuration Assistantの起動。(oracleユーザー)
dbca
14.ようこそ画面で「次へ」
15.操作画面でデータベースの作成を選択し「次へ」
16.データベース・テンプレート画面でカスタム・データベースを選択し「次へ」
17.データベース識別情報画面で「グローバル・データベース名」「SID」を決定します。
今回は「orcl.mydomain」を「グローバル・データベース名」に設定、SIDは自動で入力されるのでそのまま「次へ」
18.管理オプション画面でEnterprise Managerの構成にチェックをして「次へ」
19.データベース資格証明画面でパスワードを適切に設定し「次へ」
20.記憶域オプション画面、次画面のリカバリ構成はデフォルトの設定で「次へ」
21.データベース・コンテンツ画面で「Enterprise Managerリポジトリ」だけを選択し「次へ」
22.初期化パラメータ画面、次画面のデータベース記憶域はデフォルトの設定で「次へ」
23.作成オプション画面でデータベースの作成にチェックをして「次へ」
24.確認画面で内容を確認の上、OKでDBの作成が開始します。
25.データベースの作成が完了後の画面は控えておくといいそうです。
26.Database Controlへのアクセス
データベース作成の完了画面で表示されているDatabase ControlのURLからアクセスできます。
ユーザー名:sys、パスワード:インストールで設定したパス、接続モード:SYSDBAを設定してログイン。
正常にログインできればこれにてoracleのインストールは完了です!
続いてはインストールの設定になります。
1.セキュリティ・アップデート構成の設定
セキュリティ通知の設定として、Oracle Suportのアカウント情報を入力。
今回はテストなのでチェックを外して「次へ」
2.インストールオプションの選択
真ん中のデータベース・ソフトウェアのみインストールを選択して「次へ」
3.ノードの選択画面
デフォルトで「次へ」
4.言語の選択
日本語を追加して「次へ」
5.データベース・エディションの選択
今回は「Enterprise Edition」を選択し「次へ」
6.インストール場所の指定
OracleベースディレクトリとOracleホームディレクトリを指定しますが、今回はデフォルトにします。
7.インベントリの作成画面もデフォルトで。
8.権限付きオペレーティング・システム・グループ画面もデフォルトで。
9.前提条件チェックの実行画面、インストールに必要なデータ等が揃っているかチェックしています。
10.前提条件チェック結果画面。
正常に設定がうまくいっていれば、パッケージでFailedがあるだけのはずです。
その場合はすべて無視のチェックボックスにチェックを入れて「次へ」
11.サマリー画面、インストールオプションの確認です。確認できたら「次へ」
12.インストール画面、インストール完了するまで待ちましょう。
13.構成スクリプトの実行画面
rootユーザーでのスクリプト実行を促されます。
14.コンソールを起動し、su -でrootユーザーに切り替え、指示されたスクリプトを実行。
root.shはEnter the full pathname of the local bin directory:[ ディレクトリ名 ]と表示されるので、Enterを押す。
15.スクリプト実行後、インストーラーのOKを押して、インストール終了です。
最後に設定をして終了になります。
今回はOracle11gR2をインストールします。
まずは実行に必要なパッケージをyumコマンドでインストールを行います。(rootユーザー)
compat-libstdc++-33
elfutils-libelf-devel
elfutils-libelf-devel-static
libaio-devel
sysstat
unixODBC unixODBC-devel
gcc
gcc-c++
グループとユーザーの作成。(rootユーザー)
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
kernelパラメータの設定。(rootユーザー)
/etc/sysctl.confファイルの修正として、以下を末尾に追加。
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
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
fs.aio-max-nr = 1048576
変更したsysctl.confを有効化。
sysctl -p
/etc/security/limits.confファイルの修正として以下を末尾に追加。(rootユーザー)
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
/etc/profileファイルの修正として以下を末尾に追加。(rootユーザー)
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
ORACLE_BASEディレクトリの作成。(rootユーザー)
mkdir -p /opt/oracle/app
chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle/app
データファイルディレクトリとリカバリファイルディレクトリの作成。(rootユーザー)
mkdir /opt/oracle/oradata
chown oracle:oinstall /opt/oracle/oradata
chmod 775 /opt/oracle/oradata
mkdir /opt/oracle/flash_recovery_area
chown oracle:oinstall /opt/oracle/flash_recovery_area
chmod 775 /opt/oracle/flash_recovery_area
oracleユーザーの環境設定。(oracleユーザー)
~/.bash_profileファイルの修正として末尾に以下を追加します。
export ORACLE_BASE=/opt/oracle/app
現在のターミナルでもこの設定を有効にします。
. ~/.bash_profile
Oracleのページから11gR2の64bit版を落とす。(oracleユーザー)
二つに分割されてるので、両方落とすのを忘れないように。
ダウンロードファイルをunzipコマンドで解凍。(oracleユーザー)
また、mvコマンドでパスに全角文字が含まれていない場所にディレクトリを移動。
runInstallerを起動。(oracleユーザー)
これでインストーラーが起動するが、日本語と思わしき文字が□で文字化けするはず。
文字化けした場合は一度閉じ、export LANG=Cコマンドを実行し再度起動。
そうすればインストーラーが英語表記になるので、インストール設定に進む。
後設定するのは、tomcatとPostgreSQLの設定ファイルだけ。
/etc/tomcat6/tomcat6.confをviコマンドで開き、以下の3行を末尾に追記。
・export JAVA_HOMR=/usr/java/default
・export PATH=$PATH:$JAVA_HOME/bin
・export CLASSPATE=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
# You can change your tomcat locale hereの次の行を以下に変更。
LANG=”ja_JP”
※viコマンドの使い方も調べてね。
PostgreSQLのアクセス制限を設定。
/opt/PostgreSQL/9.1/data/pg_hba.confをviコマンドで開き、
# IPv4 local connections:の次の行を変更。
host all all 0.0.0.0/0 md5
(テスト環境かつ公開しないのでアクセス制限をなしに設定。)
ついでにその他の不要なアクセス制限の設定を解除します。
(当然一般公開するときはしかるべき設定にしてね。)
chkconfig iptables off
/etc/sysconfig/selinuxをviコマンドで開き、
SELINUX=enforcingをSELINUX=disabledに変更。
全て設定後再起動する。
再起動後、コンソール画面を開き、service tomcat6 startを実行。
http://localhost:8080/csc_biz_web/にアクセスすれば問題なく動作する…はず。
そして最後はOracleを導入!
ほとんどデフォルトの設定でインストールしてますけどね。
ここから先はcsc_bizでの動作を目的に設定等を行っていきます。
まずはWindowsでデータやソースの移行。
1.system_ja_JP.propertiesファイルをlinux環境用に修正。
db.url=jdbc:postgresql://127.0.0.1:5432/csc_biz_web
windowsのLOG_NORMAL_FILE_NAMEを#でコメントアウト。
linuxのLOG_NORMAL_FILE_NAMEの#を外す。
/var/lib/tomcat6/webapps/ROOT/WEB-INF/logs/normal.logと修正。
2.移行のためにwar形式にデプロイ。
プロジェクトを右クリック→エクスポート→web→warファイル。
3.DBも移行…今回は簡単にpgAdminを使ってバックアップを生成するだけ。
4.作成した2ファイルをlinux環境へ転送。(winSCPとかf2youとかお好みで)
Linux上での設定。
1.DBの設定として、メニュー→アプリケーションからpgAminを立ち上げる。
2.オブジェクトブラウザに表示されているPostgreSQL9.1を右クリック→プロパティ
3.表示されたウィンドウの名前をcsc_biz_webに変更しOK
4.接続する。パスワードはインストール時に設定した値。
5.データベースを右クリック→新しいデータベース。
6.名前にcsc_biz_webを入力してOK。
7.作成したDBを右クリック→リストアー。
8.windows環境から持ってきたバックアップファイルを指定してOK
9.リストアーが終了したら、ログインロール右クリック→新しいログインロール
10.ローカル名、パスワードにsystem_ja_JP.propertiesのdb.userとdb.passwordの値を入力しOK
11.windows環境から持ってきたwarファイルを/var/lib/tomcat6/webapps/直下に置く。
次の後編を設定すれば、linux環境のcsc_biz_webが動作するよ!
OSのインストールが終了したところで、続いて設定。
1.ネットワークに接続されていないため接続設定をする。
メニューバーのシステム→設定→ネットワーク接続 を選択。
system eth0を選択して編集。
「自動接続する」にチェックをして「適用」で終わり。
2.システムファイルやインストールしたデータのアップデートを行う。
デスクトップ上を右クリック→端末の中に開く を選択してコンソール画面を表示。
yum -y updateコマンドを実行しアップデートする。(-yオプションは確認をすべてYESで実行を指定する)。
3.必要なパッケージのインストール
yum -y install unzip java tomcat6 tomcat6-webapps
上記のコマンドでjavaとtomcat、ついでにzip解凍用パッケージのインストール。
jdkはダウンロードしてきてください。
今回動作させるwebアプリのjdkのバージョンが1.6なので「jdk-6u33-linux-x64.bin」をダウンロード。
ダウンロード後はchmodで権限を指定。
ディレクトリ名/jdk-6u33-linux-x64.bin で解凍されるので、解凍後のjdkディレクトリを/usr/java/にmvコマンドで移動すること。
※:chmodやmvコマンドで何を入力すればいいかは調べてね。
最後にpgAdminをインストール。
pgAdmin単品が見つけられなかったので、PostgreSQLをインストールするついでに入れることに。
サイトからPostgreSQL 9.1.4-64bit版のインストーラーをダウンロード、同じくこれもchmodで権限の設定。
ディレクトリ名/ファイル名でインストーラーが立ち上がるので、インストールをするだけ。
TOMCATの設定やらPostgreSQLの設定やらは後編に続きます。
Linuxのテスト環境用サーバーを構築するとのことなので、やらせていただくことに。
まずはOSのインストール、今回はCentOS6.2の64bitを使用。
1.初期表示画面で「Install system with basic video driver」を選択。
2.ディスク読み込み後にDisc foundというダイアログが表示されるので、Skipを選択
ここでは、ディスク内のデータが正常かのチェックをするかの確認とのこと。
OKを選択すると30分ほどかかるとか…。
3.CentOSの画面が表示される。以降の動作はすべて画面右下にある「次へ」で遷移する。
4.言語の選択画面が表示される。適切な言語を選んで「次へ」。
5.同画面が選択した言語で再表示されるので、「次へ」。
6.次の画面はデフォルトの「Basic Storage Devices」を選択して「次へ」。
6.5.既にCentOSがインストールされている場合は、表示される画面で新規インストールを選択して「次へ」。
7.ホストネームはデフォルト、次のタイムゾーンもデフォルトを指定。
8.rootパスワードの設定、常識の範囲内でご自由に設定。
9.HDDのパーティションの設定画面では「Use All Space」を指定して「次へ」。
10.警告が表示されるが、Discフォーマットの確認なので「Write Changes disk」を押下して「次へ」。フォーマットが開始される。
11.フォーマット後の画面でインストール設定。デフォルトのMinimalを指定し、画面下部にある「今すぐカスタマイズ」を選択して「次へ」。
12.ここで追加インストールするデータを設定する。
・アプリケーション-インターネットブラウザ。
・デスクトップ-KDEデスクトップ、X window System、デスクトップ、汎用デスクトップ、font。
・データベース-4種すべて。
上記をチェックして「次へ」でインストールが開始される。
13.インストール完了後、再起動を求められるので、再起動。
自分の場合は、上記の設定でGUI画面でようこそ画面が表示された。
14.利用規約を熟読して利用規約に同意し「進む」。
15.ユーザーの作成だが、しばらくはrootアカウントで設定するため、用途に合わせて設定、不要であれば未入力で「進む」。
16.日付と時刻はそのままで「終了」。
17.ログイン画面に遷移するので、その他からrootでログイン。
以上でCentOSのインストールが完了。
最近postgresで作られたWEBシステムをSQLServerへ移行中のこと
Date型に登録したデータが表示されない。
DBには登録されていたからデバッグで取得した値を確認してみると…
「yyyy-MM-dd」で取得していた
…ぇー
直後に整合性チェックで「yyyy/MM/dd」のみ取得するという処理だったのが原因
じゃあDateTime型の日付も「yyyy-MM-dd」として取得するのかと思ったら
「yyyy/MM/dd」
…ぇぇー
postgresなら両方とも日付は「yyyy/MM/dd」なのに…
軽く調べてみるとJava言語型は全く同じだった
JDBC型が違うのかな?出てこなかった。
とりあえず整合性チェック時に「yyyy-MM-dd」でもOKなように修正して対応しようかな。
明日はセミナーや講習会を行っている会社さんがその内容の詳細をお話に来ますが、電アポ時にあまりにもそれでいいの?って感じで話してきたのでどんな内容になるのか少し期待しています。
…電アポしてきた人が来るとは限らないのですけどね。
今回はこの電アポについてなるほどと思ったことがあったのでちょろっと書いておこうと思います。
1、声の大切さ
こと営業に関しては、初対面の、特に電話越しともなると相手に与える印象がこうも違うんだなと
2、最低必要時間
長くても相手に響く説明が出来なければ意味がないが、短すぎるのも意味がない。30秒、1分ではせいぜい資料を渡すしか出来ない。
何分までなら確実にすべて説明できるかを決めておいた方がいいなと
最後に今回の電話で一番疑問に思ったこと
当然会うことになれば日程を決める必要があるわけだけれども、いつでも大丈夫と言っておいて確認が必要だったのはどうなんだろう?
確認してる時点で大丈夫じゃないじゃないかと
技術や知識も大切だけれども、こういう電話を受けると人間力もしっかりと身につけておく必要があるなと思いました。
いろいろありまして、ブログ開始が遅くなりました。
これからはいろんなことを書いていきます。