ค้นหาเว็บไซต์

วิธีติดตั้งฐานข้อมูล Oracle 12c บน RHEL/CentOS 7


ฐานข้อมูล Oracle เป็นหนึ่งในระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ที่ใช้กันอย่างแพร่หลายที่สุด (RDBMS) ในสภาพแวดล้อมขององค์กร พัฒนา บำรุงรักษา และสนับสนุนโดย Oracle Corporation RDBMS นี้มักจะถูกติดตั้งบนเวอร์ชัน Enterprise Linux (RHEL, CentOS หรือ Scientific Linux) ทำให้มีระบบปฏิบัติการที่แข็งแกร่งมาก – ตัวเลือกฐานข้อมูล

ในบทความนี้ เราจะอธิบายวิธีการติดตั้ง Oracle 12c Release 2 บนเซิร์ฟเวอร์ RHEL/CentOS 7 GUI

ข้อควรทราบ: ผู้ใช้ RHEL/CentOS 6 สามารถปฏิบัติตามคำแนะนำนี้เพื่อติดตั้ง Oracle Database 12c บน RHEL/CentOS 6.x

เอาล่ะ.

ข้อกำหนดเบื้องต้น:

หลังจากติดตั้ง Oracle 12c การกำหนดค่าจะดำเนินการผ่านอินเทอร์เฟซแบบกราฟิก นั่นคือเหตุผลที่เราต้องการเซิร์ฟเวอร์ CentOS 7 ที่ติดตั้งกลุ่มซอฟต์แวร์ X Window System

อ่านเพิ่มเติม: ติดตั้ง GUI (Gnome) บนเซิร์ฟเวอร์ RHEL/CentOS 7

นอกจากนี้ โปรดทราบว่าจำเป็นต้องมีบัญชี Oracle เพื่อดาวน์โหลดไฟล์การติดตั้ง Oracle Database 12c (3.2 GB) แต่อย่ากังวลกับเรื่องนี้ เนื่องจากคุณสามารถสร้างบัญชีได้ฟรี

สุดท้าย ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณมี RAM อย่างน้อย 2 GB และพื้นที่ว่างในดิสก์ 30 GB ข้อกำหนดด้านฮาร์ดแวร์เหล่านี้ปลอดภัยสำหรับสภาพแวดล้อมการทดสอบเช่นของเรา แต่จะต้องเพิ่มขึ้นหากคุณพิจารณาใช้ Oracle ในการใช้งานจริง

การเตรียมการติดตั้ง Oracle 12c

1. ในการเริ่มต้น ตรวจสอบให้แน่ใจว่าแพ็คเกจทั้งหมดที่ติดตั้งบนระบบ RHEL/CentOS 7 ของคุณได้รับการอัปเดตเป็นเวอร์ชันล่าสุดแล้ว

yum update -y

2. จากนั้น ติดตั้งการขึ้นต่อกันที่จำเป็นทั้งหมดสำหรับ RDBMS พร้อมด้วยไฟล์ zip และแตกไฟล์ zip

yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 zip unzip

3. สร้างบัญชีผู้ใช้และกลุ่มสำหรับ Oracle

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

สุดท้าย ตั้งรหัสผ่านสำหรับบัญชี oracle ที่สร้างขึ้นใหม่

passwd oracle

4. เพิ่มพารามิเตอร์เคอร์เนลต่อไปนี้ลงในไฟล์ /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
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 = 1048586

และนำไปใช้:

sysctl -p
sysctl -a

5. ตั้งค่าขีดจำกัดสำหรับ oracle ในไฟล์ /etc/security/limits.conf

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

6. สร้างไดเร็กทอรีชื่อ /stage และแตกไฟล์การติดตั้งซิป

unzip linuxx64_12201_database.zip -d /stage/

ก่อนดำเนินการต่อ ให้สร้างไดเร็กทอรีอื่นที่จะใช้ระหว่างการติดตั้งจริง และกำหนดสิทธิ์ที่จำเป็น

mkdir /u01
mkdir /u02
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02
chmod g+s /u01
chmod g+s /u02

ตอนนี้เราพร้อมที่จะรันสคริปต์การติดตั้งแล้ว

7. เปิดเซสชัน GUI ในเซิร์ฟเวอร์ RHEL/CentOS 7 และเปิดสคริปต์การติดตั้ง

/stage/database/runInstaller 

และทำตามขั้นตอนที่ผู้ติดตั้งนำเสนอ

การติดตั้ง Oracle 12c บน CentOS 7

8. ป้อนที่อยู่อีเมลที่เชื่อมโยงกับบัญชี Oracle ของคุณ (ตัวเลือก)

9. เลือก สร้าง และกำหนดค่าฐานข้อมูล

10. เลือกคลาส เดสก์ท็อป เนื่องจากเรากำลังตั้งค่าการกำหนดค่าขั้นต่ำและฐานข้อมูลเริ่มต้น

11. เลือกตัวเลือกต่อไปนี้สำหรับการกำหนดค่าพื้นฐาน

  • ฐานออราเคิล: /u01/app/oracle
  • ตำแหน่งซอฟต์แวร์: /u01/app/oracle/product/12.2.0/dbhome_1
  • ตำแหน่งไฟล์ฐานข้อมูล: /u01
  • กลุ่ม OSDBA: dba
  • ชื่อฐานข้อมูลทั่วโลก: ทางเลือกของคุณ เราเลือก tecmint ที่นี่
  • จดรหัสผ่านไว้ เนื่องจากคุณจะใช้รหัสผ่านนี้เมื่อเชื่อมต่อกับฐานข้อมูลครั้งแรก
  • ยกเลิกการเลือกฐานข้อมูล สร้างเป็นคอนเทนเนอร์

12. ปล่อยให้ไดเรกทอรี พื้นที่โฆษณา เริ่มต้นเป็น /u01/app/oraInventory

13. ตรวจสอบว่าการตรวจสอบล่วงหน้าการติดตั้งเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาด

โปรแกรมติดตั้งจะไม่ยอมให้คุณผ่านจุดนี้หากพบข้อผิดพลาด

14. รอจนกว่าการติดตั้ง Oracle 12c จะเสร็จสิ้น

อาจเป็นไปได้ว่าในบางจุดระหว่างการติดตั้ง คุณจะถูกขอให้เรียกใช้สคริปต์สองสามตัวเพื่อตั้งค่าการอนุญาตเพิ่มเติมหรือแก้ไขปัญหา นี่คือภาพประกอบที่นี่:

และที่นี่:

cd /u01/app/oraInventory
./orainstRoot.sh
cd /u01/app/oracle/product/12.2.0/dbhome_1
./root.sh

15. หลังจากนั้น คุณจะต้องกลับไปที่หน้าจอก่อนหน้าในเซสชัน GUI และคลิก ตกลง เพื่อให้การติดตั้งดำเนินต่อไปได้

เมื่อดำเนินการเสร็จสิ้น คุณจะพบข้อความต่อไปนี้ซึ่งระบุ URL ของ Oracle Enterprise Manager:

https://localhost:5500/em

สัมผัสการตกแต่งของ Oracle 12c

16. หากต้องการอนุญาตการเชื่อมต่อจากภายนอกเซิร์ฟเวอร์ คุณจะต้องเปิดพอร์ตต่อไปนี้:

1521/TCP
5500/TCP
5520/TCP
3938/TCP

ดังนี้:

firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
firewall-cmd --reload

17. ถัดไป เข้าสู่ระบบด้วย oracle โดยใช้รหัสผ่านที่เลือกไว้ก่อนหน้านี้ และเพิ่มบรรทัดต่อไปนี้ในไฟล์ .bash_profile

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=tecmint; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

18. สุดท้าย แทนที่ localhost ด้วย 0.0.0.0

vi $ORACLE_HOME/network/admin/listener.ora

19. ขั้นตอนสุดท้ายประกอบด้วยการโหลด .bash_profile ซ้ำเพื่อใช้การตั้งค่าใหม่

source .bash_profile

20. จากนั้นเข้าสู่ระบบฐานข้อมูลโดยใช้บัญชีระบบและรหัสผ่านที่เลือกในขั้นตอนที่ 11 ของส่วนก่อนหน้า

sqlplus system@tecmint

หรืออีกทางหนึ่ง เรามาสร้างตารางภายในฐานข้อมูล tecmint ซึ่งเราจะแทรกบันทึกตัวอย่างบางส่วนดังต่อไปนี้

SQL> CREATE TABLE NamesTBL
(id   NUMBER GENERATED AS IDENTITY,
name VARCHAR2(20));

โปรดทราบว่าคอลัมน์ IDENTITY ถูกนำมาใช้ครั้งแรกใน Oracle 12c

SQL> INSERT INTO NamesTBL (name) VALUES ('Gabriel');
SQL> INSERT INTO NamesTBL (name) VALUES ('Admin');
SQL> SELECT * FROM NamesTBL;

การเปิดใช้งาน Oracle เพื่อเริ่มการบูตระบบ

21. หากต้องการเปิดใช้งานบริการฐานข้อมูลให้เริ่มโดยอัตโนมัติเมื่อบูตเครื่อง ให้เพิ่มบรรทัดต่อไปนี้ในไฟล์ /etc/systemd/system/oracle-rdbms.service

/etc/systemd/system/oracle-rdbms.service
Invoking Oracle scripts to start/shutdown Instances defined in /etc/oratab
and starts Listener

[Unit]
Description=Oracle Database(s) and Listener
Requires=network.target

[Service]
Type=forking
Restart=no
ExecStart=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/12.2.0/dbhome_1
ExecStop=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/12.2.0/dbhome_1
User=oracle

[Install]
WantedBy=multi-user.target

22. สุดท้ายนี้ เราต้องระบุว่าฐานข้อมูล tecmint ควรถูกดึงขึ้นมาระหว่างการบูตใน /etc/oratab (Y: ใช่)

สรุป

ในบทความนี้ เราได้อธิบายวิธีการติดตั้ง Oracle 12c บน RHEL/CentOS 7 วิธีสร้างและกำหนดค่าฐานข้อมูล และวิธีการสร้างตารางและการแทรกแถวข้อมูล

นอกจากนี้ สิ่งสำคัญที่ควรทราบคือเซิร์ฟเวอร์ฐานข้อมูลควรพร้อมใช้งานเมื่อระบบบูท และฐานข้อมูลเริ่มต้นของเราควรจะพร้อมใช้งาน ณ จุดนั้น

หากคุณมีคำถามหรือความคิดเห็นเกี่ยวกับบทความนี้ โปรดส่งข้อความถึงเราโดยใช้แบบฟอร์มด้านล่าง