Ubuntu Linux に Oracle 11g をインストールする方法:完全ガイド
Oracle Databaseは、Oracle Corporationが開発した信頼性の高いマルチプラットフォーム対応のデータベース管理ソフトウェアです。このソフトウェアには、高いパフォーマンス、幅広い機能、クラスタのサポート、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データベース 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 CPU
- RAM:4 GB
- ハードディスクドライブ:40 GB
user1 この例では、is が通常のユーザーです(user1 (Ubuntuのインストール中に作成され、Ubuntuへのログインに使用されます)。
以下のパッケージがインストールされます:
- vim、テキストエディタ
- net-tools、ネットワーク管理ツール
- 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
以下の内容で、8 GBの新しいファイルを作成します。 dd ツール:
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
作成した 8 GB のファイルをスワップファイルとして設定します:
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
次に、そのグループのメンバーである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
1列目は、制限が設定されるユーザーを指定します。
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
上記の行がない場合は、手動でこの行を追加してください。
シェルプロファイルの設定
システム全体の環境変数は、以下の場所に設定されているグローバルなbashシェルプロファイルで設定されます。 /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 aからのファイル 無料のリソース. ダウンロードしたファイルを保存してください deb このパッケージをインストールする前に、ファイルを /home/user1/Downloads などの任意のディレクトリに保存してください。
Ubuntu で deb パッケージをインストールする手順は以下の通りです(コマンドは root 権限で実行してください):
sudo dpkg -i パッケージ名.deb
sudo apt-get -f install
この場合、パッケージをインストールするためのコマンドは一般ユーザーとして実行します。例えば、 user1 ~を使用して sudo. プレス Ctrl+D ルートセッションを終了し、 user1 コンソール(ターミナル)でのセッション。
ダウンロードしたファイルが保存されているディレクトリに移動します:
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
注記: リンクが機能しない場合は、古いバージョンの代わりに新しいバージョンのパッケージを公開することも可能です。その場合は、ブラウザでウェブページにアクセスし、必要なリンクをコピーしてください。 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 in /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でコンソールを開き、以下のコマンドを oracle。 ダウンロードしたファイルが保存されているディレクトリに移動します:
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 データベースをインストールする際に発生する”link binaries”エラーの修正方法を見ていきましょう。
としてログインし、 オラクル 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
“Save the” 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データベースが起動します。
以下の2つの違いは何ですか。 su - そして su?
user1@ホスト名:~$ su - username2 – このコマンドは、選択したユーザーとしてコマンドラインシェルセッションを実行します(username2) を選択したユーザーの設定で (username2) まるで次のようにログインしているかのように username2 (一から)新しいシェルセッションを直接作成する場合。の環境変数 username2 このシェルセッションで使用されます。
user1@ホスト名:~$ su username2 – このコマンドは、選択したユーザーとしてコマンドラインシェルを実行します(username2) 現在のユーザーの設定で (user1) および user1 は、以下のものから継承されます username2 このシェルセッションで。
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 OSをダウングレードしなければならない場合もあります。
Ubuntu 18へのOracleデータベースのインストール手順は、Ubuntu 16へのインストール手順(Oracle 11g R2 EEの場合)と似ています。 バイナリのリンク エラーが発生した段階では、ログを分析し、ドキュメントを参照して、リンクエラーを修正する必要があります。
ファイルを編集した後、ライブラリを手動で再リンクするには、次のコマンドが役立つ場合があります:
$ORACLE_HOME/bin/relink all
結論
このブログ記事では、Oracle 11g R2 Enterprise Edition のインストール手順について解説しました。これは、Oracle XE(Express Edition)のインストールよりもはるかに複雑なプロセスです。Ubuntu に Oracle データベースをインストールするには、ファイルやシステムパラメータの手動設定を行う必要があります。
Ubuntu Linux への Oracle のインストールは簡単な作業ではありませんが、Oracle Enterprise Edition には多くの利点があります。 特に注意を要するOracleのインストール手順は、Ubuntuパッケージのインストール、バイナリのリンク、および起動スクリプトの作成です。お使いのUbuntuとOracleのバージョンがこの記事で使用したものと同じ場合は、ステップバイステップのチュートリアルに従ってOracleを正常にインストールしてください。Oracleデータベースの展開後は、バックアップを作成することをお忘れなく。







































