Oracle 19c for centos7 コマンドラインのサイレント インストールのベスト プラクティス

概要 

Oracle 19c はリレーショナル データベース管理システムであり、CentOS 7 は一般的な Linux オペレーティング システムです。場合によっては、CentOS 7 に Oracle 19c をインストールする必要があります。コマンド ライン サイレント インストールは、人間の介入を必要としないインストール方法であり、インストールを高速化し、エラーの可能性を減らすことができます。このインストール方法では、特定のコマンド ライン パラメーターと構成ファイルを使用して、インストール オプションと構成情報を指定する必要があります。このインストール方法は、Oracle 19c を複数のサーバーにインストールする必要がある状況に適しており、自動スクリプトによってバッチ インストールを実現できます。つまり、コマンド ラインのサイレント インストール方法を使用すると、CentOS 7 での Oracle 19c のインストール効率と精度を向上させることができ、価値のあるインストール方法です。

1. 環境

1.1. ローカル YUM ソースの設定

mount -t auto /dev/cdrom  /mnt

rm -rf /etc/yum.repos.d/

mkdir -p /etc/yum.repos.d/

cat >> /etc/yum.repos.d/CentOS-Media.repo<<EOF

[c7-media]

name=CentOS-$releasever - Media

baseurl=file:///mnt/

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

EOF

yum clean all

yum makecache

1.2. 依存パッケージのインストール

 yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static elfutils-libelf-devel ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel libXext* unzip

1.3. ユーザーグループの作成

groupadd -g 1001 oinstall

groupadd -g 1002 dba

groupadd -g 1003 oper

groupadd -g 1004 asmdba

groupadd -g 1005 backupdba

groupadd -g 1006 dgdba

groupadd -g 1007 kmdba

groupadd -g 1008 racdba


useradd -u 1001 -m -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba,racdba oracle

id oracle

a=1

echo oracle:$a|chpasswd

1.4. ソフトウェアのインストールディレクトリとデータベースディレクトリの作成

mkdir -p /u01/app/oracle

chown -R oracle:oinstall  /u01

chmod -R 775 /u01

mkdir -p /oracle/oinstall

chown -R oracle:oinstall  /oracle

1.5. その他の条件を準備する

hostnamectl set-hostname oracle19c

cat >> /etc/hosts <<EOF

17.21.68.132  oracle19c

EOF

cat >> /etc/sysctl.conf <<EOF

fs.file-max = 6815744 

kernel.sem = 250 32000 100 128 

kernel.shmmni = 4096 

kernel.shmall = 1073741824 

kernel.shmmax = 6597069766656

kernel.panic_on_oops = 1 

net.core.rmem_default = 262144 

net.core.rmem_max = 4194304 

net.core.wmem_default = 262144 

net.core.wmem_max = 1048576 

#net.ipv4.conf.eth3.rp_filter = 2      

#net.ipv4.conf.eth2.rp_filter = 2

#net.ipv4.conf.eth0.rp_filter = 1 

fs.aio-max-nr = 1048576 

net.ipv4.ip_local_port_range = 9000 65500

EOF



cat >> /etc/security/limits.conf <<EOF

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 65536

oracle hard nofile 65536

EOF



cat >> /etc/pam.d/login <<EOF

session required /lib/security/pam_limits.so

EOF



cat >> /etc/profile <<EOF

if [ \$USER = "oracle" ]; then

 if [ \$SHELL = "/bin/ksh" ]; then

 ulimit -p 16384

 ulimit -n 65536

 else

 ulimit -u 16384 -n 65536

 fi

 umask 022

fi

EOF



cat >> /etc/csh.login <<EOF

if ( \$USER == "oracle" ) then

 limit maxproc 16384

 limit descriptors 65536

 umask 022

endif

EOF

cat >>/home/oracle/.bash_profile<<EOF

unset USERNAME

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=\$ORACLE_BASE/product/18.0/db

export ORACLE_SID=orcl

export PATH=\$PATH:\$HOME/bin:\$ORACLE_HOME/bin:\$ORA_CRS_HOME/bin:\$ORACLE_BASE/common/oracle/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin

export ORACLE_PATH=\$ORACLE_BASE/common/oracle/sql:\$ORACLE_HOME/rdbms/admin

export ORACLE_TERM=xterm

export TNS_ADMIN=\$ORACLE_HOME/network/admin

export ORA_NLS10=\$ORACLE_HOME/nls/data

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib

export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=\$ORACLE_HOME/JRE

export CLASSPATH=\${CLASSPATH}:\$ORACLE_HOME/jlib

export CLASSPATH=\${CLASSPATH}:\$ORACLE_HOME/rdbms/jlib

export CLASSPATH=\${CLASSPATH}:\$ORACLE_HOME/network/jlib

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

umask=022

EOF

su - oracle

mkdir -p $ORACLE_HOME

exit

1.7、ファイアウォールとselinuxを閉じます。

systemctl status firewalld

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/=enforcing/=disabled/g'  /etc/selinux/config

setenforce 0

getenforce

1.8. データベースファイルを解凍します。

cd /oracle/

unzip LINUX.X64_190000_db_home.zip

/u01/app/oracle/product/19.0/db

2. データベースをインストールする

2.1. データベース ソフトウェアのインストール

cat >/tmp/db_install.rsp <<EOF

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v18.0.0

oracle.install.option=INSTALL_DB_SWONLY

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/app/oraInventory

ORACLE_HOME=/u01/app/oracle/product/19.0/db

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.OSDBA_GROUP=dba

oracle.install.db.OSOPER_GROUP=oper

oracle.install.db.OSBACKUPDBA_GROUP=backupdba

oracle.install.db.OSDGDBA_GROUP=dgdba

oracle.install.db.OSKMDBA_GROUP=kmdba

oracle.install.db.OSRACDBA_GROUP=racdba

EOF

[oracle@oracle19c db]$ ./runInstaller -silent -ignorePrereq -responseFile /tmp/db_install.rsp

Oracle データベース セットアップ ウィザードを起動しています...

[警告] [INS-13014] ターゲット環境は、いくつかのオプション要件を満たしていません。

   原因: オプションの前提条件の一部が満たされていません。詳細についてはログを参照してください。installActions2022-04-04_03-47-48AM.log

   アクション: 失敗した前提条件チェックのリストをログ (installActions2022-04-04_03-47-48AM.log) から特定します。次に、ログ ファイルまたはインストール マニュアルから、前提条件を満たす適切な構成を見つけて、手動で修正します。

このセッションの応答ファイルは次の場所にあります。

 /u01/app/oracle/product/18.0/db/install/response/db_2022-04-04_03-47-48AM.rsp

このインストール セッションのログは次の場所にあります。

 /tmp/InstallActions2022-04-04_03-47-48AM/installActions2022-04-04_03-47-48AM.log

root ユーザーとして、次のスクリプトを実行します。

        1. /u01/app/oraInventory/orainstRoot.sh

        2. /u01/app/oracle/product/18.0/db/root.sh

次のノードで /u01/app/oraInventory/orainstRoot.sh を実行します。

[オラクル19c]

次のノードで /u01/app/oracle/product/18.0/db/root.sh を実行します。

[オラクル19c]

ソフトウェアのセットアップは正常に完了しましたが、警告がありました。

インストール セッション ログを次の場所に移動しました。

 /u01/app/oraInventory/logs/InstallActions2022-04-04_03-47-48AM

[root@oracle19c ~]# sh /u01/app/oraInventory/orainstRoot.sh

/u01/app/oraInventory の権限を変更します。

グループに読み取り、書き込み権限を追加します。

ワールドの読み取り、書き込み、実行権限を削除します。

/u01/app/oraInventory のグループ名を oinstall に変更します。

スクリプトの実行が完了しました。

[root@oracle19c ~]# sh /u01/app/oracle/product/18.0/db/root.sh

/u01/app/oracle/product/18.0/db/install/root_oracle19c_2022-04-04_03-49-19-555893641.log で root スクリプトの出力を確認してください。

3. サイレントに作成して監視する

netca -silent -responsefile /u01/app/oracle/product/18.0/db/assistants/netca/netca.rsp

[oracle@oracle19c db]$ netca -silent -responsefile /u01/app/oracle/product/18.0/db/assistants/netca/netca.rsp

コマンドライン引数の解析:

    パラメータ「サイレント」= true

    パラメータ「responsefile」 = /u01/app/oracle/product/18.0/db/assistants/netca/netca.rsp

コマンドライン引数の解析が完了しました。

Oracle Net Servicesの構成:

プロファイルの設定が完了しました。

Oracle Net リスナーの起動:

    リスナー コントロールの実行:

      /u01/app/oracle/product/18.0/db/bin/lsnrctl start LISTENER

    リスナー制御が完了しました。

    リスナーは正常に開始されました。

リスナーの設定が完了しました。

Oracle Net Servicesの構成は成功しました。終了コードは0です

4.pdbタイプのデータベースを作成する

4.1. PDB 応答ファイルの準備

mkdir /oradata

chown oracle:oinstall /oradata

touch /oracle/dbca_install.rsp

cat >/oracle/dbca_install.rsp<<EOF

responseFileVersion=/oracle/install/rspfmt_dbca_response_schema_v19.0

gdbName=orcl

sid=orcl

databaseConfigType=SI

createAsContainerDatabase=true

numberOfPDBs=1

pdbName=orclpdb

templateName=/u01/app/oracle/product/19.0/db/assistants/dbca/templates/General_Purpose.dbc

emExpressPort=5500

omsPort=0

characterSet=AL32UTF8

listeners=LISTENER

memoryPercentage=40

automaticMemoryManagement=false

totalMemory=0

datafileDestination =/oradata

EOF



cat /oracle/dbca_install.rsp

4.2、dbca データベース -pdb の構築

dbca -silent -createDatabase  -responseFile  /oracle/dbca_install.rsp

[oracle@oracle19c テンプレート]$ dbca -silent -createDatabase -responseFile /oracle/dbca_install.rsp

SYS ユーザーのパスワードを入力してください:

SYSTEM ユーザーのパスワードを入力してください:

PDBADMIN ユーザーのパスワードを入力してください:

データベース操作の準備

8%完了

データベースファイルのコピー

31%完了

Oracleインスタンスの作成と起動

32%完了

36%完了

40%完了

43%完了

46%完了

データベース作成の完了

51%完了

53%完了

54%完了

プラガブルデータベースの作成

58%完了

77%完了

構成後のアクションの実行

100%完了

データベースの作成が完了しました。詳細については、次のログファイルを確認してください。

 /u01/app/oracle/cfgtoollogs/dbca/orcl。

データベース情報:

グローバルデータベース名:orcl

システム識別子(SID):orcl

詳細については、ログ ファイル「/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log」を参照してください。

[oracle@oracle19c テンプレート]$ sqlplus / sysdba として

SQL*Plus: リリース 19.0.0.0.0 - 2022 年 4 月 4 日土曜日 04:05:11 に本番稼働

バージョン 19.3.0.0.0

著作権 (c) 1982、2018、Oracle。全著作権所有。

に接続されています:

Oracle Database 19c Enterprise Edition リリース 19.0.0.0.0 - 本番環境

バージョン 19.3.0.0.0

SQL> pdb を表示

    CON_ID CON_NAME オープンモード制限あり

---------- ------------------------------ ---------- ----------

         2 PDB$SEED 読み取り専用 いいえ

         3 ORCLPDB 読み取り書き込みいいえ

5. 通常の図書館の建物 - pdb を除く

5.1. 応答ファイルの準備

cat >/oracle/dbca_nopdb.rsp<<EOF

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0

gdbName=oab

sid=oab

templateName=/u01/app/oracle/product/18.0/db/assistants/dbca/templates/General_Purpose.dbc

sysPassword=Oracle123

oracleHomeUserPassword=Oracle123

emExpressPort=5500

totalMemory=1500

sysPassword = Oracle123

systemPassword = Oracle123

datafileDestination =/oradata

characterSet =ZHS16GBK

nationalCharacterSet=AL16UTF16

databaseType = OLTP

automaticMemoryManagement = TRUE

EOF

5.2、dbca ビルド共通ライブラリ

dbca -silent -createDatabase  -responseFile  /oracle/dbca_nopdb.rsp

[oracle@oracle19c テンプレート]$ dbca -silent -createDatabase -responseFile /oracle/dbca_nopdb.rsp

SYS ユーザーのパスワードを入力してください:

SYSTEM ユーザーのパスワードを入力してください:

データベース操作の準備

10%完了

データベースファイルのコピー

40%完了

Oracleインスタンスの作成と起動

42%完了

46%完了

50%完了

54%完了

60%完了

データベース作成の完了

66%完了

69%完了

70%完了

構成後のアクションの実行

100%完了

データベースの作成が完了しました。詳細については、次のログファイルを確認してください。

 /u01/app/oracle/cfgtoollogs/dbca/oab。

データベース情報:

グローバルデータベース名:oab

システム識別子(SID):oab

詳細については、ログ ファイル「/u01/app/oracle/cfgtoollogs/dbca/oab/oab.log」を参照してください。

[oracle@oracle19c テンプレート]$ sqlplus / sysdba として

SQL*Plus: リリース 19.0.0.0.0 - 2022 年 4 月 4 日土曜日 04:13:51 に本番稼働

バージョン 19.3.0.0.0

著作権 (c) 1982、2018、Oracle。全著作権所有。

に接続されています:

Oracle Database 19c Enterprise Edition リリース 19.0.0.0.0 - 本番環境

バージョン 19.3.0.0.0

SQL> pdb を表示

SQL>

おすすめ

転載: blog.csdn.net/m0_37723088/article/details/130616891