このブログでは、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 権限の付与: ユーザーはストアド プロシージャ、シーケンス、シノニム、トリガー、タイプ、ビューを作成できるようになり、管理者オプションで無制限のテーブル スペース権限が付与されます。