Thứ Ba, 30 tháng 6, 2020

Cách cài đặt cơ sở dữ liệu Oracle Database 12c trên RHEL / CentOS 7

Cơ sở dữ liệu Oracle là một trong những hệ thống quản lý cơ sở dữ liệu quan hệ được sử dụng rộng rãi nhất ( RDBMS ) trong môi trường doanh nghiệp. Được phát triển, duy trì và hỗ trợ bởi Tập đoàn Oracle, RDBMS này thường được cài đặt dựa trên Enterprise Linux (RHEL, CentOS hoặc Linux khác). Điều này làm cho một hệ điều hành rất mạnh mẽ - lựa chọn cơ sở dữ liệu.
Trong bài viết này, chúng tôi sẽ giải thích cách cài đặt Oracle 12c Release 2 trên máy chủ GUI RHEL / CentOS 7 .
Hãy bắt đầu nào.

Điều kiện tiên quyết:

Sau khi cài đặt Oracle 12c , cấu hình sẽ được thực hiện thông qua giao diện đồ họa. Đó là lý do tại sao chúng tôi cần một máy chủ CentOS 7 với nhóm phần mềm X Window System được cài đặt.
Ngoài ra, xin lưu ý rằng cần có tài khoản Oracle để tải xuống tệp cài đặt Cơ sở dữ liệu Oracle 12c ( 3,2 GB ). Tuy nhiên, đừng lo lắng về điều này vì bạn có thể tạo một tài khoản miễn phí.
Cuối cùng, hãy đảm bảo rằng máy chủ của bạn có ít nhất 2 GB RAM và 30 GB dung lượng đĩa trống. Các yêu cầu phần cứng này an toàn cho môi trường thử nghiệm như của chúng tôi, nhưng sẽ cần tăng nếu bạn cân nhắc sử dụng Oracle trong sản xuất.

Chuẩn bị cài đặt Oracle 12c

1. Để bắt đầu, hãy đảm bảo rằng tất cả các gói hiện được cài đặt trên hệ thống RHEL / CentOS 7 của bạn được cập nhật lên các phiên bản mới nhất của chúng.
# yum update -y
2. Tiếp theo, đã cài đặt tất cả các phụ thuộc cần thiết cho RDBMS , cùng với các gói zip và giải nén.
# 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. Tạo tài khoản người dùng và các nhóm cho Oracle.
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
Cuối cùng, đặt mật khẩu cho tài khoản oracle mới được tạo.
# passwd oracle
4. Thêm các tham số kernel sau vào tập tin /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
và áp dụng chúng:
# sysctl -p
# sysctl -a
5. Đặt giới hạn cho oracle trong tệp /etc/security/limits.conf .
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
6. Tạo một thư mục có tên /stage và giải nén tập tin cài đặt đã nén.
# unzip linuxx64_12201_database.zip -d /stage/
Trước khi tiếp tục, hãy tạo các thư mục khác sẽ được sử dụng trong quá trình cài đặt thực tế và gán các quyền cần thiết.
# 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
Bây giờ chúng tôi đã sẵn sàng để chạy tập lệnh cài đặt.
7. Mở phiên GUI trong máy chủ RHEL / CentOS 7 và khởi chạy tập lệnh cài đặt.
/stage/database/runInstaller 
và làm theo các bước được trình bày bởi trình cài đặt.

Cài đặt Oracle 12c trên CentOS 7

8. Nhập địa chỉ email được liên kết với tài khoản Oracle của bạn (tùy chọn).
Địa chỉ email tài khoản Oracle
Địa chỉ email tài khoản Oracle
9. Chọn Tạo và cấu hình cơ sở dữ liệu.
Cấu hình cơ sở dữ liệu Oracle
Cấu hình cơ sở dữ liệu Oracle
10. Chọn lớp Desktop vì chúng tôi đang thiết lập cấu hình tối thiểu và cơ sở dữ liệu khởi động.
Cài đặt lớp máy tính để bàn của Oracle
Cài đặt lớp máy tính để bàn của Oracle
11. Chọn các tùy chọn sau cho cấu hình cơ bản.
  • Oracle base: /u01/app/oracle
  • Software location: /u01/app/oracle/product/12.2.0/dbhome_1
  • Database file location: /u01
  • OSDBA group: dba
  • Tên cơ sở dữ liệu toàn cầu: db12c hoặc techmint (tùy bạn)
  • Hãy lưu ý mật khẩu , vì bạn sẽ sử dụng nó khi lần đầu tiên kết nối với cơ sở dữ liệu.
  • Bỏ chọn Create as Container database
Cấu hình cơ bản của Oracle 12c
Cấu hình cơ bản của Oracle 12c
12. Để lại default Inventory là /u01/app/oraInventory .
Thư mục hàng tồn kho của Oracle 12c
Thư mục hàng tồn kho của Oracle 12c
13. Xác minh rằng việc kiểm tra trước khi cài đặt đã hoàn tất mà không có lỗi.
Cài đặt cài đặt Oracle 12c
Cài đặt cài đặt Oracle 12c
Trình cài đặt sẽ không cho phép bạn vượt qua điểm này nếu có bất kỳ lỗi nào được tìm thấy.
14. Đợi cho đến khi cài đặt Oracle 12c hoàn tất.
Tiến trình cài đặt Oracle 12c
Tiến trình cài đặt Oracle 12c
Có thể tại một số thời điểm trong quá trình cài đặt, bạn sẽ được yêu cầu chạy một vài tập lệnh để thiết lập thêm quyền hoặc sửa lỗi. Điều này được minh họa ở đây:
Tập lệnh cấu hình Oracle 12c
Tập lệnh cấu hình Oracle 12c
Và đây:
# cd /u01/app/oraInventory
# ./orainstRoot.sh
# cd /u01/app/oracle/product/12.2.0/dbhome_1
# ./root.sh
Thực thi tập lệnh cấu hình Oracle 12c
Thực thi tập lệnh cấu hình Oracle 12c
15. Sau đó, bạn sẽ cần quay lại màn hình trước đó trong phiên GUI và bấm OK để cài đặt có thể tiếp tục.
Khi kết thúc, bạn sẽ thấy thông báo sau cho biết URL của Trình quản lý doanh nghiệp Oracle:
https://localhost:5500/em

Kết thúc Oracle 12c

16. Để cho phép kết nối từ bên ngoài máy chủ, bạn sẽ cần mở các cổng sau:
1521/TCP
5500/TCP
5520/TCP
3938/TCP
Như sau:
# 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. Tiếp theo, đăng nhập như một lời tiên tri bằng cách sử dụng mật khẩu đã được chọn trước đó và thêm các dòng sau vào tệp .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. Cuối cùng, thay thế localhost bằng 0.0.0.0 trên.
# vi $ORACLE_HOME/network/admin/listener.ora
Đặt Trình nghe Oracle 12c
Đặt Trình nghe Oracle 12c
19. Bước cuối cùng bao gồm tải lại .bash_profile để áp dụng các cài đặt mới.
# source .bash_profile
20. Sau đó đăng nhập vào cơ sở dữ liệu bằng tài khoản hệ thống và mật khẩu được chọn trong Bước 11 của phần trước.
# sqlplus system@tecmint
Tùy chọn, hãy tạo một bảng bên trong cơ sở dữ liệu tecmint nơi chúng tôi sẽ chèn một số bản ghi mẫu như sau.
SQL> CREATE TABLE NamesTBL
(id   NUMBER GENERATED AS IDENTITY,
name VARCHAR2(20));
Xin lưu ý rằng các cột IDENTITY được giới thiệu lần đầu tiên trong Oracle 12c .
SQL> INSERT INTO NamesTBL (name) VALUES ('Gabriel');
SQL> INSERT INTO NamesTBL (name) VALUES ('Admin');
SQL> SELECT * FROM NamesTBL;
Tạo bảng trong cơ sở dữ liệu Oracle 12c
Tạo bảng trong cơ sở dữ liệu Oracle 12c

Kích hoạt Oracle để khởi động hệ thống khởi động

21. Để cho phép dịch vụ cơ sở dữ liệu khởi động tự động khi khởi động, hãy thêm các dòng sau vào tập tin /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. Cuối cùng, chúng ta cần chỉ ra rằng cơ sở dữ liệu tecmint sẽ được đưa lên trong quá trình khởi động trong / etc / oratab ( Y: Yes ).
Kích hoạt cơ sở dữ liệu Oracle 12c khi khởi động
Kích hoạt cơ sở dữ liệu Oracle 12c khi khởi động

Tóm lược

Trong bài viết này, chúng tôi đã giải thích cách cài đặt Oracle 12c trên RHEL / CentOS 7 , cách tạo và định cấu hình cơ sở dữ liệu và cách tạo bảng và chèn các hàng dữ liệu.
Ngoài ra, điều quan trọng cần lưu ý là máy chủ cơ sở dữ liệu sẽ hoạt động khi hệ thống khởi động và cơ sở dữ liệu mặc định của chúng tôi sẽ có sẵn tại thời điểm đó.
Nếu bạn có bất kỳ câu hỏi hoặc nhận xét nào về bài viết này, vui lòng gửi cho chúng tôi một dòng bằng cách sử dụng mẫu dưới đây.

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master