「Oracle Database」の版間の差分
表示
削除された内容 追加された内容
Kusanaginoturugi (トーク | 投稿記録) translateme を追加 |
Kusanaginoturugi (トーク | 投稿記録) アーカイブ化 タグ: 新規リダイレクト |
||
| 1行目: | 1行目: | ||
#redirect [[ArchWiki:アーカイブ]] |
|||
[[Category:データベース管理システム]] |
|||
[[Category: |
[[Category:アーカイブ]] |
||
[[en:Oracle]] |
|||
[[nl:Oracle]] |
|||
[[zh-hans:Oracle]] |
|||
{{Related articles start}} |
|||
{{Related|Oracle クライアント}} |
|||
{{Related articles end}} |
|||
{{Translateme|2019年に翻訳されてから、更新されていません。}} |
|||
このドキュメントでは Arch Linux に Oracle Database 12c (12.1) をインストールする手順を説明します。別のサーバーで動作している Oracle に接続したいだけの場合、[[Oracle クライアント]]の記事を読んでください。Oracle Express Edition をインストールする場合は {{AUR|oracle-xe}} パッケージを使ってください。 |
|||
==準備== |
|||
先に [[Xorg]] を設定して[[ウィンドウマネージャ]]あるいは[[デスクトップ環境]]をインストールする必要があります。 |
|||
===依存パッケージ=== |
|||
Arch Linux 環境に Oracle Database をインストールする前に、以下のパッケージがインストールされているか確認してください: |
|||
* {{Grp|base-devel}} (グループに含まれている全てのパッケージ) |
|||
* {{Pkg|jre8-openjdk}}, {{Pkg|mksh}}, {{Pkg|gdb}}, {{Pkg|gawk}}, {{Pkg|libelf}}, {{Pkg|sysstat}}, {{Pkg|libstdc++5}}, {{Pkg|unzip}}, {{Pkg|sudo}}, {{Pkg|icu}}, {{AUR|lib32-libstdc++5}}, {{Pkg|python2}} |
|||
* {{Pkg|gcc-multilib}}{{Broken package link|置換パッケージ: {{Pkg|gcc}}}}, {{Pkg|gcc-libs-multilib}}{{Broken package link|置換パッケージ: {{Pkg|gcc-libs}}}}, {{Pkg|libtool}} |
|||
そして Oracle のインストーラを動作させるためにデフォルトで Python 3 ではなく Python 2 が使われるように設定してください。詳しくは [[Python]] を参照。 |
|||
===Oracle ユーザー=== |
|||
oracle ユーザーと {{ic|oinstall}}, {{ic|dba}} グループを作成してください: |
|||
# groupadd oinstall |
|||
# groupadd dba |
|||
# useradd -m -g oinstall -G dba oracle |
|||
ユーザーを作成したらパスワードを設定してください: |
|||
# passwd oracle |
|||
oracle ユーザーの {{ic|.bashrc}} ファイルをテキストエディタで編集して、以下の内容を追加してください (Oracle の環境変数とパス、デフォルトのエディタを設定します): |
|||
export ORACLE_BASE=/oracle |
|||
export ORACLE_HOME=/oracle/product/db |
|||
export ORACLE_INVENTORY=/oracle/inventory |
|||
export ORACLE_SID='''''<SID of your DB>''''' |
|||
export PATH=$ORACLE_HOME/bin:$PATH |
|||
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH |
|||
export EDITOR=vi |
|||
export VISUAL=vi |
|||
vi 以外のエディタでテキストファイルを編集したい場合、上記の {{ic|EDITOR}} と {{ic|VISUAL}} 環境変数の値を変更してください (例: nano, gedit, kate, atom など)。{{ic|ORACLE_SID}} 変数には適切な値を設定してください。{{ic|dbca}} ツールで選択した SID になります。SID を決めていない場合、dbca を実行した後に変数を設定してください。 |
|||
==設定== |
|||
===カーネルパラメータ=== |
|||
以下のカーネルパラメータを設定する必要があります。{{ic|/etc/sysctl.d/99-sysctl.conf}} ファイルに以下のパラメータを追加してください (既に追加している場合は編集してください): |
|||
fs.file-max = 6815744 |
|||
fs.aio-max-nr = 1048576 |
|||
kernel.shmall = 2097152 |
|||
kernel.shmmax = 2147483648 |
|||
kernel.shmmni = 4096 |
|||
kernel.sem = 250 32000 100 128 |
|||
net.ipv4.ip_local_port_range = 9000 65500 |
|||
net.core.rmem_default = 4194304 |
|||
net.core.rmem_max = 4194304 |
|||
net.core.wmem_default = 262144 |
|||
net.core.wmem_max = 1048576 |
|||
設定したら変更を反映してください (詳しくは [[sysctl]] を参照): |
|||
# sysctl --system |
|||
===Pam の設定=== |
|||
PAM モジュールの制限も設定する必要があります (参照: [[リアルタイムプロセス管理]])。{{ic|/etc/security/limits.conf}} ファイルに以下を追加してください: |
|||
oracle soft nproc 2047 |
|||
oracle hard nproc 16384 |
|||
oracle soft nofile 1024 |
|||
oracle hard nofile 65536 |
|||
==インストール== |
|||
=== ダウンロード === |
|||
Oracle のサイトからユーザーフォルダにソフトウェアをダウンロードしてください: http://www.oracle.com/technology/software/products/database/index.html |
|||
ダウンロードしたら {{ic|/media}} フォルダに解凍してください: |
|||
# unzip /home/oracle/Downloads/linuxamd64_12102_database_1of2.zip -d /media |
|||
# unzip /home/oracle/Downloads/linuxamd64_12102_database_2of2.zip -d /media |
|||
以下のようにインストールディレクトリの所有者と所有グループを変更してください: |
|||
# chown -R oracle:oinstall /media/database |
|||
===ディレクトリの作成=== |
|||
Oracle ソフトウェアのインストール先となるディレクトリを作成します: |
|||
# mkdir -p /oracle/{inventory,recovery,product/db} |
|||
そしてパーティションを設定してください: |
|||
# chown -R oracle:oinstall /oracle/{inventory,recovery,product/db} |
|||
===Oracle インストーラの起動=== |
|||
{{ic|oracle}} ユーザーでインストーラを起動してください: |
|||
$ /media/database/runInstaller |
|||
以下のようにインストールウィザードを進めてください: |
|||
;インストール・オプション |
|||
: "データベース・ソフトウェアのみインストール" |
|||
;Grid インストール・オプション |
|||
: "単一インスタンス・データベースのインストール" |
|||
;製品言語 |
|||
: "英語" |
|||
;データベースのエディション |
|||
: "Enterprise Edition" |
|||
;インストール場所 |
|||
: Oracle ベース: {{ic|/oracle}} |
|||
: ソフトウェアの場所: {{ic|/oracle/product/db}} |
|||
;インベントリの作成 |
|||
: インベントリの場所: {{ic|/oracle/inventory}} |
|||
: oraInventory グループ名: {{ic|oinstall}} |
|||
;オペレーティング・システム・グループ |
|||
: データベース管理者グループ: {{ic|dba}} |
|||
: データベース・オペレータグループ: {{ic|oinstall}} |
|||
;前提条件のチェック |
|||
: すべて無視 |
|||
===スクリプトの実行=== |
|||
Oracle データベースのグラフィカルインストーラは以下のスクリプトを root で実行するように要求します: |
|||
# /oracle/inventory/orainstRoot.sh |
|||
# /oracle/product/db/root.sh |
|||
最後のスクリプトはフルパスを要求します。以下を指定してください: |
|||
/usr/local/bin |
|||
===リスナー=== |
|||
最後にインスタンスリスナーを作成する必要があります。グラフィカルツールを (oracle ユーザーで) 起動することで作成できます: |
|||
$ netca |
|||
設定ウィザードに以下のように答えてください: |
|||
; 実行する構成を選択 |
|||
: リスナー構成 |
|||
; 実行する処理の選択 |
|||
: 追加 |
|||
; リスナー名: |
|||
: LISTENER |
|||
; 選択済みプロトコル |
|||
: TCP |
|||
; リスナーが使用する TCP/IP ポート番号 |
|||
: 標準ポート番号の 1521 |
|||
; 他のリスナーの構成 |
|||
: いいえ |
|||
そして「完了」をクリックしてください。 |
|||
同一マシン上で動作している Oracle データベースに接続する場合、インスタンスリスナーは不要です。他のマシンから接続する場合や JDBC ドライバーを使って (Java アプリケーションなどから) 接続する場合に必要になります。 |
|||
== 起動 == |
|||
sysdba でデータベースにログインするには ({{ic|oracle}} ユーザーで実行): |
|||
$ sqlplus / as sysdba |
|||
データベースを起動するには: |
|||
SQL> startup |
|||
データベースを停止するには: |
|||
SQL> shutdown immediate |
|||
データベースのインスタンスリスナーの起動・停止は {{ic|lsnrctl}} コマンドで行なえます。 |
|||
リスナーを起動するには: |
|||
$ lsnrctl start |
|||
リスナーを停止するには: |
|||
$ lsnrctl stop |
|||
リスナーの状態を確認するには: |
|||
$ lsnrctl status |
|||
==インストール後の設定== |
|||
{{ic|oracle}} ユーザーで {{ic|dbca}} グラフィカルツールを起動することでデータベースを作成できます: |
|||
$ dbca |
|||
データベースを作成したら、{{ic|/etc/oratab}} ファイルを編集して以下の行を: |
|||
<your sid>:<oracle home>:N |
|||
以下のように変更してください: |
|||
<your sid>:<oracle home>:Y |
|||
== トラブルシューティング == |
|||
=== インストール時のエラー === |
|||
インストールの最中にいくつかエラーメッセージが表示されることがあります: |
|||
{{note|以下のエラーメッセージは Oracle 11gR2 x64 で現れるものです。}} |
|||
以下のエラーメッセージが表示される場合: |
|||
INFO: /usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14' |
|||
collect2: error: ld returned 1 exit status |
|||
「続行」をクリックしてください。上記のエラーが表示された場合、レキシカルコンパイラを使うことができません。レキシカルコンパイラは中国語や日本語の辞書を生成するのに使われます。 |
|||
また、以下のエラーが表示される場合: |
|||
/oracle/product/db/lib/libnnz11.so: could not read symbols: Invalid operation |
|||
collect2: error: ld returned 1 exit status |
|||
{{ic|$ORACLE_HOME/sysman/lib/ins_emagent.mk}} ファイルを開いて190行目の {{ic|$(MK_EMAGENT_NMECTL)}} を置き換えてください: |
|||
$(MK_EMAGENT_NMECTL) -lnnz11 |
|||
修正したらインストーラウィンドウの「再試行」をクリックしてください。 |
|||
=== IPv6 の問題 === |
|||
デフォルトでは、リスナーは {{ic|localhost.localdomain}} を listen するように設定されます。Arch のデフォルトの IPv6 設定は異なっているため、データベースインスタンスがリスナーを登録できません。問題を解決するには、リスナーの状態を確認してください: |
|||
$ lsnrctl status |
|||
以下のように表示される場合: |
|||
The listener supports no services |
|||
{{ic|$ORACLE_HOME/network/admin}} に存在する {{ic|listener.ora}} ファイルを編集して以下の行を: |
|||
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) |
|||
以下のように変更してください: |
|||
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) |
|||
上記の設定で、リスナーは外部 IP アドレスを使うようになります。 |
|||
設定後、再度リスナーの状態を確認してください: |
|||
$ lsnrctl status |
|||
以下のように表示されればリスナーが正しく機能しています: |
|||
Service "<SID name>" has 1 instance(s). |
|||
Instance "<SID name>", status READY, has 1 handler(s) for this service... |
|||
2023年8月30日 (水) 20:50時点における最新版
転送先: