Comments
Description
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