CentOS Stream8 に Oracle19cをサイレントインストール

Oracleも12cはサポートやめてしまったので、最近は19へのアップデートがあちこちで発生しているでしょう。なんならOSもというので、今日はCentOS改め、CentOS Stream 8に、Oracle19cを載せる試みの奮闘記を。

 

 

1.VirtualBoxCentOS Stream8をインストールしておく

VirtualBoxを使います。フリーなので。

 

なお、VirtualBoxのバージョンによるのか、あるいはRHEL8なのか、インストーラがkernel panicになることがあるようです。原因はHyper-Vらしいのですが、詳しくないので詳細は省きます。

 

対処としては、Windowsコマンドプロンプトを管理者権限で起動し以下実行し、PC再起動すると、Hyper-Vのオプションを殺してくれます。
bcdedit /set hypervisorlaunchtype off
DISM /Online /Disable-Feature:Microsoft-Hyper-V
DISM /Online /Get-Features

 


お約束のSELinux無効化とFirewalld停止、sshdのUseDNSをOFFり、/etc/hostsに実IP記載し再起動しておきましょう。

 


2.ユーザ・グループの追加

もちろん、rootで実行します。

useradd oracle
passwd oracle
groupadd oinstall
groupadd dba
groupadd oper
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba
usermod -aG oinstall,dba,oper,backupdba,dgdba,kmdba,racdba oracle

 

 

 

3.各種事前インストール
色々、依存パッケージを入れておきましょう。この辺りは好き好きで追加して。

yum install -y unzip libnsl

 

 

4.OracleRPMインストール
有り難いことに、Oracle19cから、サイレントインストール用にrpmが用意されています。事前に/rootにOracle19cのrpmを配置しておきましょう。言わずもがな、でかいです。
oracle-database-ee-19c-1.0-1.x86_64.rpm

 

 

では、インストールです。まずは、依存関係のあるrpmcurlで取得しておきます。

curl -o compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

curl -o compat-libcap1-1.10-7.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/compat-libcap1-1.10-7.el7.x86_64.rpm

rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
rpm -ivh compat-libcap1-1.10-7.el7.x86_64.rpm

 

curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

 

プレインストーラがあるんですね。ローカルインストールします。
yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

 

プレが終わったら、本チャンです。
yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

 

 

昔はrootで流すスクリプトがあったのですが、rpm版では不要みたい。

 

 

 


5.DB作成

以下はOracleユーザで実行です。
su - oracle


ホームディレクトリにdbca.rspを配置します。サンプルをコピーして使いましょう。内容は環境次第なのでいいように設定してください。とりあえず動かすだけなら以下のパラメータくらいでいいでしょう。mydbのところは自分の好きなSIDに変えてね。

 

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=mydb
sid=mydb
templateName=New_Database.dbt
sysPassword=oracle
systemPassword=oracle 
characterSet=JA16SJISTILDE
nationalCharacterSet=AL16UTF16

 

ちなみに、このままだやると、後続のdbcaコマンド実行時にパスワードが単純すぎだと怒られます。まあ、構築できるので無視しますけど。本番システムの場合はちゃんとしましょうということで。

 

 

 


環境変数設定

oracleユーザのホームディレクトリ/home/oracleの.bash_profileに以下緑字を追加します。


vi .bash_profile
export ORACLE_BASE=/opt/oracle/product
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1/
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=mydb
export NLS_LANG=Japanese_Japan.JA16SJIS

 

読み込んでおきましょう。

source ~/.bash_profile

 

 

 

構築実行

$ORACLE_HOME/bin/dbca -silent -createDatabase -responseFile ~/dbca.rsp



 

 

いつものことですが、dbcaは時間かかります。

 

 

 

終わったらサーバ再起動。

oracleユーザでログインし、sqlplusで接続してみましょう。

 

sqlplus / as sysdba

 

接続できたら、起動しましょう!

 

SQL>startup

 

リスナも起動

SQL>quit

lsnrctl start

 

 

 

一通り動作確認できたら、停止しときましょう。

 

lsnrctl stop

sqlplus / as sysdba

SQL>shutdown immediate

SQL>quit

 

 

 

 

 

 

rpmはやっぱり楽は楽ですね。/optの下にインストールされます。インストール先をカスタマイズする方法もあるのかもしれませんが、自分は困らないので、これで今日はおしまい。