Centos7でOracleデータベースをインストールするための完全な手順

Oracleデータベースの公式ドキュメント

1.環境を確認する

[root@node82 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

プロセッサアーキテクチャが、インストールするOracleソフトウェアのバージョンと一致していることを確認します。予期した出力が表示されない場合は、このシステムにソフトウェアをインストールできません。
メモリとスワップパーティション
free -mまたはfree -gを確認します。
ここに画像の説明を挿入
注:oralceデータベースを展開する場合は、スワップパーティションがあり、スペースが128Mより大きいことも確認してください。

第二に、データベースのインストール

2.1データベースのバージョン

(Enterprise Edition):Oracle Database 11g Enterprise Editionリリース11.2.0.4.0-64bit Production
インストールパッケージには、添付の圧縮パッケージ名が次のように表示されます。ここに画像の説明を挿入

2.2パラメータの変更

2.2.1 limits.confファイルの変更
ユーザーのシェル制限を変更し、/ etc / security / limits.confファイルを変更します。
コマンドvi /etc/security/limits.conf i keyを入力して編集モードに入り、次のコンテンツを追加します(直接コピーすることをお勧めします)

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536 

2.2.2ログインファイルの変更
/etc/pam.d/loginファイルを変更する
次のコマンドを入力します:vi /etc/pam.d/login、iキーを使用して編集モードに入り、ファイルの最後に以下を追加します

session required /lib64/security/pam_limits.so
session required pam_limits.so 

2.2.3 sysctl.confファイルの変更
入力コマンド:vi /etc/sysctl.conf、iキーを押して編集モードに入り、次の内容をファイルに追加します。

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 -p

** 2.2.4 / etc /プロファイルファイルの変更**
次のコマンドを入力します:vi / etc /プロファイル、iキーで編集モードに入り、次の内容をファイルに追加します。

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
 ulimit -p 16384
 ulimit -n 65536
else
 ulimit -u 16384 -n 65536
fi
fi 

3.インストールの準備

3.1依存パッケージの改善
異なるバージョンについては、公式ドキュメントを参照してください

sudo yum -y install binutils compat-libstdc++ elfutils-libelf
elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc
glibc-common glibc-devel glibc-headers kernel-headers libaio libaio-devel
libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC
unixODBC-devel compat-libstdc++-33.x86_64 ksh

compat-libstdc ++がインストールされていないことを確認した場合
解決策:sudo yum list all | grep "compat-libstdc ++"
ここに画像の説明を挿入
** 3.2ユーザーとグループを
作成する** ソフトウェアのインストールとサポートグループの所有者として関連するユーザーとグループを作成します。
Oracleユーザーとパスワードを作成し、次のコマンドを入力します。

 groupadd dba
 groupadd oinstall
 useradd oracle -g oinstall -G dba ##使Oracle用户同时属于这两个组
 passwd oracle 

次に、パスワードの入力を求められます。パスワードは任意に2回入力できますが、一致している必要があり、Enterキーを押して確認します。
ヒント:Linuxでユーザーのジャンルを表示するgroups <user1> <user2> <user3>

3.3データベースソフトウェアディレクトリの
作成データベースソフトウェアディレクトリとデータファイルストレージディレクトリを作成します。ディレクトリの場所は、状況に応じて決定されます。
ディスク容量に注意して、次のコマンドを入力します。

mkdir -p /home/oracle/app/{oracle,oraInventory,oradata}

3.4ディレクトリ所有権の変更ディレクトリ所有者を
変更するには、Oracleユーザーが所有しています。次のコマンドを入力します。

chown -R oracle:oinstall /home/oracle/app

3.5環境変数の構成
oracleユーザーの環境変数を構成するには、まず、新しく作成したoracleユーザーに切り替え、次のように入力します。su-oracle、次に直接入力します。vi.bash_profile iキーで編集モードに入り、次の内容をファイルの最後に追加します。

export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 

第四に、インストールプロセス

4.1パッケージを解凍する
まず、ダウンロードしたOracleインストールパッケージをLinuxにコピーします。

sudo yum -y install unzip --安装解压包(可忽略)
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip 

解凍が完了すると、cdは解凍されたディレクトリデータベースに入ります。lsコマンドを使用して、解凍されたデータベースに含まれているファイルを表示することもできます。

cd database

4.2応答テンプレートファイル
Oracleユーザーログインsu-oracleをコピーし、次のコマンドを入力します。

mkdir etc
cp /home/oracle/database/response/* /home/oracle/etc/ 

** 4.3応答ファイルの権限を設定します**
rootユーザーに切り替え、su-root、次のコマンドを入力します。

chown -R oracle.dba /home/oracle/etc
chmod 700 /home/oracle/etc/*.rsp 

** 4.4 Oracleソフトウェアをサイレントインストールする**
Oracleユーザーに切り替え、su-oracle
が応答ファイルを変更してOracleソフトウェアをインストールする/home/oracle/etc/db_install.rsp
/ home / oracle / appはカスタムデータディレクトリに変更できます。次のコマンド:

vi /home/oracle/etc/db_install.rsp

変更するパラメーターは次のとおりです。

oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型
ORACLE_HOSTNAME=localdomain //37 行 主机名称,通过 hostname 命令获得
UNIX_GROUP_NAME=oinstall//42 行 安装组
INVENTORY_LOCATION=/home/oracle/app/oraInventory //47 行 INVENTORY 目
录
SELECTED_LANGUAGES=en,zh_CN,zh_TW //78 行 选择语言
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1 //83 行
oracle_home 和上面配置环境变量里的目录保持一致
ORACLE_BASE=/home/oracle/app/oracle //88 行 oracle_base,和 INVENTORY 目
录要同级
oracle.install.db.InstallEdition=EE //99 行 oracle 版本,EE 为企业版
oracle.install.db.DBA_GROUP=dba //142 行 dba 用户组
oracle.install.db.OPER_GROUP=oinstall //147 行 oper 用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160 行 数据
库类型
oracle.install.db.config.starterdb.globalDBName=orcl //165 行
globalDBName
oracle.install.db.config.starterdb.SID=orcl //170 行 SID
oracle.install.db.config.starterdb.characterSet=ZHS16GBK//指定字符集
oracle.install.db.config.starterdb.installExampleSchemas=false// 是 否
载入模板示例
oracle.install.db.config.starterdb.enableSecuritySettings=true// 是 否
启用安全设置
oracle.install.db.config.starterdb.memoryLimit=512 //192/200 行 自动管
理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=LINKCLD_ORCL //23 行设
定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true //385 行 设置安全更新 

oracleユーザーの下で、su-oracleはデータベースディレクトリの下のcdデータベースに切り替え、次のコマンドを入力します。

./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp

インストールを開始します。インストール中に[警告]が表示されても、注意せずにインストールプログラムを実行しています。
[致命的]と表示された場合は、インストールプログラムが停止しています。次のページが表示されるまで実行します。

The following configuration scripts need to be executed as the "root"
user.
#!/bin/sh
#Root scripts to run
/home/oracle/app/oraInventory/orainstRoot.sh
/home/oracle/app/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window 
2. 2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software. 

新しいウィンドウを開き、rootユーザー、su-rootに切り替えて
、上記の2つのスクリプトを実行します。コマンドは次のとおりです。

sh /home/oracle/app/oraInventory/orainstRoot.sh
sh /home/oracle/app/product/11.2.0/db_1/root.sh

スクリプトの実行が完了したら、上記のインターフェースに戻り、Enterキーを押してoracleユーザーの
環境変数増やします
。oracleユーザーsu-oracleでドキュメントを編集し、次のコマンドvi ~/.bash_profile
を入力します。keyiで編集モードに入り、最後に次のコンテンツを直接追加します。

export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data 

次のコマンドを入力して、上記の設定を有効にします。

source /home/oracle/.bash_profile

4.6サイレントネットワーク
Oracleユーザーsu-oracleを構成し、次のコマンドを入力します。

$ORACLE_HOME/bin/netca /silent /responseFile
/home/oracle/etc/netca.rsp
##配置静默监听程序

次のエラーが報告された場合:

UnsatisfiedLinkError exception loading native library: njni11 java.lang.UnsatisfiedLinkError:
/home/oracle/app/oracle/product/11.2.0/db_1/lib/libnjni11.so: libclntsh.so.11.1: cannle: No such file or directory 

解決策:

cp /home/oracle/app/oracle/product/11.2.0/db_1/inventory/Scripts/ext/lib/libcl
ntsh.so.11.1 /home/oracle/app/oracle/product/11.2.0/db_1/lib

次のコマンドを再度実行します。

netca /silent /responseFile /home/oracle/etc/netca.rsp

プロンプトは次のとおりです。

Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0 

次のコマンドを入力して表示します。

ss -antp|grep 1521

4.7サイレントインストール構成の
変更データベースのみをインストールするための応答ファイル変更するには、次のコマンドを入力します。

vi /home/oracle/etc/dbca.rsp

以下のパラメーターを変更します。

GDBNAME="orcl.localdomain " //78 行 全局数据库的名字=SID+主机域名
SID="orcl" //149 行 SID
CHARACTERSET="ZHS16GBK" //415 行 编码
NATIONALCHARACTERSET="AL16UTF16" //425 行 编码
DATAFILEDESTINATION = /home/oracle/app/oradata //356 行 

** 4.8データベースのサイレントインストール**
Oracleユーザーの場合、su-oracleを指定して次のコマンドを入力し、Enterキーを押します。

$ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp

上記のコマンドを実行すると、画面がホワイトボードに変わります。実際には、この時点でsysとoracleのシステムの
パスワード入力し、2回入力すると、実行率の進行状況が表示され、プロンプトが表示されます。oracle log file is / u01 / app / oracle / cfgtoollogs / dbca / orcl / orcl.log次に、oracleコマンド(6751)の権限を確認および変更します。権限が正しくない場合は、次のコマンドを入力して変更します。

chmod 6751 $ORACLE_HOME/bin/oracle

4.9データベース構築後のインスタンスチェック
リスニングポートを開始し、次のコマンドを入力します。lsnrctl start
データベース構築後のインスタンスチェックは、次のコマンドを入力します。

ps -ef | grep ora | grep -v grep | wc -l
ps -ef | grep ora | grep -v grep
ps -ef|grep oracle|egrep -v "bash|su|grep|ps" 

sqlplusプロセスが正常であることを確認します。次のサービスファイルを構成できます。

oracle 3695 3413 0 14:46 pts/1 00:00:00 sqlplus
oracle 11082 1 0 15:19 ? 00:00:00 /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr LISTENER -inherit 

ライブラリを構築したら、ステータスチェックを聞いて、次のコマンドを入力します。lsnrctl status

ファイブ、スタートアップ

5.1構成の変更
rootユーザーであるsu-rootに切り替えて、次のコマンドを入力します。

vi /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart 

次の内容をファイルに追加します。

ORACLE_HOME_LISTNER=$ORACLE_HOME //在 65 行添加

保存して終了した後、次のコマンドを入力します。

vi /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbshut 

次の内容をファイルに追加します。

ORACLE_HOME_LISTNER=$ORACLE_HOME //在 39 行添加

保存して終了し、次のように入力vi /etc/oratabします。次のように、末尾のNをYに変更します。

orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1:Y

5.2起動ファイルを作成する
ファイル構成を変更し、rootユーザーsu-rootに切り替えて、次のコマンドを入力します。
vi /etc/rc.d/init.d/oracled
次の内容を新しいファイルORACLE_HOME = self-installed directoryに貼り付けます

#! /bin/bash
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database
Management System.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
ORACLE_USER=oracle
case "$1" in
'start')
 if [ -f $LOCKFILE ]; then
 echo $0 already running.
 exit 1
 fi 
 echo -n $"Starting Oracle Database:"
 su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
 su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
 ##su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
 touch $LOCKFILE
 ;;
'stop')
 if [ ! -f $LOCKFILE ]; then
 echo $0 already stopping.
 exit 1
 fi
 echo -n $"Stopping Oracle Database:"
 su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
 su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
 ##su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
 rm -f $LOCKFILE
 ;;
'restart')
 $0 stop
 $0 start
 ;;
'status')
 if [ -f $LOCKFILE ]; then
 echo $0 started.
 else
 echo $0 stopped.
 fi
 ;; 
 *)
 echo "Usage: $0 [start|stop|status]"
 exit 1
esac
exit 0 

権限構成を変更するには、ルートユーザーsu-rootでも次のコマンドを入力します。

chown oracle.dba /etc/init.d/oracled
chmod a+x /etc/init.d/oracled
chkconfig --add oracled
chkconfig oracled on //添加 oracled 服务开机启动 

oracleユーザーのsudo権限を設定し、systemctlコマンドを使用してoracledサービスを管理し、次の
コマンドを入力しますchattr -i /etc/sudoers

visudo

iキーを押して編集モードに切り替え、次のようにファイルの95行目に行を追加します。

oracle   ALL=(ALL)   NOPASSWD:  /etc/init.d/oracled,/usr/bin/systemctl * oracled*

Oracleサーバーの起動、シャットダウン、再起動コマンドは次のとおりです。

su - oracle //su – root 也可以
sudo systemctl start oracled
sudo systemctl stop oracled
sudo systemctl restart oracled 

考えられる問題

オリジナルの記事を10件公開 Likes0 Visits 959

おすすめ

転載: blog.csdn.net/weixin_43572702/article/details/102500658