Ubuntu LinuxへのOracle 11gのインストール方法:完全ガイド
Oracle Databaseは、オラクル社が開発した信頼性の高いマルチプラットフォーム対応のデータベース管理ソフトウェアです。高性能、幅広い機能、クラスタリングのサポート、PL/SQLのサポートなど、数多くの利点を備えています。Oracle Database(本記事では"Oracle"と表記します)は、Solaris、Windows、およびLinuxにインストール可能です。Windowsへのインストールが最も簡単ですが、SolarisやLinuxにOracleをインストールする場合は、インストール前の手動設定が必要となります。 Linuxディストリビューションに関しては、OracleはRed Hat、Oracle Linux、およびSUSE Linux Enterprise ServerへのOracle Databaseのインストールを推奨しています。
ただし、Ubuntu LinuxやOpenSUSE LinuxにもOracleをインストールすることは可能です。 Ubuntuは世界中で広く利用されている人気のLinuxディストリビューションであり、本日のブログ記事では、UbuntuへのOracleのインストール手順を段階的に解説します。このチュートリアルでは、UbuntuにOracle Database Enterprise Edition (EE) 11g R2をインストールします。
Ubuntu Linuxの準備
このチュートリアルでは、新しくインストールした Ubuntu 16.04.6 が使用されます。オペレーティングシステムは、"Ubuntuのインストール中にアップデートをダウンロードする”オプションを指定し、""を使用せずにサードパーティ製ソフトウェアをインストールするOSの展開時に""オプションを指定します。
LinuxにOracleをインストールしたことがない場合は、その方法を学ぶ必要があります。 UbuntuにOracleをインストールする 物理コンピュータやサーバーにOracleをインストールする前に、仮想マシン上で動作を確認してください。
VMwareの仮想マシンを使用する場合は、必ず VMware Tools. VirtualBox や Hyper-V の仮想マシンも使用できます。
インストール時に正しいタイムゾーンが選択されていることを確認してください。タイムゾーンは GMT 0 (ロンドン)この例では。
以下のコマンドでタイムゾーンを確認できます:
timedatectl
Ubuntuのバージョンを確認してください:
lsb_release -a
この例では、出力は次のようになります:
UbuntuへのOracle 11gのインストール方法に関するこのチュートリアルでは、以下のVMハードウェアパラメータを使用しています:
- CPU:1基
- RAM:4 GB
- ハードディスクドライブ:40 GB
ユーザー1 この例では、is が通常のユーザーです(ユーザー1 (Ubuntuのインストール中に作成され、Ubuntuへのログインに使用されます)。
以下のパッケージがインストールされます:
- vim、テキストエディタ
- ネットツール、ネットワーク管理ツール
- openssh-server、Linuxのコンソール(ターミナル)にリモートで接続できるSSHサーバー
Ubuntu Linuxにこれらのパッケージがインストールされていない場合は、次のコマンドを使用してインストールできます:
sudo apt-get install -y vim net-tools openssh-server
利便性を考慮してSSHサーバーがインストールされています。UbuntuでOracleインストーラーを使用する前に、コンソールで多くのコマンドを実行する必要があります。
パスワードによる認証を有効にするには、 sshd_config ファイル:
vim /etc/ssh/sshd_config
その行のコメント解除を行ってください(行頭にある"#"を削除してください):
PasswordAuthentication yes
変更を保存して終了するには、 Esc 入力 vim そして入力して :wq
を再起動する sshd サービス(デーモン)を、root 権限でコマンドを実行して起動します:
sudo service ssh restart
スワップファイルの設定
Ubuntu 16では、デフォルトでスワップパーティションが使用されます。Ubuntuのインストール時に、スワップパーティションのサイズをカスタマイズすることができます。デフォルトのパーティション分割オプションを選択した場合や、スワップパーティションのサイズを誤って選択してしまった場合でも、任意のサイズのスワップファイルを作成し、既存のスワップパーティションの代わりにそのスワップファイルを使用することができます。 スワップ領域のサイズは、RAM 容量の 2 倍にする必要があります。RAM が 4 GB の Ubuntu に Oracle をインストールする場合は、8 GB のスワップファイルまたはパーティションを用意する必要があります。8 GB のスワップファイルを作成してみましょう。
スワップ領域の使用を一時的に無効にするには:
sudo swapoff -a
以下の内容で8GBの新しいファイルを作成します dd ツール:
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
作成した8GBのファイルをスワップファイルとして設定します:
sudo mkswap /swapfile
スワップの使用を再度有効にする:
sudo swapon /swapfile
新しいスワップファイルを作成した後、スワップ領域のサイズを確認してください:
grep SwapTotal /proc/meminfo
ネットワーク設定の構成
デフォルトでは、Ubuntu 16はネットワークインターフェースに対してIPアドレスを自動的に取得します(ネットワーク上にDHCPサーバーが存在する場合)。UbuntuにOracleをインストールするには、事前に静的IPアドレスを設定し、ホスト名を設定する必要があります。
現在のIP設定を確認します:
ifconfig
出力には、お使いのネットワークアダプタ名とIPアドレスが表示されます。今回のケースでは、必要なネットワークインターフェースの名前は ens33.
静的IPアドレスの設定
ネットワークインターフェースの設定ファイルを次のように編集します vim:
sudo vim /etc/network interfaces
UbuntuにOracleデータベースをインストールするために必要な固定IPアドレスは 192.168.101.11 この例のLinuxマシンの現在のインターフェースで。設定ファイルを次のように編集してください:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.101.11
netmask 255.255.255.0
gateway 192.168.101.2
dns-nameservers 192.168.101.2 8.8.8.8
変更を保存して終了します。
変更を適用します:
sudo /etc/init.d/networking restart
または、マシンを再起動してください:
init 6
新しいIP設定が適用されていることを確認してください:
ifconfig
あるいは:
hostname -I
IPアドレスの設定を確認した後、ホスト名を確認してください。
ホスト名の確認
私たちのケースでは、UbuntuにOracleをインストールする際に使用するホスト名は ubuntu-oracle11.
現在のホスト名を確認してください:
hostnamectl
Ubuntuのインストール時にホスト名の設定を忘れてしまった場合や、その他の理由でホスト名を変更したい場合でも、後から設定することは可能です。
ホスト名を変更し、新しいホスト名を設定するには(ubuntu-oracle11)、次のコマンドを実行してください:
sudo hostnamectl set-hostname ubuntu-oracle11
新しいホスト名が適用されているか確認してください:
less /etc/hostname
hosts ファイルを編集します:
sudo vim /etc/hosts
/etc/hosts ファイルの内容は、次のように記述する必要があります:
127.0.0.1 localhost
127.0.1.1 ubuntu-oracle11
マシンを再起動してください:
init 6
Ubuntuマシンで、指定されたホスト名に対してpingを実行してみてください:
ping ubuntu-oracle11
Oracle の環境設定
UbuntuにOracleをインストールするには、Linux環境の設定を行う必要があります。具体的には、システムユーザーとグループの作成、カーネルパラメータの設定、システムプロファイルの設定、ユーザーごとの環境変数の設定、シェルの制限の定義、シンボリックリンクの作成、および必要なパッケージのインストールが必要です。
ユーザーとグループの作成
ローカルコンソールを開くか、一般ユーザーとしてSSH経由でLinuxコンソールに接続し、次に ルート 権限:
sudo -i
以下のコマンドは、次の権限で実行する必要があります ルート.
Oracleが必要とするグループを追加します。
以下のグループを作成します。 Oracle在庫 グループ:
groupadd oinstall
作成する Oracle DBA グループ:
groupadd dba
Oracle ユーザーのホームディレクトリを作成します:
mkdir /home/oracle/
Oracleをインストールするためのディレクトリを作成します:
mkdir -p /u01/app/oracle
次に、 dba グループは、 /home/oracle/ ホームディレクトリと用途 /bin/bash デフォルトのシェルとして:
useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracle
Oracleユーザーのパスワードを設定してください(このパスワードを忘れないようにしてください):
passwd oracle
設定する オラクル OracleホームディレクトリおよびOracleインストールディレクトリの所有者としてユーザーを指定します。 オラクル ユーザーは、のメンバーです oinstall グループ。
chown -R oracle:oinstall /home/oracle
chown -R oracle:oinstall /u01/app/oracle
注: Oracle 10とは異なり、 誰も Oracle 11 ではこのグループは必要ありません。
Oracle インベントリ用のディレクトリを作成します:
mkdir -p /u01/app/oraInventory
設定する オラクル Oracle Inventory ディレクトリの所有者としてユーザーを指定します:
chown -R oracle:oinstall /u01/app/oraInventory
カーネルパラメータの設定
UbuntuにOracleをインストールするには、カスタムカーネルパラメータが必要であり、これらのカーネルパラメータはOracleのパフォーマンスに影響を与えます。最小サイズや最大サイズ、共有メモリセグメントの数、および共有メモリのフラグと見なせるセマフォを含む共有メモリパラメータは、Oracleのドキュメントに従ってカスタマイズする必要があります。 また、一度に開くことができるファイルの最大数、同時ネットワーク接続の最大数、ネットワークの送受信バッファのサイズも設定する必要があります。検討すべきカーネルパラメータは、以下の3つのグループに分類できます:カーネル固有のパラメータ(カーネル)、ネットワークの詳細(ネットワーク)、およびファイルハンドラ(fs). を編集する /etc/sysctl.conf Linuxカーネルのパラメータを上書きするためのファイル:
vim /etc/sysctl.conf
以下の行を、この設定ファイルの末尾に追加してください。
# ============================
# Oracle 11g
# ============================
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmni = 4096
# Replace kernel.shmmax with the half of your memory size in bytes
# if lower than 4 GB minus 1
# 2147483648 is 2 GigaBytes (4 GB of RAM / 2)
kernel.shmmax=2147483648
#
# Max number of network connections. Use sysctl -a | grep ip_local_port_range to check.
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
#
# The maximum allowed value, set to avoid overhead and input/output errors
fs.aio-max-nr = 1048576
# 512 * Processes
fs.file-max = 6815744
fs.suid_dumpable = 1
#
# To allow dba to allocate hugetlbfs pages
# 1001 is your oinstall group, you can check this id with the grep oinstall /etc/group command
vm.hugetlb_shm_group = 1001
設定したカーネルパラメータを適用します:
sysctl -p
シェルの制限の設定
Oracleデータベースソフトウェアのパフォーマンスを向上させるには、シェルの制限値を設定する必要があります。
以下のファイルを編集します。 /etc/security/limits.conf ファイル:
vim /etc/security/limits.conf
設定ファイルの最後に以下の行を追加してください:
# Oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
最初の列は、制限が設定されるユーザーを指定します。
2列目には、"soft"と"hard"の2つのオプションがあります。"soft"はユーザーが設定できる最大値であり、"hard"は指定されたユーザー(oracle)が再設定できる最大値です。もし オラクル ユーザーが1行目で設定された上限値2047に達し、上限を引き上げる必要がある場合、上限を16384に増やすことができます。16384を超える値は、 オラクル ユーザーによって設定されますが、root ユーザーも設定可能です。
3 列目は、設定された制限がどのリソースに適用されるかを定義します。
4 列目は、3 列目で指定されたリソースパラメータの最大数を定義します。
PAMの設定
必ず /etc/pam.d/login 設定ファイルには、次の行が含まれています:
session required pam_limits.so
次のコマンドで実行できます:
cat /etc/pam.d/login | grep pam_limits.so
上記の行がない場合は、手動でこの行を追加してください。
シェルプロファイルの設定
システム全体の環境変数は、 /etc/profile 設定ファイル。
編集 /etc/profile そして、必要なパラメータを設定し、 オラクル 世界的にかつ恒久的に:
vim /etc/profile
次の行を追加してください:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
注: 各シェル設定ファイルをいつ使用できるかを知っておくと便利です。というのも、後で、環境変数を含むプロファイルを設定する必要が出てくるからです。 オラクル ユーザー。
Bashログインシェル 以下のファイルから、適切な順序で設定を読み込みます:
- /etc/profile
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
/etc/profile これは、bash ログインシェルのグローバルプロファイルと見なすことができます。
./bash_profile これは、bashログインシェルに適用されます。例えば、このLinuxコンピュータに接続されたキーボードを使用してLinuxのコマンドラインインターフェースに直接ログインする場合や、SSHターミナルを使用してログインした後、新しいコンソールセッションを開く場合などが該当します。
.profile – このファイルは読み込まれます bash および次のようなその他のシェル sh.
Bash 非ログイン対話型シェル 設定を次の場所から読み込みます ~/.bashrc
つまり、すでにLinuxマシンにログインしている状態(たとえば、GUIを使ってUbuntuにログインしている状態)で新しいコンソール(ターミナル)ウィンドウを開いた場合、環境変数を含むシェル設定は .bashrc コマンドプロンプトにアクセスする前に、そのファイルを保存してください。
Bashの非ログインモードおよび非対話モード シェルは、 $BASH_ENV 環境変数。スクリプトが実行される際は、非ログインかつ非対話型のシェルが使用されます。
必要なパッケージのインストール
Oracleに必要なパッケージをインストールする必要があります。パッケージが不足していると、Oracleのインストールやデータベースの作成中にエラーが発生する可能性があるため、インストールには十分注意してください。
リポジトリツリーを更新します:
apt-get update
UbuntuへのOracleインストール時に発生する可能性のあるエラーを回避するために、必要なパッケージをインストールしてください。ほとんどのパッケージは、Ubuntuの標準パッケージマネージャーを使用してオンラインリポジトリからインストールできます。
apt-get install alien
apt-get install autoconf
apt-get install automake
apt-get install autotools-dev
apt-get install binutils
apt-get install bzip2
apt-get install doxygen
apt-get install elfutils
apt-get install expat
apt-get install gawk
apt-get install gcc
apt-get install gcc-multilib
apt-get install g++-multilib
apt-get install libelf-dev
apt-get install libltdl-dev
apt-get install libodbcinstq4-1 libodbcinstq4-1:i386
apt-get install libpth-dev
apt-get install libpthread-stubs0-dev
apt-get install libstdc++5
apt-get install make
apt-get install openssh-server
apt-get install rlwrap
apt-get install rpm
apt-get install sysstat
apt-get install unixodbc
apt-get install unixodbc-dev
apt-get install unzip
apt-get install x11-utils
apt-get install zlibc
apt-get install libaio1
apt-get install libaio-dev
インストールするパッケージがまだいくつか残っていますが、それらをインストールするには、以下のコツや裏技が必要です。
apt-get install ia32-libs
このパッケージをインストールするコマンドを実行する際は、 apt-get, すると、このパッケージは利用できないというメッセージが表示されます。
代わりにインストールできる代替パッケージがあります。 ia32-libs. をインストールしてください lib32z1 代替パッケージ:
apt-get install lib32z1
それでは、次のパッケージをインストールしましょう:
apt-get install libmotif4
このパッケージも利用できません。手動でダウンロードしてインストールしてください。以下のリンクから libmotif4_2.3.4-8ubuntu1_amd64.deb ファイルから 無料のリソース. ダウンロードしたファイルを保存する deb このパッケージをインストールする前に、ファイルを /home/user1/Downloads などの任意のディレクトリに保存してください。
Ubuntu で deb パッケージをインストールする手順は以下の通りです(コマンドは root 権限で実行してください):
sudo dpkg -i パッケージ名.deb
sudo apt-get -f install
この場合、パッケージのインストールコマンドは一般ユーザーとして実行します。例えば、 ユーザー1 ~を使用して sudo. プレス Ctrl+D ルートセッションを終了し、元の ユーザー1 コンソール(ターミナル)でセッションを開きます。
ダウンロードしたファイルが保存されているディレクトリに移動します:
cd /home/user1/Downloads
以下の直接リンクからファイルをダウンロードしてください:
wget http://launchpadlibrarian.net/207968936/libmotif4_2.3.4-8ubuntu1_amd64.deb
sudo dpkg -i libmotif4_2.3.4-8ubuntu1_amd64.deb
sudo apt-get -f install
次のパッケージは自動的にインストールできません:
sudo apt-get install libpthread-stubs0
E: パッケージ libpthread-stubs0 が見つかりません
ダウンロード そして、このパッケージを手動でインストールしてください。
wget http://launchpadlibrarian.net/154418307/libpthread-stubs0-dev_0.3-4_amd64.deb
sudo dpkg -i libpthread-stubs0-dev_0.3-4_amd64.deb
sudo apt-get -f install
同様に、次のパッケージをインストールしてください:
sudo apt-get install lsb-cxx
E: パッケージ lsb-cxx が見つかりません
以下からダウンロードできます lsb-cxx パッケージを手動で作成する。
wget http://packages.linuxmint.com//pool/upstream/l/lsb/lsb-cxx_4.1+Debian11ubuntu6mint1_amd64.deb
sudo dpkg -i lsb-cxx_4.1+Debian11ubuntu6mint1_amd64.deb
sudo apt-get -f install
もう1つパッケージをインストールします:
sudo apt-get install pdksh
E: パッケージ"pdksh"にはインストール候補がありません
のインストール手順は次のとおりです。 pdksh パッケージは同じです。このパッケージはダウンロードできます こちら.
wget http://launchpadlibrarian.net/200019501/pdksh_50e-2ubuntu1_all.deb
sudo dpkg -i pdksh_50e-2ubuntu1_all.deb
sudo apt-get -f install
Oracle 11g では、32 ビット版の libstdc++5 Ubuntu 16 にはデフォルトでインストールされていないパッケージです。このパッケージを手動でインストールする方法は以下の通りです。
以下のコマンドは、 ルートパッケージをダウンロードするための一時ディレクトリを作成します:
mkdir /tmp/libstdc++5
cd /tmp/libstdc++5
パッケージをダウンロードしてください(32ビット版と64ビット版のリンクが表示されます):
wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-30_i386.deb
wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-30_amd64.deb
ダウンロードしたパッケージを次のコマンドでインストールします dpkg:
dpkg --force-architecture -i libstdc++5_3.3.6-30_i386.deb
注: リンクが機能しない場合は、古いバージョンの代わりに新しいバージョンのパッケージが公開されている可能性があります。その場合は、ブラウザで該当するWebページにアクセスし、必要なリンクをコピーしてください。 deb パッケージ:
http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/
変更を反映させるには、Linuxマシンを再起動してください。
init 6
シンボリックリンクの作成
Ubuntuで使用されるファイルおよびディレクトリ構造をRed Hatのファイル構造に似せるには、シンボリックリンク(symlink)を作成する必要があります。Oracleのインストール中にエラーが発生しないよう、Red Hatのファイルシステム構造と全く同じに見えるようにシンボリックリンクを作成してください。
以下のコマンドをroot権限で実行してください:
mkdir /usr/lib64
ln -s /etc /etc/rc.d
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/rpm /bin/rpm
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
ln -sf /bin/bash /bin/sh
ln -s /etc/rc0.d /etc/rc.d/rc0.d
ln -s /etc/rc2.d /etc/rc.d/rc2.d
ln -s /etc/rc3.d /etc/rc.d/rc3.d
ln -s /etc/rc4.d /etc/rc.d/rc4.d
ln -s /etc/rc5.d /etc/rc.d/rc5.d
ln -s /etc/rc6.d /etc/rc.d/rc6.d
ln -s /etc/init.d /etc/rc.d/init.d
上記のコマンドは、次のようなエラーを防ぐのに役立ちます:
- genclntsh: rdbms/lib/ins_rdbms.mk の Makefile で libclntsh.so.11.1 のリンクに失敗しました。ライブラリが見つからないためです: /usr/bin/ld: /usr/lib64/libpthread_nonshared.a が見つかりません
- lib//libagtsh.so: make 内で `nnfyboot’ への参照が定義されていません: rdbms/lib/dg4odbc] エラー 1
それでは、もう1つエラーを防ぐ方法を見てみましょう: /lib64/libgcc_s.so.1: ファイルまたはディレクトリが存在しません。ins_rdbms.mk で lib/liborasdkbase.so.11.1 を作成中に発生しました. 以下のページへ移動してください /lib64 ディレクトリに移動し、次のコマンドを実行します:
cd /lib64
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .
コマンドの末尾にあるピリオドを忘れないでください。
Linuxのバージョンを次のように設定します。 Red Hat Linux バージョン5 で /etc/redhat-release. Red Hat Linuxのディストリビューションでは、そのファイルにバージョン情報が格納されています。
echo 'Red Hat Linux release 5' > /etc/redhat-release
Oracleユーザープロファイルの設定
次に、 オラクル ユーザー。
としてログイン オラクル 別のユーザーとしてコンソールを開いている場合は:
su oracle
以下のコマンドを実行してください オラクル:
cd
vim ~/.bashrc
以下の行を .bashrc ファイル:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
# Enter your hostname
ORACLE_HOSTNAME=ubuntu-oracle11; export ORACLE_HOSTNAME
ORACLE_UNQNAME=ORADB11G; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=ORADB11G; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
umask 022
設定を適用します:
source ~/.bashrc
今すぐUbuntuを再起動してください。なお、`source ~/.bashrc` を実行しなくても、再起動後に設定が反映されます。
init 6
Oracleインストーラの準備
Oracleのインストール準備はほぼ完了しました。UbuntuにOracleをインストールするためにインストーラーを起動するまで、あと数ステップ残っています。Ubuntuマシンを再起動した後、 オラクル Ubuntuのグラフィカルユーザーインターフェースで。
ウェブブラウザを開きます。
この例では、ダウンロードした2つのファイルが /home/oracle/Downloads 便宜上:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
Ubuntuでコンソールを開き、次のコマンドを オラクル。 ダウンロードしたファイルが保存されているディレクトリに移動してください:
cd /home/oracle/Downloads
または cd ~/Downloads/
ダウンロードしたZIPアーカイブからインストールファイルを解凍します:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
抽出されたファイルは次の場所に保存されます:
/home/oracle/Downloads/database
これで、インストーラーを実行してUbuntuにOracleをインストールする準備が整いました。
Oracleのインストール
インストールファイルがダウンロードされたディレクトリに移動します。次のコマンドを実行します。 オラクル GUIセッションで起動したコンソール内で。
cd /home/oracle/Downloads/database
Oracleインストーラを実行します:
./runInstaller
1. セキュリティ更新プログラムの設定
""のチェックを外してくださいMy Oracle Support を通じてセキュリティ・アップデートを受け取りたい""チェックボックス。
クリック 次へ Oracle インストールウィザードの次のステップに進むには。
次のようなメッセージが表示されます: メールアドレスが入力されていません。設定に関する重大なセキュリティ上の問題について、通知を受け取らないままにしておきますか? このメッセージは無視して、 はい.
2. インストール方法
選択 データベースの作成と設定.
3. システムクラス
選択 サーバークラスこれは、UbuntuにOracleデータベースをインストールするための高度なオプションです。
4. グリッド設定
選択 シングルインスタンスのデータベースインストール データベースのインストールタイプとして。
5. インストール方法
選択 詳細インストール インストールタイプとして。このオプションでは、パスワード、文字セット、言語、ストレージオプションなどを設定できます。
6. 製品の対応言語
必要な言語を選択してください。この例では、 英語 そして 英語(イギリス) が選択されます。
7. データベース版
選択 エンタープライズ版 インストールするデータベースについて。
8. Oracleのインストール先を選択する
通常、OracleベースディレクトリとOracleホームディレクトリが使用されます。
Oracleベース: /u01/app/oracle
ソフトウェアの場所: /u01/app/oracle/product/11.2.0/dbhome_1
9. 在庫を作成する
Oracleのインストールファイルを保存するために使用されるディレクトリは、"Oracleインベントリディレクトリ"と呼ばれます。
インベントリディレクトリ: /u01/app/oraInventory
oraInventory グループ名: oinstall
10. 構成タイプ
作成するデータベースの種類を選択してください:
汎用/トランザクション処理
11. データベース識別子
グローバル・データベース名とOracleサービス識別子には、同じ値を指定できます。
グローバル・データベース名: ORADB11G
Oracle サービス識別子 (SID): ORADB11G
12. 設定オプション
このステップには4つのタブがあります。各タブでは、次のように設定を行うことができます:
メモリ: 自動メモリ管理を有効にする(既定設定)。
文字セット: Unicode(AL32UTF8)を使用してください。
セキュリティ: すべての新しいセキュリティ設定を適用する(既定)。
スキーマの例: サンプルスキーマを含むデータベースを作成してください(ただし、デフォルト値のままでも構いません)。
13. 管理方法
デフォルトのパラメータのままにしておいても構いません。
14. データベースの保存
ウィンドウに表示されている推奨事項を読み、選択してください ファイルシステム.
データベースファイルの保存場所を指定してください: /u01/app/oracle/oradata
15. バックアップと復旧
この時点で、次のオプションを選択できます: 自動バックアップを有効にしないでください (デフォルト)。
バックアップは重要ですが、UbuntuにOracleをインストールした後でOracleデータベースのバックアップ設定を行う方が良いでしょう。
16. スキーマのパスワード
選択できます すべてのアカウントで同じパスワードを使用するパスワードを入力し、確認のためもう一度入力してください。
17. オペレーティングシステムグループ
ウィンドウに表示されている説明を読み、必要なグループを選択してください。
データベース管理者(OSDBA)グループ: dba
データベースオペレーター(OSOPER)グループ: oinstall
18. 前提条件の確認
ここで、Oracleインストーラはシステム構成が前提条件を満たしているかどうかを確認します。このステップでは警告が表示されます。OSカーネルパラメータ semmni 上記で設定済みですが、このパラメータには"失敗"ステータスが表示されています。
OSカーネルパラメータ: semmni 失敗
このパラメータの値を確認することで、すべてが正しいかどうかを確認できます。以下の項目を確認してください。 semmni コマンドのパラメータ(root権限で実行):
/sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
または
cat /proc/sys/kernel/sem
250 32000 100 128
最後の値が128以上であれば、問題はありませんので、この警告は無視して構いません。
どういうわけか、Oracleの前提条件チェッカーは、 semmni パラメータが正しく設定されており、必要なパッケージがインストールされていることを確認してください。"前提条件の確認"ウィンドウの内容が、上のスクリーンショットに表示されているウィンドウと似ている場合は、 すべて無視 チェックボックスにチェックを入れ、クリックする 次へ 続きを読む。
19. まとめ
設定の概要を確認し、必要な設定がすべて行われていることを確認してください。応答ファイルを保存するには(db.rsp) これは、複数のLinuxマシンにOracleをインストールする必要がある場合や、GUIなしでUbuntu ServerにOracleをインストールする場合に役立つかもしれません。
これで、インストーラーが次のステップに進むまでの間、Oracleインストーラーがファイルをコピーしている状況を監視できるようになりました。 バイナリをリンクする ステージ。
Oracleのバイナリのリンク—リンクおよびコンパイルエラーの修正
この段階は、Ubuntu LinuxにOracleデータベースをインストールする上で最も難しい段階の一つです。このステップでエラーが発生する可能性は高いです。今回の例では、Ubuntu 16にOracle 11gをインストールする際、以下のエラーが発生しました:
makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’ のターゲット ‘install’ の実行中にエラーが発生しました。詳細については、’/u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log’ を参照してください。.
Oracle LinuxにOracleをインストールした場合でも、同様のエラーが発生する可能性があることに注意してください。ログファイルの名前は異なるはずです。
注: ファイルには .mk 拡張機能は Makefile これらはプログラムのコンパイルに使用されます。Makefileは、プログラムのどの"部分"をコンパイルするか、またプログラムのどのファイルをコンパイルしてリンクし合わせるべきかを決定します。 Oracleソフトウェアのコンポーネントには、Javaで記述されたもの(GUIを備えたOracle Universal Installerなど)と、Cで記述されたものがあります。Javaで記述されたコンポーネントはコンパイルせずに実行(解釈)する必要があります(Javaはマルチプラットフォームであるため)。一方、Cで記述されたコンポーネントはコンパイルが必要であり、このプロセスにおいてバイナリとライブラリをリンクする段階が必須となります。 Oracleはこのアプローチを採用することで、柔軟性を高め、さまざまなオペレーティングシステム(Windows、Linux、Solaris)へのOracleのインストールを可能にしています。もう一つの利点は、インストーラのサイズが小さくなることです。欠点は、 バイナリのリンク Oracleのインストールプロセス中の段階。ほとんどの場合、 .mk リンクの問題を解決するためのファイル。
Ubuntu LinuxにOracleデータベースをインストールする際に発生するリンクバイナリエラーの修正方法を見ていきましょう。
としてログインし、 オラクル SSH経由でUbuntuマシンに接続し、ログファイルを確認してください:
tail -n 100 /u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log
ログの出力を確認する際は、エラーの原因を説明している行に注意してください。
INFO: /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk:11: ターゲット"ctxhx"のレシピの実行に失敗しました
ins_ctx.mk:11 その行を参照してください 11 の ins_ctx.mk ファイル。
それでは、このファイルを開いてみましょう。 ins_ctx.mk そのファイルを開き、11行目を確認してください。
vim /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk
のナビゲーションモードでは vim タイプ :set number 行番号を表示するには。
11行目を探してみましょう。
ナビゲーションモードを使用する際は vim, 以下のコマンドで必要な文字列を見つけることができます:
/LINK_CTXHX
以下のセクションを編集してください:
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
11行目を次のように編集してください:
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
保存する ins_ctx.mk そして辞める vim.
次に、Oracleのインストールエラー画面に戻り、[クリック] 再試行.
インストール処理は続行されますが、数秒後に別のエラーが表示されます。 エージェントライブラリの構築:
Makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’ のターゲット ‘agent nmhs’ の呼び出しでエラーが発生しました.
次のコマンドを次のユーザーとして実行してください オラクル この問題を解決するには:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
sed -i 's/^(s*$(MK_EMAGENT_NMECTL))s*$/1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
注: sed は、編集にかかる時間を節約するために使用されるストリームテキストエディタです。 .mk vim やその他の対話型テキストエディタで編集する場合と比べて、ファイルの比較が容易になります。
上記の 2 つのコマンドを実行した後、クリックしてください 再試行 Oracleのインストールエラーウィンドウに表示されます。エラーが解消され、Ubuntu LinuxへのOracleデータベースのインストールが進行中であることが確認できます。しかし、数秒後に別のエラーが発生します。 RDBMS実行ファイルのリンク:
makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk’ のターゲット ‘all_no_orcl’ の呼び出しでエラーが発生しました.
次のコマンドを次のユーザーとして実行してください オラクル このエラーやその他の類似したエラーを修正するには:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
cd $ORACLE_HOME/lib
ln -s libclient11.a libagtsh.a
$ORACLE_HOME/bin/genagtsh $ORACLE_HOME/lib/libagtsh.so 1.0
sed -i 's/^($LD $LD_RUNTIME) ($LD_OPT)/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/bin/genorasdksh
sed -i 's/^(s*)($(OCRLIBS_DEFAULT))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk
sed -i 's/^(TNSLSNR_LINKLINE.*$(TNSLSNR_OFILES)) ($(LINKTTLIBS))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/network/lib/env_network.mk
sed -i 's/^(ORACLE_LINKLINE.*$(ORACLE_LINKER)) ($(PL_FLAGS))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
次に、エラーウィンドウに戻り、[クリック] をクリックします 再試行これで、インストールプロセスがエラーなく再開されるはずです。
以下の処理が完了すると、Oracle Database Configuration Assistant (DBCA) が起動します。 バイナリをリンクする ステージ。
設定スクリプトの実行
UbuntuへのOracleデータベースのインストールも、いよいよ終盤に差し掛かりました。
以下の2つのスクリプトを次のように実行してください ルート:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
下のスクリーンショットでは、スクリプトが正常に実行されたことが確認できます。
Oracle Databaseのインストールは正常に完了しました.
この通知が表示されたら、Oracleインストーラのウィンドウを閉じることができます。
Ubuntu上でOracleが実行されていることを確認してください
Oracle を実行している Ubuntu マシンで Web ブラウザを開き、Oracle Database Control Manager の Web インターフェースを開いて、Oracle が実行されているかどうかを確認してください。これを行うには、以下のリンクを利用できます:
https://localhost:1158/em
https://ubuntu-oracle11:1158/em
https://192.168.101.11:1158/em
また、ネットワーク上の別のホストから、Oracle を実行している Ubuntu マシンに接続してみることもできます。
接続パラメータを定義します。
ユーザー名: SYS
パスワード: Oracleのインストール時に設定したパスワード
接続方法: SYSDBA
以下は、Oracleが正常に動作している際のOracle Enterprise Managerのスクリーンショットです。
Oracleのインストール後の設定
Oracleのインストールが完了しました。次に、Ubuntuの起動時にデータベースが自動的に開始されるように設定します。以下のファイルを編集してください。 /etc/oratab システム起動時にOracleが起動するように設定する設定ファイル。
コマンドはroot権限で実行してください。
vim /etc/oratab
置き換える N ~へ Y 最後に:
ORADB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y
便利なコマンド
Oracleを自動起動するように設定する前に、Oracleコンポーネントを手動で起動する方法を理解しておく必要があります。これはトラブルシューティングの際にも役立ちます。以下のコマンドを オラクル user.
データベースを起動します:
$ORACLE_HOME/bin/dbstart $ORACLE_HOME
データベースを停止する:
$ORACLE_HOME/bin/dbshut $ORACLE_HOME
データベース制御用のWebインターフェースを提供する"Database Control Enterprise Manager"を起動します:
emctl start dbconsole
データベース・コントロール・マネージャーを停止します:
emctl stop dbconsole
データベース・コントロール・マネージャーのステータスを確認してください:
emctl status dbconsole
リスナーを起動します:
$ORACLE_HOME/bin/lsnrctl start
リスナーを停止する:
$ORACLE_HOME/bin/lsnrctl stop
リスナーの状態を確認する:
$ORACLE_HOME/bin/lsnrctl status
データベース設定アシスタントを起動します(SSHコンソールではなく、GUIシェル上で実行してください):
dbca
Oracleリスナーは、次のファイルを編集することで設定できます:
vim $ORACLE_HOME/network/admin/listener.ora
コンソールからデータベースに接続する:
sqlplus / as sysdba;
UbuntuでOracleの起動スクリプトを作成する
Ubuntuの起動時にOracleが自動的に起動するように設定する方法を見ていきましょう。編集した後、 /etc/oratab, には、 /etc/init.d/ ディレクトリ。
UbuntuでOracleの起動スクリプト用の新しいファイルを作成します(コマンドは以下のように実行してください ルート):
vim /etc/init.d/oracle
そのファイルに以下の内容を追加してください:
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
### BEGIN INIT INFO
# Provides: Oracle
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Startup/Shutdown Oracle listener and instance
### END INIT INFO
#ORACLE_UNQNAME="ORADB11G"
#export $ORACLE_UNQNAME
echo "ORACLE_UNQNAME is $ORACLE_UNQNAME"
ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1"
ORACLE_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
echo "dbstart"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "lsnrctl start"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
#Optional : for Enterprise Manager software only
echo "emctl start dbconsole"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/oracle
echo "OK - a script has been executed"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
#Optional : for Enterprise Manager software only
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORAClE_HOME/bin/emctl stop dbconsole"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
rm -f /var/lock/oracle
echo "OK - a script has been executed"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
適切な権限を設定してください:
chown oracle:oinstall /etc/init.d/oracle
chmod 0775 /etc/init.d/oracle
このスクリプトをオペレーティングシステムの起動直後に実行するように設定します(デフォルトのランレベルで利用可能):
update-rc.d oracle defaults
必要に応じて、起動優先順位を編集できます。
Oracleを停止するには、このスクリプトを実行してください(このスクリプトは ルート):
/etc/init.d/oracle stop
Oracle を起動するには、次のコマンドでこのスクリプトを実行してください:
/etc/init.d/oracle start
注: Oracleの起動スクリプト内の以下の行および同様の行に注意してください:
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
まず、シェルが .bashrc のシステムプロファイル オラクル ユーザーには、次のような変数が含まれます ORACLE_HOSTNAME, ORACLE_BASE, PATH など、Oracleコンポーネントが正常に動作するために必要なもの。bashの設定が オラクル ユーザーの設定が現在のシェルセッションに適用された後、次のコマンドを実行してOracleデータベースを起動します。
これと su - そして su?
user1@ホスト名:~$ su - username2 – このコマンドは、選択したユーザーとしてコマンドラインシェルセッションを実行します(ユーザー名2) を選択したユーザーの設定で (ユーザー名2) あたかも~としてログインしているかのように ユーザー名2 (一から)新しいシェルセッションを直接作成する場合。環境変数は ユーザー名2 このシェルセッションで使用されます。
user1@ホスト名:~$ su username2 – このコマンドは、選択したユーザーとしてコマンドラインシェルを実行します(ユーザー名2) 現在のユーザーの設定で (ユーザー1) および ユーザー1 は継承される ユーザー名2 このシェルセッションで。
su -c (–command) は、指定されたコマンドを選択したユーザーとして実行する必要があることを意味します。
トラブルシューティング
UbuntuにOracleをインストールする際に発生しうる問題点と、それらを解決する方法について確認していきましょう。
ORA-12547: TNS: 接続が切断されました
データベース設定アシスタントがデータベースを作成できず、エラーが発生します。
ORA-12547: TNS: 接続が切断されました.
現在の操作に関するログファイルは、以下の場所にあります:
/u01/app/oracle/cfgtoollogs/dbca/ORADB11G
ログファイルを確認してください:
tail -n 100 /u01/app/oracle/cfgtoollogs/dbca/ORADB11G/cloneDBCreation.log
以下の文字列に注意してください:
oracleORADB11G: 共有ライブラリの読み込み中にエラーが発生しました: libaio.so.1: 共有オブジェクトファイルを開けません: そのようなファイルまたはディレクトリはありません
ORA-12547: TNS: 接続が切断されました
このエラーメッセージが表示される原因の一つは、該当するパッケージに関連するライブラリが存在しないことです――libaio1, libaio-dev. 記載されているパッケージがインストールされているか確認し、インストールされていない場合はインストールしてください:
sudo apt-get install libaio1
sudo apt-get install libaio-dev
Ubuntuの起動時にOracleが自動的に起動しない
次のようにスクリプトを実行している場合があるかもしれません ルート すると、次のようなメッセージが表示されます:
"環境変数 ORACLE_UNQNAME が定義されていません。ORACLE_UNQNAME をデータベースの一意の名前として設定してください"。
この状況では、Ubuntuの起動時にOracleが自動的に起動しません。Oracle Enterprise Manager 11g Database Controlの起動時にこのエラーメッセージが表示される場合は、環境変数を確認してください。
How to check the ORACLE_UNQNAME?
ORACLE_UNQNAME を確認するには(コマンドの実行は オラクル).
sqlplus / as sysdba;
SQL> SELECT name, db_unique_name FROM v$database;
SQL> exit
編集 /etc/profile (root として):
vim /etc/profile
の末尾に次の行を追加してください /etc/profile ファイル:
ORACLE_UNQNAME=ORADB11G; export ORACLE_UNQNAME
OracleがインストールされているUbuntuマシンを再起動してください。
これで、スクリプトを実行してもこのエラーは表示されなくなり、実行後にOracleが起動するはずです。 /etc/init.d/oracle start コマンドを手動で実行します。しかし、Ubuntu Linuxの起動時にOracleが依然として自動起動しません。この問題の原因は、スクリプトが実行されているシェルに対して環境変数が設定されていないためです。上記のOracle起動スクリプトの説明を参照し、ご自身のスクリプトを注意深く確認してください。
Ubuntu 18にOracle 11gをインストールすることは可能ですか?
Ubuntu 18には、Oracle 11g R2との互換性が大幅に向上した、新しいバージョンのLinuxシステムライブラリが搭載されています。 バイナリをリンクする Oracleのインストール段階。例:
Makefile ‘u01/app/oracle/product/11.2.0/dbhome_1/precomp/lib/ins_precomp.mk’ のターゲット ‘links proc gen_pcscfg’ の呼び出しでエラーが発生しました.
そのため、このチュートリアルではUbuntu 16を使用しています。もちろん、Ubuntu 18にOracle 11gをインストールすることも可能ですが、いくつかの困難に直面する可能性があることを覚悟しておいてください。古いバージョンのパッケージやライブラリをインストールする必要が生じ、その結果、Ubuntuオペレーティングシステムをダウングレードすることになるかもしれません。
Ubuntu 18へのOracleデータベースのインストール手順は、Ubuntu 16へのインストール手順(Oracle 11g R2 EEの場合)と似ています。 バイナリをリンクする エラーが発生した場合は、ログを分析し、ドキュメントを参照して、リンクエラーを修正する必要があります。
ファイルを編集した後、ライブラリを手動で再リンクするには、次のコマンドが役立つ場合があります:
$ORACLE_HOME/bin/relink all
結論
このブログ記事では、Oracle XE(Express Edition)のインストールよりもはるかに複雑なプロセスである、Oracle 11g R2 Enterprise Editionのインストール手順について解説しました。UbuntuにOracleデータベースをインストールするには、ファイルやシステムパラメータの手動設定を行う必要があります。
Ubuntu LinuxへのOracleのインストールは簡単な作業ではありませんが、Oracle Enterprise Editionには多くの利点があります。 特に注意が必要なOracleのインストール手順は、Ubuntuパッケージのインストール、バイナリのリンク、および起動スクリプトの作成です。お使いのUbuntuとOracleのバージョンが本記事で使用したものと同じ場合は、ステップバイステップのチュートリアルに従ってOracleを正常にインストールしてください。Oracleデータベースの展開後は、バックアップを作成することを忘れないでください。







































