CentOS 7 に Oracle 11g データベースをインストールする

このブログでは、CentOS 7 オペレーティング システムに Oracle 11g データベースをインストールする手順と、Oracle データベースにテーブル スペースとユーザーを作成するスクリプトを紹介します。

1. 必要なソフトウェアと依存関係をインストールする

まず、必要なソフトウェアと依存関係をインストールする必要があります。ターミナルで次のコマンドを実行します。

yum -y install xorg-x11-xauth
yum -y install libXtst
yum -y install unzip

2. ファイアウォールとSELinuxをオフにする

インストールをスムーズに行うには、ファイアウォールと SELinux を一時的にオフにする必要があります。

systemctl stop firewalld
systemctl disable firewalld

vi /etc/selinux/config
# 修改 SELINUX=disabled,用于指示系统在启动时禁用 SELinux。

# 立即将 SELinux 切换到“宽松模式”,允许警告但不会阻止操作
setenforce 0

3. スワップパーティションの確認と作成

Oracle のインストール プロセスには、ある程度のスワップ領域が必要です。次のコマンドを使用して、十分なスワップがあるかどうかを確認できます。

free -m

スワップ領域が不足している場合は、新しいスワップ パーティションを割り当てることで解決できます。

4. ホスト名とhostsファイルを変更します。

/etc/hostsホスト名と IP アドレスのマッピングをファイルに追加します

vi /etc/hosts
# 添加类似这样的行:192.168.20.235  oracle

5. Oracle 依存関係パッケージをインストールする

Oracle に必要な依存関係パッケージをインストールします。

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

インストールが正しく行われていることを確認します

rpm -qa gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel

6. ユーザーとグループの作成

Oracle に必要なユーザーとグループを作成します。

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

7. カーネルパラメータを変更する

次の内容を編集し/etc/sysctl.conf て追加します。 ここで、kernel.shmmax = 1073741824 は、ローカル物理メモリ (2G) の半分 (バイト単位) です。

vi /etc/sysctl.conf 

# 增加以下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 1048576
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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

# 修改完之后立即执行修改:
sysctl -p

8. ユーザー制限を変更する

/etc/security/limits.confファイルを編集し、次の内容を追加します。

vi /etc/security/limits.conf
# 添加用户限制设置
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

9. PAM 構成を変更する

/etc/pam.d/loginファイルを編集し、次の内容を追加します。

vi /etc/pam.d/login
# 添加 PAM 配置
session required /lib64/security/pam_limits.so
session required pam_limits.so

10. /etc/profile ファイルを変更します

vi /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

# 执行生效
source /etc/profile

11. 必要なディレクトリを作成する

Oracle に必要なディレクトリを作成し、権限を設定します。

mkdir -p /u01/oracle/product/11.2.0
mkdir /u01/oracle/oradata
mkdir /u01/oraInventory
mkdir /u01/oracle/fast_recovery_area
chown -R oracle:oinstall /u01/oracle
chmod -R 775 /u01/oracle
chown -R oracle:oinstall /u01/oraInventory
chmod -R 775 /u01/oraInventory

12. Oracle ソフトウェア パッケージをアップロードする

Oracle ソフトウェア パッケージ 1of2 2of2 を次のディレクトリにアップロードします/opt/oracle

chown -R oracle:oinstall /opt/oracle
chmod 755 -R /opt/oracle
su - oracle
cd /opt/oracle
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip

13. Oracle ユーザー環境変数を変更する

~/.bash_profileファイルを編集し、Oracle 関連の環境変数を追加します。

vi ~/.bash_profile
# 添加 Oracle 环境变量
ORACLE_BASE=/u01/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export  ORACLE_BASE  ORACLE_HOME  ORACLE_SID  PATH

# 执行以下命令加载环境变量
source ~/.bash_profile

14. サイレント インストール ファイルの構成

ファイルを編集し/opt/oracle/database/response/db_install.rsp、必要に応じてオプションを設定します。

vi /opt/oracle/database/response/db_install.rsp

# 需要设置的选项如下:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/oracle/product/11.2.0
ORACLE_BASE=/u01/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true

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

インストール コマンドを実行し、サイレント インストール ファイルに従ってインストールします。

cd /opt/oracle/database
./runInstaller -silent -responseFile /opt/oracle/database/response/db_install.rsp -ignorePrereq

16. インストール手順を完了します

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

/u01/oraInventory/orainstRoot.sh
/u01/oracle/product/11.2.0/root.sh

17. リスナーの構成

リスナーをサイレントにインストールします。

netca /silent /responseFile /opt/oracle/database/response/netca.rsp

18. Oracle データベースの作成

/opt/oracle/database/response/dbca.rspファイルを編集し、データベース関連のオプションを設定します。

vi /opt/oracle/database/response/dbca.rsp

# 修改如下内容
GDBNAME= "orcl"
SID ="orcl"
SYSPASSWORD= "Oracle_123"
SYSTEMPASSWORD= "Oracle_123"
SYSMANPASSWORD= "Oracle_123"
DBSNMPPASSWORD= "Oracle_123"
DATAFILEDESTINATION=/u01/oracle/oradata
RECOVERYAREADESTINATION=/u01/oracle/fast_recovery_area
CHARACTERSET= "AL32UTF8"
# ----TOTALMEMORY ="1638" 为1638MB,物理内存2G*80%。
TOTALMEMORY= "40960"

# 执行如下命令安装
dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp

19. インストールを完了します

この時点で、Oracle 11g データベースは正常にインストールされ、構成されています。

もちろん、提供したスクリプトの Markdown ブログの説明は次のとおりです。

20. テーブルスペースの作成

まず、スクリプトは 2 つの異なるタイプの表領域を作成します。

20.1 PIS テーブルスペース

CREATE TABLESPACE PIS
LOGGING
DATAFILE '/u01/oracle/oradata/pis.dbf'
SIZE 2048m
AUTOEXTEND ON
NEXT 512m MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;

このコードは、次の設定で「PIS」という名前のテーブルスペースを作成します。

  • ログ: データベースの変更が REDO ログに記録されることを示します。
  • データファイル: 表スペースに関連付けられたデータファイルの場所と名前を指定します。
  • サイズ: テーブルスペースの初期サイズを 2048 メガバイトに設定します。
  • 自動拡張: データ ファイルの自動拡張を有効にします。
  • 次へ: 必要に応じてデータ ファイルのサイズを拡張するように指定します。
  • Maxsize Unlimited: データ ファイルが特定の上限なしで無制限に拡張できることを示します。
  • ローカルのエクステント管理: ローカルのエクステント管理を使用して表スペースを管理します。

20.2 一時表スペース pis_temp

CREATE TEMPORARY TABLESPACE pis_temp
TEMPFILE '/u01/oracle/oradata/pis_temp.dbf' 
SIZE 512m 
AUTOEXTEND ON
NEXT 512m MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;

このコードは、上記のプロセスと同様に、次の設定で「pis_temp」という名前の一時テーブルスペースを作成します。

  • Tempfile: 一時データ ファイルの場所と名前を指定します。
  • サイズ: 一時テーブルスペースの初期サイズを 512 メガバイトに設定します。
  • Autoextend、Next、Maxsize: PIS テーブル スペースの設定と同様です。
  • ローカルのエクステント管理: ローカルのエクステント管理を再度使用して、一時表スペースを管理します。

21. ユーザーの作成

次に、スクリプトは「PIS」という名前のユーザーを作成し、そのユーザーに一連の権限を割り当てます。

create user PIS identified by PIS
  default tablespace pis
  temporary tablespace pis_temp
  profile DEFAULT;

このコードは、次のプロパティを持つユーザー「PIS」を作成します。

  • PIS による識別: ユーザーのパスワードを「PIS」に設定します。
  • デフォルトのテーブルスペース: ユーザーのデフォルトのテーブルスペースを「PIS」に設定します。
  • 一時テーブルスペース: ユーザーの一時テーブルスペースを「pis_temp」に設定します。
  • プロファイル: デフォルトのプロファイル「DEFAULT」をユーザーに割り当てます。

22. 権限を付与する

次のセクションでは、ユーザー「PIS」にさまざまな権限を付与します。

grant connect to PIS;
grant resource to PIS;
grant create procedure to PIS;
grant create sequence to PIS;
grant create synonym to PIS;
grant create trigger to PIS;
grant create type to PIS;
grant create view to PIS;
grant unlimited tablespace to PIS with admin option;

これらのコード行は、ユーザー「PIS」にさまざまな権限を付与します。

  • CONNECT の付与: ユーザーがデータベースに接続できるようにします。
  • リソースの付与: オブジェクトを作成するための基本的なリソース権限をユーザーに付与します。
  • CREATE 権限の付与: ユーザーはストアド プロシージャ、シーケンス、シノニム、トリガー、タイプ、ビューを作成できるようになり、管理者オプションで無制限のテーブル スペース権限が付与されます。

おすすめ

転載: blog.csdn.net/qq_39997939/article/details/132590280