「Oracle Database」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(カテゴリ追加)
(アーカイブ化)
タグ: 新規リダイレクト
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
  +
#redirect [[ArchWiki:アーカイブ]]
[[Category:データベース管理システム]]
 
[[Category:Oracle]]
+
[[Category:アーカイブ]]
[[en:Oracle]]
 
[[nl:Oracle]]
 
[[zh-hans:Oracle]]
 
{{Related articles start}}
 
{{Related|Oracle クライアント}}
 
{{Related articles end}}
 
このドキュメントでは 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時点における最新版