در این متن قصد داریم به شیوه نصب اوراکل 18c با کمک RPM بپردازیم. قبل از نصب نرم افزار، باید بسته های مورد نیاز را در سطح سیستم عامل نصب کرده و مقدمات لازم را برای نصب نرم افزار فراهم کنیم.
به این منظور، ابتدا باید repositoryای را ایجاد کنیم که در قسمت زیر، نحوه ایجاد ان را می بینید:
[root@ol7 ~]# mkdir /dvd
[root@ol7 ~]# mount /dev/sr0 /dvd
mount: /dev/sr0 is write-protected, mounting read-only
[root@ol7 ~]# vi /etc/yum.repos.d/usef.repo
[_usef]
baseurl=file:///dvd/
gpgcheck=0
enabled=1
برای انجام خودکار مقدمات نصب نرم افزار اوراکل 18c(اعم از نصب پکیجها، ساخت یوزر، تنظیم محدویتهای کاربر اوراکل و ….)، از فایل زیر کمک می گیریم:
oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
با اجرای دستور زیر، مقدمات نصب، بدون هرگونه مداخله ای، انجام خواهد شد:
[root@ol7 ~]# yum localinstall /source/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
Install 1 Package (+8 Dependent packages)
Total size: 11 M
Total download size: 11 M
Installed size: 19 M
Is this ok [y/d/N]: y
Downloading packages:
———————————————————————————————————————————————
Total 48 MB/s | 11 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : ksh-20120801-137.0.1.el7.x86_64 1/9
Installing : libstdc++-devel-4.8.5-28.0.1.el7.x86_64 2/9
Installing : kernel-headers-3.10.0-862.el7.x86_64 3/9
Installing : glibc-headers-2.17-222.el7.x86_64 4/9
Installing : glibc-devel-2.17-222.el7.x86_64 5/9
Installing : libaio-devel-0.3.109-13.el7.x86_64 6/9
Installing : compat-libcap1-1.10-7.el7.x86_64 7/9
Installing : compat-libstdc++-33-3.2.3-72.el7.x86_64 8/9
Installing : oracle-database-preinstall-18c-1.0-1.el7.x86_64 9/9
Installed:
oracle-database-preinstall-18c.x86_64 0:1.0-1.el7
Dependency Installed:
compat-libcap1.x86_64 0:1.10-7.el7 compat-libstdc++-33.x86_64 0:3.2.3-72.el7
glibc-devel.x86_64 0:2.17-222.el7 glibc-headers.x86_64 0:2.17-222.el7
kernel-headers.x86_64 0:3.10.0-862.el7 ksh.x86_64 0:20120801-137.0.1.el7
libaio-devel.x86_64 0:0.3.109-13.el7 libstdc++-devel.x86_64 0:4.8.5-28.0.1.el7
Complete!
بعد از اجرای این دستور، خواهیم دید که پیش نیازهای نصب نرم افزار اوراکل انجام شده اند:
[root@ol7 ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
[root@ol7 ~]# ll /etc/sysctl.d/
-rw-r–r–. 1 root root 449 Nov 10 16:16 99-initial-sysctl.conf
-rw-r–r–. 1 root root 1966 Nov 10 16:16 99-oracle-database-preinstall-18c-sysctl.conf
[root@ol7 ~]# ll /etc/security/limits.d/
-rw-r–r–. 1 root root 191 Jan 28 2018 20-nproc.conf
-rw-r–r–. 1 root root 983 Nov 10 16:16 oracle-database-preinstall-18c.conf
همچنین لاگ مربوط به اجرای این دستور را می توان در مسیر زیر ملاحضه کرد:
[root@ol7 ~]# cat /var/log/oracle-database-preinstall-18c/results/orakernel.log
Adding user oracle with user id 54321, initial login group oinstall, supplementary groups oinstall,dba,oper,backupdba,dgdba,kmdba,racdba and home directory /home/oracle
Changing ownership of /home/oracle to oracle:oinstall
Saving a copy of the initial sysctl.conf
Verifying kernel parameters as per Oracle recommendations…
Adding fs.file-max = 6815744
Adding kernel.sem = 250 32000 100 128
Adding kernel.shmmni = 4096
Adding kernel.shmall = 1073741824
Adding kernel.shmmax = 4398046511104
Adding fs.aio-max-nr = 1048576
Adding net.ipv4.ip_local_port_range = 9000 65500
Altered file /etc/sysctl.conf
Saved a copy of the current file in /etc/sysctl.d/99-oracle-database-preinstall-18c-sysctl.conf
Check /etc/sysctl.d for backups
Verification & setting of kernel parameters passed
Setting user limits using /etc/security/limits.d/oracle-database-preinstall-18c.conf
Verifying oracle user OS limits as per Oracle recommendations…
Adding oracle soft nofile 1024
Adding oracle hard nofile 65536
Adding oracle soft nproc 16384
Adding oracle hard nproc 16384
Adding oracle soft stack 10240
Adding oracle hard stack 32768
Adding oracle hard memlock 134217728
Adding oracle soft memlock 134217728
Setting oracle user OS limits as per Oracle recommendations…
Altered file /etc/security/limits.d/oracle-database-preinstall-18c.conf
Taking a backup of old config files under /var/log/oracle-database-preinstall-18c/backup/Nov-10-2018-16-16-21
بعد از فراهم اوردن مقدمات نصب، وارد مرحله نصب اوراکل 18c از طریق Rpm خواهیم شد. بعد از دانلود RPM، با کمک دستور زیر، این RPM را نصب می کنیم:
[root@ol7 ~]# yum localinstall /source/oracle-database-ee-18c-1.0-1.x86_64.rpm
Loaded plugins: langpacks, ulninfo
Repository ‘_usef’ is missing name in configuration, using id
Examining /source/oracle-database-ee-18c-1.0-1.x86_64.rpm: oracle-database-ee-18c-1.0-1.x86_64
Marking /source/oracle-database-ee-18c-1.0-1.x86_64.rpm to be installed
Resolving Dependencies
–> Running transaction check
—> Package oracle-database-ee-18c.x86_64 0:1.0-1 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
=====================================================================
Package Arch Version Repository Size
=====================================================================
Installing:
oracle-database-ee-18c x86_64 1.0-1 /oracle-database-ee-18c-1.0-1.x86_64 7.8 G
Transaction Summary
======================================================================
Install 1 Package
Total size: 7.8 G
Installed size: 7.8 G
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : oracle-database-ee-18c-1.0-1.x86_64 1/1
[INFO] Executing post installation scripts…
[INFO] Oracle home installed successfully and ready to be configured.
To configure a sample Oracle Database you can execute the following service configuration script as root: /etc/init.d/oracledb_ORCLCDB-18c configure
Verifying : oracle-database-ee-18c-1.0-1.x86_64 1/1
Installed:
oracle-database-ee-18c.x86_64 0:1.0-1
با اجرای این دستور، اوراکل 18c در مسیر زیر نصب خواهد شد:
ORACLE_HOME=/opt/oracle/product/18c/dbhome_1
همچنین لاگهای ایجاد شده در حین نصب را می توانیم در مسیر زیر ببینیم:
[root@ol7 ~]# cat /var/log/oracle-database-ee-18c/results/oraInstall.log
[INFO] Starting the installation process of the Oracle Database…
11/10/2018-04:43:01 PM
[INFO] Registering Oracle home to the Oracle inventory…
[INFO] Oracle home registered to the Oracle inventory.
[INFO] Executing post installation scripts…
[INFO] Setting up inventory as it has not been setup on this machine.
[INFO] Configuring ADR directories…
[INFO] ADR directories configured.
[INFO] Post installation scripts executed successfully.
[INFO] Oracle home installed successfully and ready to be configured.
بعد از نصب نرم افزار اوراکل، به مرحله ایجاد دیتابیس می رسیم. برای ایجاد دیتابیس، می توان به فرم سابق، از ابزار dbca استفاده کرد و یا از اسکریپتی که به همراه نصب نرم افزار اوراکل ایجاد شده است، بانکی را ایجاد نمود:
/etc/init.d/oracledb_ORCLCDB-18c
در این اسکریپت، تنظیماتی را در مورد شیوه ایجاد دیتابیس خواهیم دید مسائلی چون تنظیم کارکترست، اسامی pdbها و …:
export ORACLE_HOME=/opt/oracle/product/18c/dbhome_1
export ORACLE_VERSION=18c
export ORACLE_SID=ORCLCDB
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=AL32UTF8
export PDB_NAME=ORCLPDB1
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=true
در نهایت با اجرای دستور زیر، دیتابیسی ایجاد خواهد شد:
[root@ol7 ~]# /etc/init.d/oracledb_ORCLCDB-18c configure
Configuring Oracle Database ORCLCDB.
Prepare for db operation
8% complete
Copying database files
31% complete
Creating and starting Oracle instance
32% complete
36% complete
40% complete
43% complete
46% complete
Completing Database Creation
51% complete
54% complete
Creating Pluggable Databases
58% complete
77% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/opt/oracle/cfgtoollogs/dbca/ORCLCDB.
Database Information:
Global Database Name:ORCLCDB
System Identifier(SID):ORCLCDB
Look at the log file “/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log” for further details.
Database configuration completed successfully. The passwords were auto generated, you must change them by connecting to the database using ‘sqlplus / as sysdba’ as the oracle user.
برای اتصال به این دیتابیس به کمک sqlplus، به کاربر oracle لاگین کرده و با تنظیم متغیرهای ضروری، sessionای را ایجاد می کنیم:
[oracle@ol7 ~]$ export ORACLE_HOME=/opt/oracle/product/18c/dbhome_1
[oracle@ol7 ~]$ export ORACLE_SID=ORCLCDB
[oracle@ol7 ~]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@ol7 ~]$ sqlplus “/as sysdba”
SQL*Plus: Release 18.0.0.0.0 – Production on Sat Nov 10 18:18:46 2018
Version 18.3.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 – Production
Version 18.3.0.0.0
SQL> select database_role,open_mode from v$database;
DATABASE_ROLE OPEN_MODE
—————- ——————–
PRIMARY READ WRITE
Comment (1)