...

Miracle Linuxとは - OTN

by user

on
Category: Documents
1

views

Report

Comments

Transcript

Miracle Linuxとは - OTN
Oracl8i on Miracle Linux
導入の勧め
Page 1
1
Ajenda
Miracle Linuxとは
Linux + Oracleのシステム構成例
Miracle Linuxインストール
Miracle Linux管理の基礎
∼ 休憩∼
• Oracle8i for Linuxインストール
• Oracle8i for Linux 管理の基礎
• Tips & Technique
•
•
•
•
このセミナーの対象としている方
•
•
•
•
Miracle Linuxについて知りたい方
Oracle8i for Linuxの導入を検討している方
これまでWindows 版のOracle しか経験のない方
Oracle の基本的知識がある方
Page 2
2
ミラクル・
リナックス株式会社とは
• 品質と信頼性を追求したビジネス用Linuxディストリ
ビューションを開発する会社
• 日本オラクル社の戦略的子会社
–
–
–
販売、サポート経路として日本オラクル社が協力
世界で一番オラクルを理解した Linux企業
米国Oracle社との共同サーティフィケーション体制
• 出資会社(
NEC,OBC, ターボリナックスジャパン,
大塚商会、etc)
との協業
OSとDBMSの1ストップサポート
の実現
今までは...
これからは...
DBの会社
DBの会社
エンドユーザー
エンドユーザー
OSの会社
OSの会社
Page 3
3
Miracle Linuxとは
•
•
•
•
•
製品コンセプト
特徴
おもなソフトウェアのバージョン
対応するOracleのバージョン
ロードマップ
コンセプト
• Oracleデータベースでの利用を
メインターゲットとしたサーバー専
用Linuxディストリビューション
• ビジネス用途に耐えうる、高品質・
高信頼性
Page 4
4
Miracle Linux Standard Edition
製品名】
• 【
–
Miracle Linux Standard Edition V1.0
(ミラクル・リナックス スタンダードエディション)
製品価格】
• 【
–
50,000円
特徴
• Oracle に最適なインストールメニュー
–
Oracleデータベースでの利用を考え、用途に応じて
最適なパッケージをインストール
• Oracle インストール支援ツールの搭載
–
グラフィカルで直感的なインターフェイスを利用して
難しいOracleのインストールを大幅に簡略化
• RAW I/O, 4GB メモリのサポート
–
パフォーマンス向上のため、アプリケーションが直接
ハードディスクにデータを書き込むことを可能にする
Page 5
5
特徴
• プリチューンされたカーネルパラメータ
–
あらかじめ Oracle の使用に適したカーネルラメータが
設定してあるので、面倒なカーネル再構築作業は不
必要。またダイナミックに変更することも可能
• セキュアなサーバー構築を支援
–
セキュリティホールとなりやすいポートやサービスを
、初期設定で閉じているので、より安全なサーバーを
構築可能
• あらかじめOracle8i用にコンパイルされたPHP
–
インストールしたらすぐにApache + PHP でプログラミ
ング可能
おもなソフトウェアのバージョン
•
•
•
•
•
•
kernel 2.2.16
glibc 2.1.3
XFree86 3.3.6
Apache 1.3.12
Samba 2.0.7
PHP 3.0.15 (
Oracle 用にコンパイル済み)
Page 6
6
対応するOracleのバージョン
• Oracle 8i R8.1.5
• Oracle 8i R8.1.6
※Oracle8i R8.1.7 については、リリース後すぐに
V1.0で対応予定
※既存のユーザーに対しては、Install Navigator for
Oracle のR8.1.7対応版をフリーダウンロード予定
ロードマップ
• 2000/9 Miracle Linux SE V1.0 出荷開始
• 2001/1H Miracle Linux SE V1.1 出荷予定
–
セキュリティパッチ、バグフィックス
• 2001/2H Miracle Linux SE V2.0
–
–
–
kernel 2.4対応
IA64
Large File System, Logical Volume Manager,
Journal File System, etc
Page 7
7
システム構成例扉
システム構成例
システム構成例
•
•
•
•
Webシステム1
Webシステム2
Webシステム3
C/Sシステム(従来のシステム)
Page 8
8
Webシステム1
• もっとも一般的なWebシステム
Apache
PHP
Linux
HTMLファイルへの
PHPスクリプト埋め込み
Browser
Webシステム2
• Oracle HTTP Server を使用(
R8.1.7以降)
Oracle HTTP Server
Linux
・Javaストアドプロシージャ
・Servlet
・EJB
・Java Server Pages
・PL/SQL Server Pages
Browser
Page 9
9
Webシステム3
• 大規模システム
Load Balancer
Browser
iAS
Linux
Oracle8i
Solaris, HP-UX,AIX,etc
Many Web Server
Fat DB Server
C/Sシステム
• 従来のシステム
Oracle8i
Linux
VB,Developer ・ODBC
・OLE-DB
Windows
・etc
C/S Application
DB Server
Page 10
10
Miracle Linux
インストール
Miracle Linuxインストール
•
•
•
•
•
ハードウェア選定のポイント
インストールのためのハードウェア要件
インストール前の準備
パーティション分割方法の検討
Miracle Linuxインストール
Page 11
11
ハードウェア選定のポイント
• 実績のあるハードウェアを使用する
–
ハードウェア互換リストをチェック
http://www.miraclelinux.com/support/hardware.html
–
新しいチップセットとグラフィックスカードには注意
FTP)版を試してみるのも1つの手
トライアル(
–
• Linux 自体は軽いが、Oracle を快適に動作させる
ためには新しいハードが良い。メモリも多めにつ
んでおくこと。
Miracle Linux + Oracle8iの
インストール要件
:
CPU
Pentium 200MHz 以上
メモリ :
推奨256MB以上)
128MB以上(
:
HDD
2GB 以上
スワップ領域:
搭載メモリの2倍もしくは400MBの
大きいほう
• CD-ROM ドライブ
•
•
•
•
Page 12
12
インストール前の準備
• ハードウェア情報の収集
–
–
メモリサイズ、チップセット、BIOS、ハードディスク構
成、ビデオカード、CRT、ネットワークカードなど
CD-ROMブートの確認
• ネットワーク情報の収集
• 起動ディスク用のブランクディスケットの用意
• ディスクのパーティショニング方法の検討
パーティション分割方法の検討
• パーティションとは
• OSによる違い
–
–
DOS/Windowsの場合
Linuxの場合
• パーティション分割のメリット
• パーティション分割の候補
• 設定例
Page 13
13
パーティションとは
• パーティションとは、1つのディスクドライブ上で論
理的に分割された各領域のこと。
• UNIX/Linux 初心者にとって、パーティション分割
は悩ましい問題。
OSによる違い
• DOS/Windowsの場合
–
DOS/Windowsでは、パーティションごとにCやDなど
とドライブ文字を割り当て、それらを並列に使用して
いた。
• Linux/UNIX の場合
–
各パーティションをマウントし、一つのディレクトリツリ
ーとして管理する。
/tmp
ルート)
/(
swap
Page 14
14
パーティションとは
• 1つのディスクは最大4つのパーティションに分割
でき、これらの情報はMBR (
ディスクの一番最初
のセクタ)
内のパーティションテーブルに格納され
ている。
• パーティションテーブルに登録されているパーティ
MBR
ションを基本パーティションという。
パーティション1(
基本)
パーティション2(
基本)
パーティション3(
基本)
パーティション4(
基本)
パーティションとは
• 4つ以上のパーティションが必要な場合には、そ
のうち1つを拡張パーティションにできる。
• 拡張パーティションの中には、ディスクのタイプに
よって複数の論理パーティションを作成できる。
–
–
MBR
IDE:パーティションの合計数 63個
パーティション1(
基本)
SCSI:パーティションの合計数 15個
パーティション2(
拡張)
論理パーティション
論理パーティション
Page 15
15
パーティション分割のメリット
•
•
•
•
ファイルシステム障害の局所化
ディスク容量不足によるトラブル防止
性能劣化の防止
複数OSの共存
–
Miracle Linuxはサーバー用途なので、テスト目的以
外ではマルチブートは推奨できない
• ただし初心者が適当に分割すると、あとで容量不
足で困ることがある
パーティション分割の候補
• swap
–
仮想記憶のスワップの領域。
• /boot
–
–
–
Linux の起動に必要なファイルが格納される。
BIOSの仕様や不具合により、別パーティションにして、なるべく
ディスクの先頭のほうにしたほうが良い。
15MBから32MB
• /(ルート)
–
–
–
ファイルシステムのトップになるディレクトリ。
他のパーティションとの兼ね合いがあるので一概にサイズは決
定できない。
ディスクが1台しかないマシンでは、swapとルートだけでもOK。
Page 16
16
パーティション分割の候補
• /home
–
–
ユーザーのホームディレクトリとなるため、ユーザーデータなど
が置かれる。
別パーティションにしておくと、OSをそのまま入れ替えできるの
で便利。
• /usr
–
プログラムやライブラリが置かれている。
• /var
–
システムのログやスプールなどが置かれている。サーバーだと
、128MBから1GB 。
• /tmp
–
一時ファイル用のディレクトリ。サーバーだと、64MBから128
MB。
設定例
• ディスク1台の場合- 1
–
–
–
よくわからないときにはこれでもOK
swap
400MB
/(ルート) 残り全部
• ディスク1台の場合- 2
–
–
–
–
–
swap
/boot
/(ルート)
/u01
/u02
400MB
32MB
2GB
1GB(Oracleのモジュールのみ)
Oracle のデータファイル)
残り全部(
Page 17
17
設定例:
オートパーティショニングモ
ード(
for Oracle)
• オートパーティショニングモードでは、搭載ディス
クの台数と容量で、自動的に分割方法を決定す
る。
• ディスク1台の場合
Ÿ
Ÿ
Ÿ
Ÿ
swap
/boot
/
/u01
400 MB
15 MB
2 GB
残り全て
インストールの手順
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
インストーラーの起動
ネットワークの設定
ディスクパーティションの設定※
インストールモジュールの選択※
ブートディスクの作成
X Window Systemの設定※
このセッションでは※についてだけ説明します
Page 18
18
インストーラーを起動する
• CD-ROM をセット
して、PCを起動
• あとは、好みに合
わせてリターンを
たたくだけ
• CD-ROM ブートが
できない機種は、
FDでブート
パーティションの分割
• 上級者は、間違い
なくマニュアルモ
ード
• 分割方法の詳細
は後述
Page 19
19
オートパーティショニングモード
• オートパーティショニングモード(
for Oracle )
–
–
–
搭載ディスク数に応じて、OFAを意識したパーティシ
ョン分割を行なう
既存のパーティションはすべて削除される
Linux専用マシン&初心者向け
• オートパーティショニングモード(
Normal)
–
–
搭載ディスク数に応じて、一般的なパーティション分
割が行なわれる
既存のパーティションはすべて削除される
インストールモジュールの選択
• 多機能サーバを
選ぶこと
• 不要なモジュール
は停止しておけば
よい
• 選択によっては、
Xがインストールさ
れない
Page 20
20
インストールメニュー
• 多機能サーバ
–
ほとんどすべてインストール。推奨。
• 標準的オラクル RDBMS 用サーバ
–
Oracleの利用に適した、もっとも一般的な構成。
ApacheやSambaはインストールされません。
• Apache 利用オラクル RDBMS 用サーバ
–
Oracle とApache を利用するときに適した構成。
• Samba 利用オラクル RDBMS 用サーバ
–
OracleとSamba を利用するときに適した構成。
インストールメニュー
• オラクル RDBMS 用最小構成サーバ
–
データベース専用サーバなど、運用サーバとしての
利用に適した構成。X Window System はインストー
ルされないので、Oracle8i のGUI インストーラを使う
ためには、他のコンピュータの X Window Systemを
利用する必要がある。
• 最小構成サーバ
–
ファイヤウォールなど、最小構成のLinuxサーバを構
築するときに適した構成。
Page 21
21
インストールメニュー
• パッケージ選択
–
あらかじめ用意されたインストールタイプでなく、独自
の構成にしたい場合に選択。
• パッケージリスト
–
あらかじめ用意したパッケージリストを使ってインスト
ールしたい場合に選択。
• インストールされるパッケージの詳細は次のURL
を参照。
http://www.miraclelinux.com/tech/index2.html
色数の選択
• 16bpp(Bit Par Pixel)
=65536色がお勧め
Page 22
22
ログイン方法の選択
• 運用サーバーなら
迷わずテキストロ
グイン
• 運用時にXは不要
なので、グラフィカ
ルログインはメモリ
のムダ使い
•
Miracle Linux
管理の基礎
Page 23
23
Miracle Linux管理の基礎
とTCP Wrapper
• スーパーサーバー(
inetd)
• 基本サービスを使えるようにする
–
•
•
•
•
•
telnet, ssh, FTP
RPM
Miracle Tools
HDE Linux Controller
コンパニオンCDの使い方
パッチの適用
inetd とTCP Wrapper
は、telnetやftpなどのデ
• スーパーサーバー(
inetd)
ーモンプロセスを、必要に応じて起動する
• デーモンの
効率的な起動と
セキュリティの
確保が目的
inetd
sshd
httpd
telnet ftp
Page 24
24
スーパーサーバー(
inetd)
• 設定は/etc/inetd.confで行なう
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
• 有効にする方法
–
コメントアウトされているときには外す
#Ÿ vi /etc/inetd.conf
–
inetdを再起動する
# killall HUP inetd
TCP Wrapper
• tcpdは、目的のサーバープログラムを安全に実行
するためのアクセス方法を提供する
• Miracle LinuxはDeny ALLプローチ
• tcpd の設定ファイル
–
–
/etc/hosts.allow
/etc/hosts.deny
許可するホスト
許可しないホスト
• 設定ファイルの書式
–
[ daemon_list ] : [ host_list ] (: [ command ])
Page 25
25
TCP Wrapper
• Miracle Linuxでは、セキュリティ強化のためにデ
フォルトは /etc/hosts.denyがALLになっている
# less /etc/hosts.deny
ALL: ALL
• telnetやftp を使うためには/etc/hosts.allow を編集
する必要がある
# less /etc/hosts.allow
in.ftpd : 192.168.0.1 192.168.0.2
in.telnetd : ml10.miraclelinux.com
ALL: 192.168.0.
telnetを使えるようにする
• /etc/inetd.confを確認する
–
# vi /etc/inetd.conf
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
–
コメントアウトされていたときはinetdを再起動
• /etc/hosts.allowにエントリを追加
in.telnetd : 192.168.0.1
Page 26
26
sshとは
•
•
•
•
•
sshはセキュリティを強化したリモートログイン方式
telnetやrshとは異なり通信が暗号化される
バンドルされているのはフリーのOpenSSH
telnetよりも、こちらを推奨
Windows 版のプラグインモジュールもある
ssh
∼サーバーの設定∼
• sshdが動作していることを確認
–
–
デフォルトで起動済み
# ps ax | grep sshd
• /etc/hosts.allowの編集
–
sshはinetdを経由しない
• 接続方法
–
$ ssh ユーザー名@ホスト名
Page 27
27
ssh
∼Windows クライアントを使う∼
• Tera Term Pro
–
–
定評あるターミナルエミュレーター
http://hp.vector.co.jp/authors/VA002416/
• TTSSH
–
Tera Term のSSH拡張モジュール
http://www.zip.com.au/~roca/ttssh.html
–
インストール方法
–
Ÿ 解凍してできた3つのファイル(
ttssh.exe, ttxssh.dll,
libeay32.dll)
をTera Termのディレクトリへコピー
Ÿ Tera Termのリンク先を「
ttssh.exe 」
に変更
FTPを使えるようにする
• /etc/inetd.confを確認する
–
# vi /etc/inetd.conf
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
–
コメントアウトされていたときはinetdを再起動
• /etc/hosts.allowにエントリを追加
in.ftpd : 192.168.0.1
Page 28
28
RPM
• ソフトウェアの配布形式のひとつで、Red Hat社が
開発
• 多くのLinuxディストリビューションで採用され、
もっとも普及している
• 特徴
–
–
–
インストール、アンインストール、アップグレードが簡単
パッケージの依存関係も管理
バイナリパッケージとソースパッケージの2つの形式
RPMの使い方1
Intel系プログラムの
バイナリパッケージ
• パッケージのインストール
–
–
rpm -ivh パッケージファイル名
例)# rpm -ivh apache-1.3.12-6.i386.rpm
• パッケージのアップグレード
–
例)# rpm -Uvh apache-1.3.12-6.i386.rpm
• パッケージの削除
–
例)# rpm -e apache
• Miraclepkgを使えば、メニュー形式でも操作可能
Page 29
29
RPMの使い方2
• インストールされているパッケージの検索
–
例)# rpm -q apache
# rpm -qi apache
• インストールされていないパッケージの情報表示
–
–
例)# rpm -qip apache-1.3.12-6.i386.rpm
# rpm -qi l
p apache-1.3.12-6.i386.rpm
Miracle Tools
• miraclenetcfg
–
ネットワークの設定
• miracleprintcfg
–
プリンタの設定
• miraclepkg
–
パッケージの追加/削除
• miracleservice
–
サービスの起動/停止
• miracleportcfg
–
inetdのポート管理
Page 30
30
HDE Linux Controller
• HDE Linux Controllerはブラウザベースの
システム管理ツール
• Miracle Linux Standard
Edition V1.0にバンドル
コンパニオンCD
• コンパニオンCDには、有償ソフトウェアやノンサ
ポートのプログラムが入っている
–
–
–
–
–
–
ATOK12
Adobe Acrobat Reader
HDE Linux Controller
Netscape Communicator
TrueTypeフォント5書体
JRE
• Miraclepkgでインストール可能
• 詳細はindex.html参照
Page 31
31
パッチの適用
• Linuxのメリットは、結構頻繁にセキュリティパッチが出る
こと。
• 各パッケージのバージョンアップも商用アプリケーションに
比べれば多い。
• ミラクル・リナックス社では、Webサイトでパッチやアップデ
ートモジュールを提供している。有償サポート契約ユーザ
ーへはCD-ROM での提供もあり。
–
http://www.miraclelinux.com/support/index.html
• ただしバージョンアップすると、設定ファイルの仕様が変
わってしまい、以前の設定ファイルが使えなくなることが
あるので注意。
Trouble Shooting
• メモリが認識されない
–
搭載メモリが認識されているか確認
# cat /proc/meminfo
–
認識されていない場合はliloの設定を変更。詳細は
サポートのFAQを参照
• CD-ROM でブートできない
–
CDブートできるようになっているか、BIOS を確認
Page 32
32
Oracle8i for Linux
インストール
Oracle8i for Linuxインストール
•
•
•
•
•
•
OFAの理解
インストール手順
Install Navigator for Oracle
環境変数を設定する
JRE(
Java Runtime Environment)
Oracle8i for Linuxのインストール
Page 33
33
OFA
(
Optimal Flexible Architecture)
• OFAは、Oracleのインストール位置やファイルの
命名に関する指針
• Oracle8iからは、Windowsでもデフォルトに
• 一台のコンピュータに複数バージョンのOracleを
導入するときや、たくさんのディスクドライブを使
用する大規模データベースでは特に有効
• 必要条件ではないが、このガイドラインに沿うと管
理が楽になる
OFAの例
• /u01 マウントポイント
/app/oracle/
ORACLE_BASE
/app/oracle/product/8.1.6 ORACLE_HOME
/app/oracle/admin/<SID> init.ora,etc
データファイル
• /u02/oradata/<SID>
データファイル
• /u03/oradata/<SID>
データファイル
• /u04/oradata/<SID>
Page 34
34
インストール手順
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
swap領域の確保
カーネルパラメータの調整
インストール先のディスクにマウントポイント作成
Linux グループの作成
Linux ユーザーの作成 インストーラーを起動するまでに
やるべきことはたくさんある
環境変数の設定
Oracle8iのインストール
Linux版のインストールは難しい?
• Windows NT/2000 では、2から6の作業は不要。
• Windows 版しか経験してないと、Linux/UNIX版
のOracleのインストールに、何日もかかってしまう
こともある。
• インストール作業は、システム開発における本質
的な作業ではないので、簡単にできるにこしたこ
とはない。
Page 35
35
Miracle Linuxの場合は
• インストーラーを起動するまでの作業をほぼ自動化。
Windows 版と同じ感覚でインストール可能。
• 1.swap領域の確保
–
「オートパーティショニングモードfor Oracle」を選択したと
きには、デフォルトで400MBを確保
• 2 .カーネルパラメータの調整
–
チューニング済み
• 3 .マウントポイントの作成
–
オートパーティショニングモードでは作成済み
Install Navigator for Oracle
• Oracle のインストー
ル支援ツール
• 4から6までを
自動化
• rootユーザーでロ
グインして、
GNOME メニュー
から起動
Page 36
36
Install Navigator の役割
•
•
•
•
•
マウントポイントの権限変更
グループの作成(
oinstall, dba)
Oracle オーナーの作成
環境変数の追加
Oracle Universal Installer の起動
インストール作業の大幅な簡略化
JRE(Java Runtime Environment)
•
•
R8.1.5 では、インストーラーを動かすために別途
JREが必要
R8.1.6, R8.1.7では、メディアにJREが含まれてい
るので不要
•
製品版ではコンパニオンCDに入っている
# rpm -Uvh jre-1.1.6v5-2.i386.rpm
•
Webからダウンロード(http://www.blackdown.org)
# tar zxvf jre_1.1.6-v5-glibc-x86.tar.gz
# ln -s /usr/jre116 /usr/local/jre
Page 37
37
インストーラーの起動
このセッションでは、ポイントとなる
画面だけについて説明します
• R8.1.5,R8.1.6は日本
語表示はノンサポー
ト。Install Navigatorを
使わない場合は次の
ようにする
$ export LANG=C
$ export LC_ALL=C
$ cd /mnt/cdrom
$ ./runInstaller &
Oracleをインストールする
UNIXグループの指定
• Oracle をインストー
ルするユーザーの
プライマリグループ
を指定
• 通常はoinstall
Page 38
38
インストールタイプの選択
• 英語モードでインス
トーラーを動かして
いるときには、必ず
「
Custom」を選択
• そうしないと日本語
のリソースをインス
トールできない
コンポーネントの選択
• この画面でProduct
Languagesを選択し
、「Japanese」
をイン
ストールする
Page 39
39
OSDBA,OSOPERグループの指定
• OS認証を使って
SYSDBA や
SYSOPER権限でロ
グインするための
UNIX グループを指
定する
データベース作成の選択
• インストールと同時に
データベースを作成
するときにはYes
• Yesでは、CD-ROM か
ら初期DBをコピーは
選択できない。TIPS
参照。
Page 40
40
Oracle8i for Linux
管理の基礎
Oracle8i for Linux管理の基礎
•
•
•
•
•
•
•
Oracle にアクセスするOSユーザーを作成する
ユーティリティを起動する
データベースを起動/停止する
データベースを自動起動/停止する
Oracle が起動していることを確かめる
接続しているデータベースを変更する
エラーコードの内容を見る
Page 41
41
Oracleにアクセスする
OSユーザーを作成する
• Oracle の管理者ユーザーを作成する
–
ユーザー名・パスワード無しでSYSDBAとして接続可能
# useradd -g dba -G oinstall o816
# passwd o816
–
環境変数を設定する
–
• Oracle にアクセスする一般ユーザーを作成する
–
# useradd foo
# passwd foo
–
環境変数を設定する
代表的な環境変数
•
•
•
•
•
•
•
•
•
ORACLE_BASE 例)/u01/app/oracle
ORACLE_HOME 例)/u01/app/oracle/product/8.1.6
ORA_NLS33 例) $ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH
例)$ORACLE_HOME/lib
PATH
例)$PATH:$ORACLE_HOME/bin
NLS_LANG
例)Japanese_Japan.JA16EUC
ORACLE_SID
例)orcl
ORACLE_DOC 例)$ORACLE_HOME/doc
CLASSPATH
例)$ORACLE_HOME/JRE,
$ORACLE_HOME/product/jlib, etc
Page 42
42
環境変数を設定する
• 現行セッションで設定する
–
$ export ORACLE_SID=orcl
• ファイルに設定する
–
–
「.bashrc」もしくは「.bash_profile」に設定。Install
Navigator for Oracleでは「
.bashrcに設定」
xtermではLD_LIBRARY_PATHがリセットされる
• ファイルに設定した環境変数をすぐに有効にする
–
$ . .bashrc
環境変数を設定する
• Install Navigatorを使った場合、Apacheがインスト
ールしてあると、httpd.bootoptにもOracle関連の
環境変数を追加
• これがないとcgiやPHPでOracleが使えない
Page 43
43
ユーティリティを起動する
Linux 版では、すべてコマンドラインから起動する
• SQL*Plus(
sqlplus)
• Server Manager (
svrmgrl )
• Import(
imp)
• Export(
exp)
• SQL*Loader(sqlldr)
• Net8 Configuration Assistant (
netca)
• Database Configuration Assistant (
dbasst )
データベースを起動/停止する
• データベースを起動する
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
SQL> exit
Server Managerや
internalユーザーによ
る接続は、R8.1.7が
最後になる予定
• データベースを停止する
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown [immediate]
SQL> exit
Page 44
44
データベースの自動起動/停止
• インストールしたままでは自動起動しない
• Miracle Linuxがあらかじめ用意しているdbora を
利用
• 設定の手順
–
–
–
–
1./etc/oratabファイルの編集
2. dbstat,dbshut の修正
3. /etc/rc.d/init.d/dboraの確認
4.OSの起動サービスの設定
自動起動の設定をする
• /etc/oratab の編集
–
/etc/oratabファイルの書式
SID:ORACLE_HOME:[Y|N]
–
/etc/oratabファイルを修正する
Ÿ $ vi /etc/oratab
orcl:/u01/app/oracle/product/8.1.6:Y
Page 45
45
自動起動の設定をする
• dbstartの修正(
R8.1.6のみ)
–
$ vi $ORACLE_HOME/dbstart
• 修正前(
64行目)
/PL¥/SQL (Release|Version)/ {substr($3,1,3) ;
• 修正後
/(PL¥/SQL|JServer) (Release|Version)/ {substr($3,1,3) ;
自動起動の設定をする
• dbshutの修正
–
$ vi $ORACLE_HOME/dbshut
• 修正前
shutdown
• 修正後
Shutdown immediate
Page 46
46
自動起動の設定をする
• dbora の確認
–
–
ORA_HOME($ORACLE_HOME)と
ORA_OWNER(oracleユーザー)が正しく設定されて
いるかを確認
# vi /etc/rc.d/init.d/dbora
ORA_HOME=/u01/app/oracle/product/8.1.6
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
自動起動の設定をする
• OSの起動サービスの設定
–
現在の状態を表示
# chkconfig --list dbora
dbora
0:off 1:off 2:off 3:off 4:off 5:off 6:off
–
自動起動の設定を有効にする
# chkconfig dbora on
# chkconfig --list dbora
dbora
0:off 1:off 2:off 3:on
4:on
5:on
6:off
Page 47
47
Oracleが起動していることを
確かめる
• Linux/UNIX では、各バックグラウンドプロセスは、プ
ロセスとしてインプリメントされている
• psコマンドでプロセスを確認できる
–
$ps ax | grep ora
• バックグランドプロセスの命名規則
–
–
ora_<バックグラウンドプロセス名>_<SID>
例)SID がorcl,バックグラウンドプロセスSMON の場合
ora_smon_orcl
接続するデータベースを変更する
• 一台のコンピュータに複数個のインスタンスがあ
るときには、環境変数で接続先のデータベースを
切り替える
–
–
$ export ORACLE_SID=orcl
$ sqlplus system/manager
Page 48
48
エラーコードの内容を見る
• oerr は、エラーコードの内容を表示するプログラム
oerr エラーの種類(
ora,exp など) エラーコード
–
$ oerr ora 100
00100, 00000, "no data found"
// *Cause: An application made reference to unknown or inaccessible data.
// *Action: Handle this condition within the application or make appropriate
//
modifications to the application code.
//
NOTE: If the application uses Oracle-mode SQL instead of
//
ANSI-mode SQL, ORA-01403 will be generated instead of ORA-00100.
• R8.1.6では日本語メッセージファイルが入っていない
$ cd $ORACLE_HOME/rdbms/mesg
$ ln -s oraus.msg oraja.msg
–
•
Oracle8i
+ Miracle Linux
Tips & Technique
Page 49
49
Oracle8i + Miracle Linux
Tips & Technique
•
•
•
•
•
•
カーネルパラメータの変更(
kparam)
RAW I/Oを設定する
パフォーマンス計測ツール
他プラットフォームからの DB移行
Enterprise Edition vs Workgroup Server
トラブルシュート
–
–
–
Database Assistantが起動しない
インストーラーが文字化けする
DB作成に異常に時間がかかる
kparamとは
• Linux/UNIX 版Oracleでは、搭載メモリに応じて
カーネルパラメータを変更する必要がある。
• 通常カーネルパラメーターを変更する場合は、ヘッ
ダーファイルの修正や、カーネル再構築が必要。
• kparam は、カーネルを再構築せずにカーネル
パラメーターを変更するMiracle Linux独自の拡張
機能。
Page 50
50
kparamのメリット
Miracle Linuxの場合は、
• 共有メモリ
–
共有メモリセグメントの最大サイズ(SHMMAX) を、シ
ステムに搭載されているメモリ量からOracle データベ
ース適した値を求め、自動的に設定
• セマフォ
–
–
semop」1回あたりのセマフォ操作の
システムコール「
最大数(SEMOPM)を、Oracle データベースに適した
値に設定
/proc 配下を利用することにより、カーネルの再構築
をすることなく、ダイナミックにパラメータを変更可能
kparamのメリット
ほかのLinux では、
• SHMMAXはダイナミックに変更できるが再起動
するとリセットされる
• SHMOPM を、変更するためにはカーネルの再構
築が必要
Page 51
51
動的なカーネルパラメータの変更
• /proc/sys/kernel による動的な変更
–
–
SEMOPM (セマフォ操作の最大値)
SHMMAX(共有メモリの最大値)
• 以下の方法によって、システムをリブートすること
なく動的に値を変更可能
–
SHMMAX を 256MB に変更したい場合
# echo 268435456 > /proc/sys/kernel/shmmax
–
SEMOPM を 256 に変更したい場合
# echo 256 > /proc/sys/kernel/semopm
設定ファイルへの保存
• システムのリブート後でも、新たに設定した値を
自動的に反映させたい場合
–
# vi /etc/sysconfig/kparam
• 編集前の /etc/sysconfig/kparam の内容
100
– /proc/sys/kernel/semopm100
/proc/sys/kernel/semopm
134217728
– /proc/sys/kernel/shmmax134217728
/proc/sys/kernel/shmmax
• 編集後の /etc/sysconfig/kparam の内容
256
– /proc/sys/kernel/semopm256
/proc/sys/kernel/semopm
268435456
– /proc/sys/kernel/shmmax268435456
/proc/sys/kernel/shmmax
Page 52
52
RAW I/Oとは
• RAW I/Oとは、ファイル
システムを経由せずに、
直接ディスクI/Oを行なう
こと。
OS
• ファイルシステムをバイ
パスすることにより、
パフォーマンス向上が
見込める。
インスタンス
SGA
ファイルシステム
I/Oシステム
ディスク
RAW I/Oの特徴と注意点
• Linux 版では、Oracle8i R8.1.6 からサポート
• rawデバイスにアクセスするときにはOSのシステ
ムキャッシュをバイパスする
• 現時点では欠点が多いので、十分テストしてから
、適用の是非を検討すること
• 「
Oracle8i for Linux Intel管理者リファレンス」
の RAWデバイス/ボリュームのセクションを参照
Page 53
53
RAW I/O設定の順序
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
パーティションの確保
ブロックデバイスにバインド
アクセス権の設定
rawデバイスに表領域を作成
/etc/rc.d/rc.sysinit にバインドの記述を追加
RAW I/Oの設定(1)
• パーティションの確保
–
fdiskなどでディスクパーティションを作成
• rawキャラクタデバイスをブロックデバイスにバインド
–
/dev/sda5, /dev/sda6 があるとき
# raw /dev/raw/raw1 /dev/sda5
# raw /dev/raw/raw2 /dev/sda6
Page 54
54
RAW I/Oの設定(2)
• バインド状況を確認
raw -qa
## raw
-qa
/dev/raw/raw1:
bound to
to major
5 5
/dev/raw/raw1: bound
major8,8,minor
minor
/dev/raw/raw1:bound
bound to
to major
6 6
/dev/raw/raw1:
major8,8,minor
minor
• アクセス権の設定
/dev/raw/rawN の所有者とグループを、oracleオーナ
ーと一致させる
# chown oracle /dev/raw/raw1
# chgrp oinstall /dev/raw/raw1
–
RAW I/Oの設定方法(
3)
• raw デバイスに表領域を作成
–
–
REDOログファイルをrawデバイスに配置することも
できる
使用できるサイズは、
パーティションサイズ−2オラクルブロック
$ sqlplus
system/manager
CREATE
TABLESPACE ts1
DATAFILE ‘/dev/raw/raw1’ SIZE 100M
SQL> CREATE TABLESPACE ts1
2> DATAFILE ‘/dev/raw/raw1’ SIZE 100M;
Page 55
55
RAW I/Oの設定方法(
4)
• システムファイルの変更
–
OSを再起動するとバインドは無効になるので
/etc/rc.d/rc.sysinitの末尾にバインドの記述を追加
raw /dev/raw/raw1 /dev/sda5
raw /dev/raw/raw2 /dev/sda6
• マシンを再起動してから、Oracle を起動し、
alert.log にエラーが出ていないか確認すること
代表的なパフォーマンス計測
ツール
• CPUの監視
–
top
• メモリの監視
–
vmstat
• sysstat(sar, mpstat, iostat)
–
–
http://perso.wanadoo.fr/sebastien.godard/
Miracle Linux SE V1.1では標準搭載予定
Page 56
56
異機種からのDB移行
• Windows NT/2000 版Oracleから、Linux 版Oracle
へ移行する
• いろいろ方法はある
–
–
–
–
–
Net8経由での Export(推奨)
WindowsでExport( コード変換), FTP, LinuxでImport
WindowsでExport, FTP, LinuxでImport (コード変換)
テキストファイル出力, SQL*Loader
DB Link
ネットワーク経由での移行
•
Net8経由で移行元のDBに接続してエクスポート
Windows
ここでコード変換
Linux
Export
•
exportファイル
Exportファイルをインポート
Windows
Linux
Import
exportファイル
Page 57
57
Enterprise Editionと
Workgroup Serverの使い分け
• 自分に必要な機能で考えること
• Enterprise Editionには大規模系のシステムに有
効な機能がついている
–
–
–
–
ビットマップインデックス
Option)
パーティショニング(
マルチマスターレプリケーション
etc
• Enterprise, Workgroup 機能比較表
–
http://www.oracle.co.jp/o8i/matrix/index.html
DB Assistant が起動しない(
1)
•
•
R8.1.6 のDatabase Assistantは、マシンによって
はコアダンプすることがある
対応策1
–
–
再実行する
ゾンビプロセスの確認
$ ps ax | grep jre
–
繰り返し
ゾンビプロセスがあったときには削除
$ kill –9 pid
Page 58
58
DB Assistantが起動しない(2)
• 対応策2(これは最後の手段)
–
正規サポートの対象外になる
可能性があるので注意!
JRE116v5を入手
• 製品版ではコンパニオンCDに入っている
# rpm -Uvh jre-1.1.6v5-2.i386.rpm
• Web からダウンロード(http://www.blackdown.org)
# tar zxvf jre_1.1.6-v5-glibc-x86.tar.gz
# ln -s /usr/jre116 /usr/local/jre
– dbassist を書き換える
$ vi $ORACLE_HOME/bin/dbassist
JAVA_HOME=$ORACLE_HOME/JRE
変更前:
JAVA_HOME=/usr/local/bin
変更後:
インストーラーが文字化けする
• R8.1.6 では、日本語モードでインストーラー(
OUI)
を起動すると文字化けする
• 少なくともR8.1.5, R8.1.6 では、OUIは英語モード
で使うのが基本
• Oracle のNLS 対応に関する考察
–
–
Oracle本体および周辺ツール
Javaベースのツール
Page 59
59
OracleのNLS対応
• Oracle は、昔から1つのバイナリでさまざまな言語
に対応(
NLS:National Language Support)
• NLS_LANG の値によって、表示言語や日付の表
示形式、文字コードを決める
• NLS_LANG はOSの環境変数として設定
Windows ではレジストリにも設定できる
NLS_LANGに指定する値
「
言語_地域.文字コード」の形式で指定する
• Japanese_Japan.JA16EUC
–
メッセージや日付の表示は日本語
表示する文字コードは日本語EUC
• Japanese_Japan.JA16SJIS
–
表示する文字コードはシフトJIS
• American_America.US7ASCII
• American_America.JA16EUC
–
メッセージや日付表記は英語
表示する文字コードは EUC
Page 60
60
Javaベースユーティリティの
NLS対応
• Oracle Universal Installer をはじめ、Oracle
Enterprise Manager 、各種AssistantはNLS_LANG
とは関係ない
• したがってNLS_LANG をいくら設定しても、表示
言語は変わらない
• 関係ある環境変数
–
–
LANG
LC_ALL
DB作成に異常に時間がかかる
• データベースを作成するときに、Oracle8i JVM
(
JServer)をインストールすると、データベースの
作成に異常に時間がかかることがある。とくに非
力なマシンでは顕著。
• Oracle8i JVMを使わないのであれば、DB
Assistantでインストールしないようにする。
• Oracle8i JVMを手軽に試す方法は…
–
初期DBを「CD-ROMからコピー」すればよい。
※R8.1.5は不可
Page 61
61
短時間にDBをインストールする
•
•
•
•
•
Oracle8iインストール時には、データベースを作
成しない。
NLS_LANG に日本語のキャラクタセットが設定
されてあることを確認。
インストール終了後にDatabase Assistantを起動
し、「
CD-ROM からコピー」を選択する。
CD-ROM に格納されている初期データベースを
コピーするだけなので、短時間に終了する
ただし初期DBは、お試し用として考えること。
Dababase Configuration Assistant
の仕組み
メディアに含まれている初期データベースをコピー。
インストールするディレクトリ構成に合わせ、制御ファイ
ルを再作成。
• ALTER DATABASE で、データベースのキャラクタセット
をNLS_LANGと同じ設定に変更する。NLS_LANG の値
が未設定のときには、何も行なわない。
※ Windowsでは、NLS_LANGは自動的に設定されるので
気にならないが、NLS_LANGを手動で指定しなけばなら
ないLinux/UNIXでは、Database Configuration Assistant
を起動するときのNLS_LANG の値が重要になる。
•
•
Page 62
62
Webサイト&メーリングリスト
• 日本オラクル株式会社
–
http://www.oracle.co.jp/linux/
• ミラクル・リナックス株式会社
–
http://www.miraclelinux.com
• Miracle Linux Users メーリングリスト
–
[email protected] へ、本文に
#guide とだけ記入したメールを送付
Webサイト&メーリングリスト
• Oracle Technology Network Japan
–
–
–
–
–
http://technet.oracle.co.jp
技術情報:「テクノロジー」→「Linux & Windows」
会議室:「フォーラム」→「Linuxの部屋」
トライアル版ダウンロード:「ソフトウェア」
日本語オンラインマニュアル:「ドキュメント」
• Oracle Technology Network
–
http://technet.oracle.com
Page 63
63
Page 64
64
Fly UP