วิธีติดตั้งฐานข้อมูล 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 วิธีสร้างและกำหนดค่าฐานข้อมูล และวิธีการสร้างตารางและการแทรกแถวข้อมูล
นอกจากนี้ สิ่งสำคัญที่ควรทราบคือเซิร์ฟเวอร์ฐานข้อมูลควรพร้อมใช้งานเมื่อระบบบูท และฐานข้อมูลเริ่มต้นของเราควรจะพร้อมใช้งาน ณ จุดนั้น
หากคุณมีคำถามหรือความคิดเห็นเกี่ยวกับบทความนี้ โปรดส่งข้อความถึงเราโดยใช้แบบฟอร์มด้านล่าง