Chi tiết cấu hình :
Hệ điều hành: Redhat Enterprise Linux 8.4 64 Bit
Phiên bản phần mềm Oracle Grid: 21.0.0.0 với các bản vá lỗi mới nhất
Phiên bản phần mềm Oracle Grid: 21.0.0.0 với các bản vá lỗi mới nhất
Thông tin chi tiết về nút cụm:
- rac1.localdomain
- rac2.localdomain
Các bước quan trọng cần thực hiện trên node cần thêm trước khi thêm node, ví dụ như rac3.localdomain. Giả sử máy chủ đã sẵn sàng.
Ghi chú:
Tôi đã sao chép máy rac1 hiện có và tạo máy rac3 . Vì vậy, tôi đã thực hiện các thay đổi sau trên máy chủ rac3 trước khi thêm node. Nếu là máy được sao chép, chúng ta phải xóa các tệp cấu hình cụm nằm trên node rac3. Chúng tôi đang thực hiện theo các bước tương tự. Nếu là hệ điều hành mới, bạn có thể tham khảo "https://www.tranvanbinh.vn/2026/01/huong-dan-cai-at-linux-8-va-oracle-21c.html" để biết các tham số hệ điều hành/mạng/kernel/giới hạn/cài đặt oracleasm.
- Đảm bảo phiên bản hệ điều hành được chứng nhận chính xác đã được cài đặt trên máy chủ mới.
- Đảm bảo phiên bản hệ điều hành và nhân hệ điều hành giống nhau trên tất cả các máy chủ.
- Cài đặt các gói RPM cần thiết như Node1 và Node2 (Đã có sẵn vì đây là máy ảo được sao chép).
- Thêm thông tin chi tiết về mạng/địa chỉ IP vào tệp /etc/hosts trên cả ba nút.
- Thêm các tham số kernel và giới hạn vào tệp cấu hình (Đã có sẵn vì đây là máy được sao chép).
- Tạo người dùng và nhóm, đồng thời cấp quyền (Đã có sẵn vì đây là máy ảo được sao chép).
- Tạo cấu trúc thư mục.
- Cấu hình oracleasm (Đã có sẵn vì đây là máy được sao chép).
- Cấu hình xác thực SSH/không cần mật khẩu cho người dùng grid.
- Ghi lại kết quả đầu ra của runcluvfy, kiểm tra xem có điều kiện tiên quyết nào bị lỗi hay không và khắc phục chúng.
- Bắt đầu cài đặt giao diện người dùng đồ họa (GUI) từ Node hiện có, ví dụ như rac1 hoặc rac2.
Bước 1: Sao chép máy ảo rac1 hiện có và tạo thêm nút thứ 3 là rac3.
Hãy đảm bảo máy chủ rac1 đã dừng hoạt động trước khi bắt đầu quá trình sao chép.
Thêm các địa chỉ IP công cộng, riêng tư và VIP bên dưới vào tệp /etc/hosts trên cả ba nút.
[root@rac3 bin]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#Địa chỉ IP công cộng
10.20.30.101 rac1.localdomain rac1
10.20.30.102 rac2.localdomain rac2
10.20.30.106 rac3.localdomain rac3
#Địa chỉ IP riêng
10.1.2.201 rac1-priv.localdomain rac1-priv
10.1.2.202 rac2-priv.localdomain rac2-priv
10.1.2.203 rac3-priv.localdomain rac3-priv
#Địa chỉ IP VIP
10.20.30.103 rac1-vip.localdomain rac1-vip
10.20.30.104 rac2-vip.localdomain rac2-vip
10.20.30.107 rac3-vip.localdomain rac3-vip
#quét địa chỉ IP
10.20.30.105 rac-scan.localdomain rac-scan
Ngoài ra, hãy thực hiện các thay đổi trong tệp /etc/hostname.
Bước 2: Xóa các tệp và thư mục bên dưới khỏi nút rac3 vì đây là máy chủ được sao chép và máy chủ hiện có chứa các tệp cấu hình cụm hiện có cần được xóa trước khi thêm nút.
- Xóa các tệp nhật ký kiểm toán cụm, tệp theo dõi và trm, nhật ký trình lắng nghe, bất kỳ thiết lập phần mềm nào nằm trong thư mục GI home trên nút rac1 mà chúng ta sẽ thực hiện các thao tác thêm nút. Lý do là nếu không làm vậy, việc sao chép tệp từ nguồn sang đích có thể mất rất nhiều thời gian nếu số lượng tệp nhiều.
Trước đây tôi từng gặp vấn đề tương tự, khi các file trace và trm có dung lượng lên đến 50k, làm lãng phí của tôi hơn 4-5 tiếng đồng hồ.
[grid@rac1 trace]$ pwd
/u01/app/grid/diag/crs/rac1/crs/trace
[grid@rac1 trace]$ rm -rf *.trc *.trm
[grid@rac1 rdbms]$ cd /u01/app/21.0.0/grid/rdbms/audit/
[grid@rac1 audit]$ ll
total 40
-rw-r----- 1 grid oinstall 844 Jun 24 16:14 +ASM1_ora_33571_20220624161407050637568856.aud
-rw-r----- 1 grid oinstall 852 Jun 24 16:14 +ASM1_ora_33571_20220624161407051626800084.aud
-rw-r----- 1 grid oinstall 844 Jun 24 16:14 +ASM1_ora_33572_20220624161407131271781772.aud
-rw-r----- 1 grid oinstall 844 Jun 24 16:14 +ASM1_ora_33585_20220624161407294565161918.aud
-rw-r----- 1 grid oinstall 844 Jun 24 16:16 +ASM1_ora_37601_20220624161635684490768555.aud
-rw-r----- 1 grid oinstall 842 Jul 9 05:46 +ASM1_ora_6049_20220709054601207552702266.aud
-rw-r----- 1 grid oinstall 842 Nov 14 17:51 +ASM1_ora_6439_20221114175123047994367218.aud
-rw-r----- 1 grid oinstall 842 Nov 14 17:09 +ASM1_ora_8096_20221114170910515442540237.aud
-rw-r----- 1 grid oinstall 842 Nov 14 16:45 +ASM1_ora_8758_20221114164507337283356084.aud
-rw-r----- 1 grid oinstall 842 Jun 24 16:14 null_ora_33545_20220624161406369008105598.aud
[grid@rac1 audit]$ pwd
/u01/app/21.0.0/grid/rdbms/audit
- Xóa các tệp cấu hình liên quan đến RAC bên dưới:
[root@rac3 ~]# rm -rf /etc/oracle
[root@rac3 ~]# rm -rf /var/tmp/.oracle
[root@rac3 ~]# rm -rf /tmp/.oracle
[root@rac3 ~]# rm -rf /etc/init.d/*has*
[root@rac3 ~]# rm -rf /etc/rc*.d/*has*
[root@rac3 ~]# rm -rf /etc/oratab
[root@rac3 ~]# rm -rf /etc/oraInst.loc
[root@rac3 ~]# rm -rf /usr/local/bin/dbhome
[root@rac3 ~]# rm -rf /usr/local/bin/oraenv
[root@rac3 ~]# rm -rf /usr/local/bin/coraenv
[root@rac3 ~]# rm -rf /u01
[root@rac3 ~]# rm -rf /var/tmp/.oracle
[root@rac3 ~]# rm -rf /tmp/.oracle
[root@rac3 ~]# rm -rf /etc/init.d/*has*
[root@rac3 ~]# rm -rf /etc/rc*.d/*has*
[root@rac3 ~]# rm -rf /etc/oratab
[root@rac3 ~]# rm -rf /etc/oraInst.loc
[root@rac3 ~]# rm -rf /usr/local/bin/dbhome
[root@rac3 ~]# rm -rf /usr/local/bin/oraenv
[root@rac3 ~]# rm -rf /usr/local/bin/coraenv
[root@rac3 ~]# rm -rf /u01
Đảm bảo mọi file và thư mục đựo xóa:
[root@rac3 ~]# ls -ld /etc/oracle
ls: cannot access '/etc/oracle': No such file or directory
[root@rac3 ~]# ls -ld /var/tmp/.oracle
ls: cannot access '/var/tmp/.oracle': No such file or directory
[root@rac3 ~]# ls -ld /tmp/.oracle
ls: cannot access '/tmp/.oracle': No such file or directory
[root@rac3 ~]# ls -ld /etc/init.d/*has*
ls: cannot access '/etc/init.d/*has*': No such file or directory
[root@rac3 ~]# ls -ld /etc/rc*.d/*has*
ls: cannot access '/etc/rc*.d/*has*': No such file or directory
[root@rac3 ~]# ls -ld /etc/oratab
ls: cannot access '/etc/oratab': No such file or directory
[root@rac3 ~]# ls -ld /etc/oraInst.loc
ls: cannot access '/etc/oraInst.loc': No such file or directory
[root@rac3 ~]# ls -ld /usr/local/bin/dbhome
ls: cannot access '/usr/local/bin/dbhome': No such file or directory
[root@rac3 ~]# ls -ld /usr/local/bin/oraenv
ls: cannot access '/usr/local/bin/oraenv': No such file or directory
[root@rac3 ~]# ls -ld /usr/local/bin/coraenv
ls: cannot access '/usr/local/bin/coraenv': No such file or directory
[root@rac3 ~]# ls -ld /u01
ls: cannot access '/u01': No such file or directory
Tạo thư mục bên dưới và gán quyền:
[root@rac3 grid]# cd /
[root@rac3 /]# mkdir -p /u01/app/21.0.0/grid
[root@rac3 /]# mkdir -p /u01/app/grid
[root@rac3 /]# mkdir -p /u01/app/oraInventory
[root@rac3 /]# chown -R grid:oinstall /u01/app/21.0.0/grid
[root@rac3 /]# chown -R grid:oinstall /u01/app/grid
[root@rac3 /]# chown -R grid:oinstall /u01/app/oraInventory
[root@rac3 /]# chmod -R 755 /u01/app/21.0.0/grid
[root@rac3 /]# chmod -R 755 /u01/app/grid
[root@rac3 /]# chmod -R 755 /u01/app/oraInventory
Step 3: Kiểm tra tính sẵn sàng của node 3 sẵn sàng cho việc gắn vào
[grid@rac1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[grid@rac1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[grid@rac2 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
VIP IPs được thêm vào, đảm bảo không ping được (chưa dùng), nếu không sẽ gặp lỗi "IPs already assigned".
[root@rac1 ~]# grep -i "rac3" /etc/hosts
10.20.30.106 rac3.localdomain rac3
10.1.2.203 rac3-priv.localdomain rac3-priv
10.20.30.107 rac3-vip.localdomain rac3-vip
[root@rac1 ~]# ping rac3.localdomain
PING rac3.localdomain (10.20.30.106) 56(84) bytes of data.
64 bytes from rac3.localdomain (10.20.30.106): icmp_seq=1 ttl=64 time=0.041 ms
64 bytes from rac3.localdomain (10.20.30.106): icmp_seq=2 ttl=64 time=0.159 ms
^C
--- rac3.localdomain ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1041ms
rtt min/avg/max/mdev = 0.041/0.100/0.159/0.059 ms
[root@rac1 ~]# ping rac3-priv.localdomain
PING rac3-priv.localdomain (10.1.2.203) 56(84) bytes of data.
64 bytes from rac3-priv.localdomain (10.1.2.203): icmp_seq=1 ttl=64 time=1.99 ms
^C
--- rac3-priv.localdomain ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.986/1.986/1.986/0.000 ms
[root@rac1 ~]# ping rac3-vip.localdomain
PING rac3-vip.localdomain (10.20.30.107) 56(84) bytes of data.
From rac3.localdomain (10.20.30.106) icmp_seq=1 Destination Host Unreachable
From rac3.localdomain (10.20.30.106) icmp_seq=2 Destination Host Unreachable
From rac3.localdomain (10.20.30.106) icmp_seq=3 Destination Host Unreachable
^C
--- rac3-vip.localdomain ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3078ms
pipe 4
[grid@rac2 ~]$ grep -i "rac3" /etc/hosts
10.20.30.106 rac3.localdomain rac3
10.1.2.203 rac3-priv.localdomain rac3-priv
10.20.30.107 rac3-vip.localdomain rac3-vip
[grid@rac2 ~]$ ping rac3.localdomain
PING rac3.localdomain (10.20.30.106) 56(84) bytes of data.
64 bytes from rac3.localdomain (10.20.30.106): icmp_seq=1 ttl=64 time=1.46 ms
64 bytes from rac3.localdomain (10.20.30.106): icmp_seq=2 ttl=64 time=1.01 ms
^C
--- rac3.localdomain ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 1.007/1.235/1.464/0.231 ms
[grid@rac2 ~]$ ping rac3-priv.localdomain
PING rac3-priv.localdomain (10.1.2.203) 56(84) bytes of data.
64 bytes from rac3-priv.localdomain (10.1.2.203): icmp_seq=1 ttl=64 time=0.519 ms
64 bytes from rac3-priv.localdomain (10.1.2.203): icmp_seq=2 ttl=64 time=0.848 ms
^C
--- rac3-priv.localdomain ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1064ms
rtt min/avg/max/mdev = 0.519/0.683/0.848/0.166 ms
[grid@rac2 ~]$ ping rac3-vip.localdomain
PING rac3-vip.localdomain (10.20.30.107) 56(84) bytes of data.
From rac2.localdomain (10.20.30.102) icmp_seq=1 Destination Host Unreachable
From rac2.localdomain (10.20.30.102) icmp_seq=2 Destination Host Unreachable
From rac2.localdomain (10.20.30.102) icmp_seq=3 Destination Host Unreachable
^C
--- rac3-vip.localdomain ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3100ms
pipe 4
[root@rac3 ~]# grep -i "rac3" /etc/hosts
10.20.30.106 rac3.localdomain rac3
10.1.2.203 rac3-priv.localdomain rac3-priv
10.20.30.107 rac3-vip.localdomain rac3-vip
[root@rac3 ~]# ping rac3.localdomain
PING rac3.localdomain (10.20.30.106) 56(84) bytes of data.
64 bytes from rac3.localdomain (10.20.30.106): icmp_seq=1 ttl=64 time=0.153 ms
64 bytes from rac3.localdomain (10.20.30.106): icmp_seq=2 ttl=64 time=0.070 ms
^C
--- rac3.localdomain ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1023ms
rtt min/avg/max/mdev = 0.070/0.111/0.153/0.042 ms
[root@rac3 ~]# ping rac3-priv.localdomain
PING rac3-priv.localdomain (10.1.2.203) 56(84) bytes of data.
64 bytes from rac3-priv.localdomain (10.1.2.203): icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from rac3-priv.localdomain (10.1.2.203): icmp_seq=2 ttl=64 time=0.056 ms
^C
--- rac3-priv.localdomain ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1057ms
rtt min/avg/max/mdev = 0.056/0.059/0.063/0.008 ms
[root@rac3 ~]# ping rac3-vip.localdomain
PING rac3-vip.localdomain (10.20.30.107) 56(84) bytes of data.
From rac3.localdomain (10.20.30.106) icmp_seq=1 Destination Host Unreachable
From rac3.localdomain (10.20.30.106) icmp_seq=2 Destination Host Unreachable
From rac3.localdomain (10.20.30.106) icmp_seq=3 Destination Host Unreachable
^C
--- rac3-vip.localdomain ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3078ms
pipe 4
Step 4: Cấu hình xác thực SSH/passwordless authentication cho user grid
[grid@rac3 ~]$ rm -rf .ssh
[grid@rac3 ~]$ mkdir .ssh
[grid@rac3 ~]$ chmod 700 .ssh
[grid@rac3 ~]$ cd .ssh
[grid@rac3 .ssh]$ ssh-keygen -t rsa
[grid@rac3 .ssh]$ ssh-keygen -t dsa
[grid@rac3 .ssh]$ cat *.pub >> authorized_keys.rac1
[grid@rac3 .ssh]$ ll
-rw-r--r-- 1 grid oinstall 1186 Jun 18 22:59 authorized_keys.rac3
-rw------- 1 grid oinstall 1393 Jun 18 22:59 id_dsa
-rw-r--r-- 1 grid oinstall 611 Jun 18 22:59 id_dsa.pub
-rw------- 1 grid oinstall 2610 Jun 18 22:58 id_rsa
-rw-r--r-- 1 grid oinstall 575 Jun 18 22:58 id_rsa.pub
scp authorized_keys.rac3 grid@rac1:/home/grid/.ssh/
scp authorized_keys.rac3 grid@rac2:/home/grid/.ssh/
From Node1:
scp authorized_keys.rac1 grid@rac3:/home/grid/.ssh/
From Node2:
scp authorized_keys.rac2 grid@rac3:/home/grid/.ssh/
[grid@rac1 .ssh]$ ll
total 28
-rw-r--r-- 1 grid oinstall 1186 Jun 18 22:59 authorized_keys.rac1
-rw-r--r-- 1 grid oinstall 1186 Jun 18 23:00 authorized_keys.rac2
-rw-r--r-- 1 grid oinstall 1186 Jun 18 23:10 authorized_keys.rac3
-rw------- 1 grid oinstall 1393 Jun 18 22:59 id_dsa
-rw-r--r-- 1 grid oinstall 611 Jun 18 22:59 id_dsa.pub
-rw------- 1 grid oinstall 2610 Jun 18 22:58 id_rsa
-rw-r--r-- 1 grid oinstall 575 Jun 18 22:58 id_rsa.pub
-rw-r--r-- 1 grid oinstall 179 Jun 18 23:00 known_hosts
[grid@rac1 .ssh]$ cd $HOME/.ssh
[grid@rac1 .ssh]$ cat *.rac* >> authorized_keys
[grid@rac1 .ssh]$ chmod 600 authorized_keys
[grid@rac1 .ssh]$ ll
-rw------- 1 grid oinstall 2372 Jun 18 23:01 authorized_keys
-rw-r--r-- 1 grid oinstall 1186 Jun 18 22:59 authorized_keys.rac1
-rw-r--r-- 1 grid oinstall 1186 Jun 18 23:00 authorized_keys.rac2
-rw-r--r-- 1 grid oinstall 1186 Jun 18 23:10 authorized_keys.rac3
-rw------- 1 grid oinstall 1393 Jun 18 22:59 id_dsa
-rw-r--r-- 1 grid oinstall 611 Jun 18 22:59 id_dsa.pub
-rw------- 1 grid oinstall 2610 Jun 18 22:58 id_rsa
-rw-r--r-- 1 grid oinstall 575 Jun 18 22:58 id_rsa.pub
-rw-r--r-- 1 grid oinstall 179 Jun 18 23:00 known_hosts
[grid@rac2 .ssh]$ cd $HOME/.ssh
[grid@rac2 .ssh]$ ll
-rw-r--r-- 1 grid oinstall 1186 Jun 18 23:00 authorized_keys.rac1
-rw-r--r-- 1 grid oinstall 1186 Jun 18 22:59 authorized_keys.rac2
-rw-r--r-- 1 grid oinstall 1186 Jun 18 23:10 authorized_keys.rac3
-rw------- 1 lưới oinstall 1393 22:59 ngày 18 tháng 6 id_dsa
-rw-r--r-- 1 lưới oinstall 611 18 tháng 6 22:59 id_dsa.pub
-rw------- 1 grid oinstall 2610 Jun 18 22:58 id_rsa
-rw-r--r-- 1 lưới oinstall 575 18 tháng 6 22:58 id_rsa.pub
-rw-r--r-- 1 grid oinstall 179 Jun 18 22:57 known_hosts
[grid@rac2 .ssh]$ cat *.rac* >> authorized_keys
[grid@rac2 .ssh]$ chmod 600 authorized_keys
[grid@rac2 .ssh]$ ll
-rw------- 1 grid oinstall 2372 Jun 18 23:01 authorized_keys
-rw-r--r-- 1 grid oinstall 1186 Jun 18 23:00 authorized_keys.rac1
-rw-r--r-- 1 grid oinstall 1186 Jun 18 22:59 authorized_keys.rac2
-rw-r--r-- 1 grid oinstall 1186 Jun 18 23:10 authorized_keys.rac3
-rw------- 1 lưới oinstall 1393 22:59 ngày 18 tháng 6 id_dsa
-rw-r--r-- 1 lưới oinstall 611 18 tháng 6 22:59 id_dsa.pub
-rw------- 1 grid oinstall 2610 Jun 18 22:58 id_rsa
-rw-r--r-- 1 lưới oinstall 575 18 tháng 6 22:58 id_rsa.pub
-rw-r--r-- 1 grid oinstall 179 Jun 18 22:57 known_hosts
Bước 5: Chạy lệnh cluvfy với tùy chọn addnode và khắc phục các sự cố cluvfy nếu có.
Ở đây, tôi bỏ qua các lỗi bộ nhớ vì tôi đã sử dụng ít bộ nhớ hơn mức cần thiết, nhưng bạn không thể bỏ qua điều này trong môi trường sản xuất thực tế.
[grid@rac1 ~]$ hostname
rac1.localdomain
[grid@rac1 ~]$ id
uid=1001(grid) gid=2000(oinstall) groups=2000(oinstall),2100(asmadmin),2200(dba),2300(oper),2400(asmdba),2500(asmoper)
[grid@rac1 ~]$ cd $ORACLE_HOME
[grid@rac1 grid]$ pwd
/u01/app/21.0.0/grid
[grid@rac1 grid]$ ls -ltr *runcluv*
-rwxr-x--- 1 grid oinstall 628 Sep 4 2015 runcluvfy.sh
[grid@rac1 grid]$ ./runcluvfy.sh stage -pre nodeadd -n rac3 -verbose
This software is "264" days old. It is a best practice to update the CRS home by downloading and applying the latest release update. Refer to MOS note 756671.1 for more details.
Performing following verification checks ...
Physical Memory ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 3.6491GB (3826396.0KB) 8GB (8388608.0KB) failed
rac3 3.6491GB (3826396.0KB) 8GB (8388608.0KB) failed
Physical Memory ...FAILED (PRVF-7530)
Available Physical Memory ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 1.6858GB (1767672.0KB) 50MB (51200.0KB) passed
rac3 2.6303GB (2758072.0KB) 50MB (51200.0KB) passed
Available Physical Memory ...PASSED
Swap Size ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 3.5GB (3670012.0KB) 3.6491GB (3826396.0KB) passed
rac3 3.5GB (3670012.0KB) 3.6491GB (3826396.0KB) passed
Swap Size ...PASSED
Free Space: rac1:/usr,rac1:/var,rac1:/etc,rac1:/u01/app/21.0.0/grid,rac1:/sbin,rac1:/tmp ...
Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/usr rac1 / 15.1631GB 25MB passed
/var rac1 / 15.1631GB 5MB passed
/etc rac1 / 15.1631GB 25MB passed
/u01/app/21.0.0/grid rac1 / 15.1631GB 6.9GB passed
/sbin rac1 / 15.1631GB 10MB passed
/tmp rac1 / 15.1631GB 1GB passed
Free Space: rac1:/usr,rac1:/var,rac1:/etc,rac1:/u01/app/21.0.0/grid,rac1:/sbin,rac1:/tmp ...PASSED
Free Space: rac3:/usr,rac3:/var,rac3:/etc,rac3:/u01/app/21.0.0/grid,rac3:/sbin,rac3:/tmp ...
Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/usr rac3 / 15.1328GB 25MB passed
/var rac3 / 15.1328GB 5MB passed
/etc rac3 / 15.1328GB 25MB passed
/u01/app/21.0.0/grid rac3 / 15.1328GB 6.9GB passed
/sbin rac3 / 15.1328GB 10MB passed
/tmp rac3 / 15.1328GB 1GB passed
Free Space: rac3:/usr,rac3:/var,rac3:/etc,rac3:/u01/app/21.0.0/grid,rac3:/sbin,rac3:/tmp ...PASSED
User Existence: grid ...
Node Name Status Comment
------------ ------------------------ ------------------------
rac1 passed exists(1001)
rac3 passed exists(1001)
Users With Same UID: 1001 ...PASSED
User Existence: grid ...PASSED
User Existence: root ...
Node Name Status Comment
------------ ------------------------ ------------------------
rac1 passed exists(0)
rac3 passed exists(0)
Users With Same UID: 0 ...PASSED
User Existence: root ...PASSED
Group Existence: asmadmin ...
Node Name Status Comment
------------ ------------------------ ------------------------
rac1 passed exists
rac3 passed exists
Group Existence: asmadmin ...PASSED
Group Existence: asmoper ...
Node Name Status Comment
------------ ------------------------ ------------------------
rac1 passed exists
rac3 passed exists
Group Existence: asmoper ...PASSED
Group Existence: asmdba ...
Node Name Status Comment
------------ ------------------------ ------------------------
rac1 passed exists
rac3 passed exists
Group Existence: asmdba ...PASSED
Group Existence: oinstall ...
Node Name Status Comment
------------ ------------------------ ------------------------
rac1 passed exists
rac3 passed exists
Group Existence: oinstall ...PASSED
Group Membership: oinstall ...
Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
rac1 yes yes yes passed
rac3 yes yes yes passed
Group Membership: oinstall ...PASSED
Group Membership: asmdba ...
Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
rac1 yes yes yes passed
rac3 yes yes yes passed
Group Membership: asmdba ...PASSED
Group Membership: asmadmin ...
Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
rac1 yes yes yes passed
rac3 yes yes yes passed
Group Membership: asmadmin ...PASSED
Group Membership: asmoper ...
Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
rac1 yes yes yes passed
rac3 yes yes yes passed
Group Membership: asmoper ...PASSED
Run Level ...
Node Name run level Required Status
------------ ------------------------ ------------------------ ----------
rac1 5 3,5 passed
rac3 5 3,5 passed
Run Level ...PASSED
Hard Limit: maximum open file descriptors ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
rac1 hard 65536 65536 passed
rac3 hard 65536 65536 passed
Hard Limit: maximum open file descriptors ...PASSED
Soft Limit: maximum open file descriptors ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
rac1 soft 1024 1024 passed
rac3 soft 1024 1024 passed
Soft Limit: maximum open file descriptors ...PASSED
Hard Limit: maximum user processes ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
rac1 hard 16384 16384 passed
rac3 hard 16384 16384 passed
Hard Limit: maximum user processes ...PASSED
Soft Limit: maximum user processes ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
rac1 soft 16384 2047 passed
rac3 soft 16384 2047 passed
Soft Limit: maximum user processes ...PASSED
Soft Limit: maximum stack size ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
rac1 soft 10240 10240 passed
rac3 soft 10240 10240 passed
Soft Limit: maximum stack size ...PASSED
Architecture ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 x86_64 x86_64 passed
rac3 x86_64 x86_64 passed
Architecture ...PASSED
OS Kernel Version ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 4.18.0-305.el8.x86_64 4.18.0 passed
rac3 4.18.0-305.el8.x86_64 4.18.0 passed
OS Kernel Version ...PASSED
OS Kernel Parameter: semmsl ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 250 250 250 passed
rac3 250 250 250 passed
OS Kernel Parameter: semmsl ...PASSED
OS Kernel Parameter: semmns ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 32000 32000 32000 passed
rac3 32000 32000 32000 passed
OS Kernel Parameter: semmns ...PASSED
OS Kernel Parameter: semopm ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 100 100 100 passed
rac3 100 100 100 passed
OS Kernel Parameter: semopm ...PASSED
OS Kernel Parameter: semmni ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 128 128 128 passed
rac3 128 128 128 passed
OS Kernel Parameter: semmni ...PASSED
OS Kernel Parameter: shmmax ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 4398046511104 4398046511104 1959114752 passed
rac3 4398046511104 4398046511104 1959114752 passed
OS Kernel Parameter: shmmax ...PASSED
OS Kernel Parameter: shmmni ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 4096 4096 4096 passed
rac3 4096 4096 4096 passed
OS Kernel Parameter: shmmni ...PASSED
OS Kernel Parameter: shmall ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 1073741824 1073741824 1073741824 passed
rac3 1073741824 1073741824 1073741824 passed
OS Kernel Parameter: shmall ...PASSED
OS Kernel Parameter: file-max ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 6815744 6815744 6815744 passed
rac3 6815744 6815744 6815744 passed
OS Kernel Parameter: file-max ...PASSED
OS Kernel Parameter: ip_local_port_range ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 passed
rac3 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 passed
OS Kernel Parameter: ip_local_port_range ...PASSED
OS Kernel Parameter: rmem_default ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 262144 262144 262144 passed
rac3 262144 262144 262144 passed
OS Kernel Parameter: rmem_default ...PASSED
OS Kernel Parameter: rmem_max ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 4194304 4194304 4194304 passed
rac3 4194304 4194304 4194304 passed
OS Kernel Parameter: rmem_max ...PASSED
OS Kernel Parameter: wmem_default ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 262144 262144 262144 passed
rac3 262144 262144 262144 passed
OS Kernel Parameter: wmem_default ...PASSED
OS Kernel Parameter: wmem_max ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 1048576 1048576 1048576 passed
rac3 1048576 1048576 1048576 passed
OS Kernel Parameter: wmem_max ...PASSED
OS Kernel Parameter: aio-max-nr ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 1048576 1048576 1048576 passed
rac3 1048576 1048576 1048576 passed
OS Kernel Parameter: aio-max-nr ...PASSED
OS Kernel Parameter: panic_on_oops ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
rac1 1 1 1 passed
rac3 1 1 1 passed
OS Kernel Parameter: panic_on_oops ...PASSED
Package: kmod-20-21 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 kmod(x86_64)-25-17.el8 kmod(x86_64)-20-21 passed
rac3 kmod(x86_64)-25-17.el8 kmod(x86_64)-20-21 passed
Package: kmod-20-21 (x86_64) ...PASSED
Package: kmod-libs-20-21 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 kmod-libs(x86_64)-25-17.el8 kmod-libs(x86_64)-20-21 passed
rac3 kmod-libs(x86_64)-25-17.el8 kmod-libs(x86_64)-20-21 passed
Package: kmod-libs-20-21 (x86_64) ...PASSED
Package: binutils-2.30-49.0.2 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 binutils-2.30-93.el8 binutils-2.30-49.0.2 passed
rac3 binutils-2.30-93.el8 binutils-2.30-49.0.2 passed
Package: binutils-2.30-49.0.2 ...PASSED
Package: libgcc-8.2.1 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 libgcc(x86_64)-8.4.1-1.el8 libgcc(x86_64)-8.2.1 passed
rac3 libgcc(x86_64)-8.4.1-1.el8 libgcc(x86_64)-8.2.1 passed
Package: libgcc-8.2.1 (x86_64) ...PASSED
Package: libstdc++-8.2.1 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 libstdc++(x86_64)-8.4.1-1.el8 libstdc++(x86_64)-8.2.1 passed
rac3 libstdc++(x86_64)-8.4.1-1.el8 libstdc++(x86_64)-8.2.1 passed
Package: libstdc++-8.2.1 (x86_64) ...PASSED
Package: sysstat-10.1.5 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 sysstat-11.7.3-5.el8 sysstat-10.1.5 passed
rac3 sysstat-11.7.3-5.el8 sysstat-10.1.5 passed
Package: sysstat-10.1.5 ...PASSED
Package: ksh ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 ksh ksh passed
rac3 ksh ksh passed
Package: ksh ...PASSED
Package: make-4.2.1 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 make-4.2.1-10.el8 make-4.2.1 passed
rac3 make-4.2.1-10.el8 make-4.2.1 passed
Package: make-4.2.1 ...PASSED
Package: glibc-2.28 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 glibc(x86_64)-2.28-151.el8 glibc(x86_64)-2.28 passed
rac3 glibc(x86_64)-2.28-151.el8 glibc(x86_64)-2.28 passed
Package: glibc-2.28 (x86_64) ...PASSED
Package: glibc-devel-2.28 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 glibc-devel(x86_64)-2.28-151.el8 glibc-devel(x86_64)-2.28 passed
rac3 glibc-devel(x86_64)-2.28-151.el8 glibc-devel(x86_64)-2.28 passed
Package: glibc-devel-2.28 (x86_64) ...PASSED
Package: libaio-0.3.110 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 libaio(x86_64)-0.3.112-1.el8 libaio(x86_64)-0.3.110 passed
rac3 libaio(x86_64)-0.3.112-1.el8 libaio(x86_64)-0.3.110 passed
Package: libaio-0.3.110 (x86_64) ...PASSED
Package: nfs-utils-2.3.3-14 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 nfs-utils-2.3.3-41.el8 nfs-utils-2.3.3-14 passed
rac3 nfs-utils-2.3.3-41.el8 nfs-utils-2.3.3-14 passed
Package: nfs-utils-2.3.3-14 ...PASSED
Package: smartmontools-6.6-3 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 smartmontools-7.1-1.el8 smartmontools-6.6-3 passed
rac3 smartmontools-7.1-1.el8 smartmontools-6.6-3 passed
Package: smartmontools-6.6-3 ...PASSED
Package: net-tools-2.0-0.51 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 net-tools-2.0-0.52.20160912git.el8 net-tools-2.0-0.51 passed
rac3 net-tools-2.0-0.52.20160912git.el8 net-tools-2.0-0.51 passed
Package: net-tools-2.0-0.51 ...PASSED
Package: policycoreutils-2.9-3 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 policycoreutils-2.9-14.el8 policycoreutils-2.9-3 passed
rac3 policycoreutils-2.9-14.el8 policycoreutils-2.9-3 passed
Package: policycoreutils-2.9-3 ...PASSED
Package: policycoreutils-python-utils-2.9-3 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
rac1 policycoreutils-python-utils-2.9-14.el8 policycoreutils-python-utils-2.9-3 passed
rac3 policycoreutils-python-utils-2.9-14.el8 policycoreutils-python-utils-2.9-3 passed
Package: policycoreutils-python-utils-2.9-3 ...PASSED
Users With Same UID: 0 ...PASSED
Current Group ID ...PASSED
Root user consistency ...
Node Name Status
------------------------------------ ------------------------
rac1 passed
rac3 passed
Root user consistency ...PASSED
Node Addition ...
CRS Integrity ...PASSED
Clusterware Version Consistency ...PASSED
'/u01/app/21.0.0/grid' ...PASSED
Node Addition ...PASSED
Host name ...PASSED
Node Connectivity ...
Hosts File ...
Node Name Status
------------------------------------ ------------------------
rac1 passed
rac2 passed
rac3 passed
Hosts File ...PASSED
Interface information for node "rac1"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
enp0s3 10.20.30.101 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:6C:9A:FB 1500
enp0s3 10.20.30.105 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:6C:9A:FB 1500
enp0s3 10.20.30.103 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:6C:9A:FB 1500
enp0s3 10.20.30.107 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:6C:9A:FB 1500
enp0s8 10.1.2.201 10.1.2.0 0.0.0.0 UNKNOWN 08:00:27:7E:D7:1A 1500
Interface information for node "rac3"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
enp0s3 10.20.30.106 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:57:6A:1F 1500
enp0s8 10.1.2.203 10.1.2.0 0.0.0.0 UNKNOWN 08:00:27:2D:59:72 1500
Interface information for node "rac2"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
enp0s3 10.20.30.102 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:79:B4:29 1500
enp0s3 10.20.30.104 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:79:B4:29 1500
enp0s8 10.1.2.202 10.1.2.0 0.0.0.0 UNKNOWN 08:00:27:73:FE:D9 1500
Check: MTU consistency on the private interfaces of subnet "10.1.2.0"
Node Name IP Address Subnet MTU
---------------- ------------ ------------ ------------ ----------------
rac1 enp0s8 10.1.2.201 10.1.2.0 1500
rac3 enp0s8 10.1.2.203 10.1.2.0 1500
rac2 enp0s8 10.1.2.202 10.1.2.0 1500
Check: MTU consistency of the subnet "10.20.30.0".
Node Name IP Address Subnet MTU
---------------- ------------ ------------ ------------ ----------------
rac1 enp0s3 10.20.30.101 10.20.30.0 1500
rac1 enp0s3 10.20.30.105 10.20.30.0 1500
rac1 enp0s3 10.20.30.103 10.20.30.0 1500
rac1 enp0s3 10.20.30.107 10.20.30.0 1500
rac3 enp0s3 10.20.30.106 10.20.30.0 1500
rac2 enp0s3 10.20.30.102 10.20.30.0 1500
rac2 enp0s3 10.20.30.104 10.20.30.0 1500
Source Destination Connected?
------------------------------ ------------------------------ ----------------
rac1[enp0s8:10.1.2.201] rac3[enp0s8:10.1.2.203] yes
rac1[enp0s8:10.1.2.201] rac2[enp0s8:10.1.2.202] yes
rac3[enp0s8:10.1.2.203] rac2[enp0s8:10.1.2.202] yes
Source Destination Connected?
------------------------------ ------------------------------ ----------------
rac1[enp0s3:10.20.30.101] rac1[enp0s3:10.20.30.105] yes
rac1[enp0s3:10.20.30.101] rac1[enp0s3:10.20.30.103] yes
rac1[enp0s3:10.20.30.101] rac1[enp0s3:10.20.30.107] yes
rac1[enp0s3:10.20.30.101] rac3[enp0s3:10.20.30.106] yes
rac1[enp0s3:10.20.30.101] rac2[enp0s3:10.20.30.102] yes
rac1[enp0s3:10.20.30.101] rac2[enp0s3:10.20.30.104] yes
rac1[enp0s3:10.20.30.105] rac1[enp0s3:10.20.30.103] yes
rac1[enp0s3:10.20.30.105] rac1[enp0s3:10.20.30.107] yes
rac1[enp0s3:10.20.30.105] rac3[enp0s3:10.20.30.106] yes
rac1[enp0s3:10.20.30.105] rac2[enp0s3:10.20.30.102] yes
rac1[enp0s3:10.20.30.105] rac2[enp0s3:10.20.30.104] yes
rac1[enp0s3:10.20.30.103] rac1[enp0s3:10.20.30.107] yes
rac1[enp0s3:10.20.30.103] rac3[enp0s3:10.20.30.106] yes
rac1[enp0s3:10.20.30.103] rac2[enp0s3:10.20.30.102] yes
rac1[enp0s3:10.20.30.103] rac2[enp0s3:10.20.30.104] yes
rac1[enp0s3:10.20.30.107] rac3[enp0s3:10.20.30.106] yes
rac1[enp0s3:10.20.30.107] rac2[enp0s3:10.20.30.102] yes
rac1[enp0s3:10.20.30.107] rac2[enp0s3:10.20.30.104] yes
rac3[enp0s3:10.20.30.106] rac2[enp0s3:10.20.30.102] yes
rac3[enp0s3:10.20.30.106] rac2[enp0s3:10.20.30.104] yes
rac2[enp0s3:10.20.30.102] rac2[enp0s3:10.20.30.104] yes
Check that maximum (MTU) size packet goes through subnet ...PASSED
subnet mask consistency for subnet "10.1.2.0" ...PASSED
subnet mask consistency for subnet "10.20.30.0" ...PASSED
Node Connectivity ...PASSED
Multicast or broadcast check ...
Checking subnet "10.1.2.0" for multicast communication with multicast group "224.0.0.251"
Multicast or broadcast check ...PASSED
ASM Network ...PASSED
Device Checks for ASM ...Disks "/dev/oracleasm/disks/OCRDISK1,/dev/oracleasm/disks/OCRDISK2,/dev/oracleasm/disks/OCRDISK3" are managed by ASM.
Device Checks for ASM ...PASSED
ASMLib installation and configuration verification. ...
'/etc/init.d/oracleasm' ...PASSED
'/dev/oracleasm' ...PASSED
'/etc/sysconfig/oracleasm' ...PASSED
Node Name Status
------------------------------------ ------------------------
rac1 passed
rac3 passed
ASMLib installation and configuration verification. ...PASSED
OCR Integrity ...PASSED
Time zone consistency ...PASSED
Network Time Protocol (NTP) ...PASSED
User Not In Group "root": grid ...
Node Name Status Comment
------------ ------------------------ ------------------------
rac1 passed does not exist
rac3 passed does not exist
User Not In Group "root": grid ...PASSED
Time offset between nodes ...PASSED
resolv.conf Integrity ...PASSED
DNS/NIS name service ...PASSED
User Equivalence ...
Node Name Status
------------------------------------ ------------------------
rac2 passed
rac3 passed
User Equivalence ...PASSED
Software home: /u01/app/21.0.0/grid ...
Node Name Status Comment
------------ ------------------------ ------------------------
rac1 passed 1306 files verified
Software home: /u01/app/21.0.0/grid ...PASSED
/dev/shm mounted as temporary file system ...PASSED
zeroconf check ...PASSED
Pre-check for node addition was unsuccessful.
Checks did not pass for the following nodes:
rac1,rac3
Failures were encountered during execution of CVU verification request "stage -pre nodeadd".
Physical Memory ...FAILED
rac1: PRVF-7530 : Sufficient physical memory is not available on node "rac1"
[Required physical memory = 8GB (8388608.0KB)]
rac3: PRVF-7530 : Sufficient physical memory is not available on node "rac3"
[Required physical memory = 8GB (8388608.0KB)]
CVU operation performed: stage -pre nodeadd
Date: Dec 26, 2022 4:47:32 PM
Clusterware version: 21.0.0.0.0
CVU home: /u01/app/21.0.0/grid
Grid home: /u01/app/21.0.0/grid
User: grid
Operating system: Linux4.18.0-305.el8.x86_64
[grid@rac1 grid]$
Bước 6: Khởi động trình cài đặt GUI bằng người dùng grid từ Node1.
Chọn tùy chọn "Add more nodes to the cluster".
ví dụ
Public Hostname: rac3.localdomain
Virtual Hostname: rac3-vip.localdomain
[root@rac1 bin]# cd /u01/app/21.0.0/grid/bin
[root@rac1 bin]# ls -ltr OCRDUMPFILE
-rw-r----- 1 root root 348488 Jul 9 05:51 OCRDUMPFILE
[root@rac1 bin]# chmod 777 OCRDUMPFILE
[root@rac1 bin]# ls -ltr OCRDUMPFILE
-rwxrwxrwx 1 root root 348488 Jul 9 05:51 OCRDUMPFILE
Nhấp OK rồi nhấp TIẾP để tiếp tục.
[root@rac3 ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@rac3 ~]# hostname
rac3.localdomain
[root@rac3 ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@rac3 ~]#
[root@rac3 ~]# /u01/app/21.0.0/grid/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/21.0.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
[root@rac3 ~]# /u01/app/21.0.0/grid/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/21.0.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/21.0.0/grid/crs/install/crsconfig_params
2022-12-24 19:33:01: Got permissions of file /u01/app/grid/crsdata/rac3/crsconfig: 0775
2022-12-24 19:33:01: Got permissions of file /u01/app/grid/crsdata: 0775
2022-12-24 19:33:01: Got permissions of file /u01/app/grid/crsdata/rac3: 0775
The log of current session can be found at:
/u01/app/grid/crsdata/rac3/crsconfig/rootcrs_rac3_2022-12-24_07-33-01PM.log
2022/12/24 19:33:26 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.
2022/12/24 19:33:26 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
2022/12/24 19:33:26 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
2022/12/24 19:33:27 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
2022/12/24 19:33:27 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'.
2022/12/24 19:33:27 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'.
2022/12/24 19:33:30 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'.
2022/12/24 19:33:31 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'.
2022/12/24 19:33:31 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.
2022/12/24 19:33:58 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
2022/12/24 19:33:58 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
2022/12/24 19:34:00 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
2022/12/24 19:34:00 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2022/12/24 19:34:30 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2022/12/24 19:34:30 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2022/12/24 19:35:07 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2022/12/24 19:35:08 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2022/12/24 19:35:11 CLSRSC-4002: Successfully installed Oracle Autonomous Health Framework (AHF).
2022/12/24 19:35:42 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2022/12/24 19:37:46 CLSRSC-343: Successfully started Oracle Clusterware stack
2022/12/24 19:37:46 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
clscfg: EXISTING configuration version 21 detected.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
2022/12/24 19:38:09 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2022/12/24 19:40:10 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
[root@rac3 ~]#
Nhấp vào Đóng để hoàn tất việc thêm nút.
Bạn đã thêm thành công một nút mới vào cụm hiện có bằng phương pháp đồ họa.
Bước 7: Đảm bảo tất cả các dịch vụ CRS hoạt động tốt trên nút mới được thêm vào.
[grid@rac3 ~]$ ps -ef | grep pmon
grid 133813 7031 0 19:38 ? 00:00:00 asm_pmon_+ASM3
grid 137723 137138 0 19:43 pts/0 00:00:00 grep --color=auto pmon
[grid@rac3 ~]$ ps -ef | grep tns
root 24 2 0 17:05 ? 00:00:00 [netns]
grid 133287 7031 0 19:38 ? 00:00:00 /u01/app/21.0.0/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
grid 133321 7031 0 19:38 ? 00:00:00 /u01/app/21.0.0/grid/bin/tnslsnr ASMNET1LSNR_ASM -no_crs_notify -inherit
grid 139466 139018 0 19:45 pts/0 00:00:00 grep --color=auto tns
[grid@rac3 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ONLINE ONLINE rac3 STABLE
ora.chad
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ONLINE ONLINE rac3 STABLE
ora.net1.network
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ONLINE ONLINE rac3 STABLE
ora.ons
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ONLINE ONLINE rac3 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 ONLINE ONLINE rac2 STABLE
3 ONLINE ONLINE rac3 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac2 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 ONLINE ONLINE rac2 STABLE
3 ONLINE ONLINE rac3 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE rac1 Started,STABLE
2 ONLINE ONLINE rac2 Started,STABLE
3 ONLINE ONLINE rac3 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 ONLINE ONLINE rac2 STABLE
3 ONLINE ONLINE rac3 STABLE
ora.cdp1.cdp
1 ONLINE ONLINE rac2 STABLE
ora.cvu
1 ONLINE ONLINE rac2 STABLE
ora.qosmserver
1 ONLINE ONLINE rac2 STABLE
ora.rac1.vip
1 ONLINE ONLINE rac1 STABLE
ora.rac2.vip
1 ONLINE ONLINE rac2 STABLE
ora.rac3.vip
1 ONLINE ONLINE rac3 STABLE
ora.scan1.vip
1 ONLINE ONLINE rac2 STABLE
[grid@rac3 ~]$ crsctl check cluster -all
**************************************************************
rac1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
rac2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
rac3:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
[grid@rac3 ~]$ olsnodes -s -t
rac1 Active Unpinned
rac2 Active Unpinned
rac3 Active Unpinned
[grid@rac3 ~]$ lsnrctl status
LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 24-DEC-2022 19:45:54
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 21.0.0.0.0 - Production
Start Date 24-DEC-2022 19:38:13
Uptime 0 days 0 hr. 7 min. 40 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/21.0.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/rac3/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.20.30.106)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.20.30.107)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM3", status READY, has 1 handler(s) for this service...
Service "+ASM_OCR" has 1 instance(s).
Instance "+ASM3", status READY, has 1 handler(s) for this service...
The command completed successfully
[grid@rac1 grid]$ ./runcluvfy.sh stage -post nodeadd -n rac3 -verbose
This software is "264" days old. It is a best practice to update the CRS home by downloading and applying the latest release update. Refer to MOS note 756671.1 for more details.
Performing following verification checks ...
Node Connectivity ...
Hosts File ...
Node Name Status
------------------------------------ ------------------------
rac1 passed
rac3 passed
rac2 passed
Hosts File ...PASSED
Interface information for node "rac1"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
enp0s3 10.20.30.101 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:6C:9A:FB 1500
enp0s3 10.20.30.105 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:6C:9A:FB 1500
enp0s3 10.20.30.103 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:6C:9A:FB 1500
enp0s8 10.1.2.201 10.1.2.0 0.0.0.0 UNKNOWN 08:00:27:7E:D7:1A 1500
Interface information for node "rac3"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
enp0s3 10.20.30.106 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:57:6A:1F 1500
enp0s3 10.20.30.107 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:57:6A:1F 1500
enp0s8 10.1.2.203 10.1.2.0 0.0.0.0 UNKNOWN 08:00:27:2D:59:72 1500
Interface information for node "rac2"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
enp0s3 10.20.30.102 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:79:B4:29 1500
enp0s3 10.20.30.104 10.20.30.0 0.0.0.0 UNKNOWN 08:00:27:79:B4:29 1500
enp0s8 10.1.2.202 10.1.2.0 0.0.0.0 UNKNOWN 08:00:27:73:FE:D9 1500
Check: MTU consistency on the private interfaces of subnet "10.1.2.0"
Node Name IP Address Subnet MTU
---------------- ------------ ------------ ------------ ----------------
rac1 enp0s8 10.1.2.201 10.1.2.0 1500
rac3 enp0s8 10.1.2.203 10.1.2.0 1500
rac2 enp0s8 10.1.2.202 10.1.2.0 1500
Check: MTU consistency of the subnet "10.20.30.0".
Node Name IP Address Subnet MTU
---------------- ------------ ------------ ------------ ----------------
rac1 enp0s3 10.20.30.101 10.20.30.0 1500
rac1 enp0s3 10.20.30.105 10.20.30.0 1500
rac1 enp0s3 10.20.30.103 10.20.30.0 1500
rac3 enp0s3 10.20.30.106 10.20.30.0 1500
rac3 enp0s3 10.20.30.107 10.20.30.0 1500
rac2 enp0s3 10.20.30.102 10.20.30.0 1500
rac2 enp0s3 10.20.30.104 10.20.30.0 1500
Source Destination Connected?
------------------------------ ------------------------------ ----------------
rac1[enp0s8:10.1.2.201] rac3[enp0s8:10.1.2.203] yes
rac1[enp0s8:10.1.2.201] rac2[enp0s8:10.1.2.202] yes
rac3[enp0s8:10.1.2.203] rac2[enp0s8:10.1.2.202] yes
Source Destination Connected?
------------------------------ ------------------------------ ----------------
rac1[enp0s3:10.20.30.101] rac1[enp0s3:10.20.30.105] yes
rac1[enp0s3:10.20.30.101] rac1[enp0s3:10.20.30.103] yes
rac1[enp0s3:10.20.30.101] rac3[enp0s3:10.20.30.106] yes
rac1[enp0s3:10.20.30.101] rac3[enp0s3:10.20.30.107] yes
rac1[enp0s3:10.20.30.101] rac2[enp0s3:10.20.30.102] yes
rac1[enp0s3:10.20.30.101] rac2[enp0s3:10.20.30.104] yes
rac1[enp0s3:10.20.30.105] rac1[enp0s3:10.20.30.103] yes
rac1[enp0s3:10.20.30.105] rac3[enp0s3:10.20.30.106] yes
rac1[enp0s3:10.20.30.105] rac3[enp0s3:10.20.30.107] yes
rac1[enp0s3:10.20.30.105] rac2[enp0s3:10.20.30.102] yes
rac1[enp0s3:10.20.30.105] rac2[enp0s3:10.20.30.104] yes
rac1[enp0s3:10.20.30.103] rac3[enp0s3:10.20.30.106] yes
rac1[enp0s3:10.20.30.103] rac3[enp0s3:10.20.30.107] yes
rac1[enp0s3:10.20.30.103] rac2[enp0s3:10.20.30.102] yes
rac1[enp0s3:10.20.30.103] rac2[enp0s3:10.20.30.104] yes
rac3[enp0s3:10.20.30.106] rac3[enp0s3:10.20.30.107] yes
rac3[enp0s3:10.20.30.106] rac2[enp0s3:10.20.30.102] yes
rac3[enp0s3:10.20.30.106] rac2[enp0s3:10.20.30.104] yes
rac3[enp0s3:10.20.30.107] rac2[enp0s3:10.20.30.102] yes
rac3[enp0s3:10.20.30.107] rac2[enp0s3:10.20.30.104] yes
rac2[enp0s3:10.20.30.102] rac2[enp0s3:10.20.30.104] yes
Check that maximum (MTU) size packet goes through subnet ...PASSED
subnet mask consistency for subnet "10.1.2.0" ...PASSED
subnet mask consistency for subnet "10.20.30.0" ...PASSED
Node Connectivity ...PASSED
Cluster Integrity ...
Node Name
------------------------------------
rac1
rac2
rac3
Cluster Integrity ...PASSED
Node Addition ...
CRS Integrity ...PASSED
Clusterware Version Consistency ...PASSED
'/u01/app/21.0.0/grid' ...PASSED
Node Addition ...PASSED
Multicast or broadcast check ...
Checking subnet "10.1.2.0" for multicast communication with multicast group "224.0.0.251"
Multicast or broadcast check ...PASSED
Node Application Existence ...
Checking existence of VIP node application (required)
Node Name Required Running? Comment
------------ ------------------------ ------------------------ ----------
rac1 yes yes passed
rac3 yes yes passed
rac2 yes yes passed
Checking existence of NETWORK node application (required)
Node Name Required Running? Comment
------------ ------------------------ ------------------------ ----------
rac1 yes yes passed
rac3 yes yes passed
rac2 yes yes passed
Checking existence of ONS node application (optional)
Node Name Required Running? Comment
------------ ------------------------ ------------------------ ----------
rac1 no yes passed
rac3 no yes passed
rac2 no yes passed
Node Application Existence ...PASSED
Single Client Access Name (SCAN) ...
SCAN Name Node Running? ListenerName Port Running?
---------------- ------------ ------------ ------------ ------------ ------------
rac-scan rac1 true LISTENER_SCAN1 1530 true
Checking TCP connectivity to SCAN listeners...
Node ListenerName TCP connectivity?
------------ ------------------------ ------------------------
rac3 LISTENER_SCAN1 yes
DNS/NIS name service 'rac-scan' ...
Name Service Switch Configuration File Integrity ...PASSED
DNS/NIS name service 'rac-scan' ...FAILED (PRVG-1101)
Single Client Access Name (SCAN) ...FAILED (PRVG-11372, PRVG-1101)
User Not In Group "root": grid ...
Node Name Status Comment
------------ ------------------------ ------------------------
rac3 passed does not exist
User Not In Group "root": grid ...PASSED
Clock Synchronization ...
Node Name Status
------------------------------------ ------------------------
rac3 passed
Node Name State
------------------------------------ ------------------------
rac3 Active
Node Name Time Offset Status
------------ ------------------------ ------------------------
rac3 0.0 passed
Clock Synchronization ...PASSED
Post-check for node addition was unsuccessful.
Checks did not pass for the following nodes:
rac1,rac3
Failures were encountered during execution of CVU verification request "stage -post nodeadd".
Single Client Access Name (SCAN) ...FAILED
PRVG-11372 : Number of SCAN IP addresses that SCAN "rac-scan" resolved to did
not match the number of SCAN VIP resources
DNS/NIS name service 'rac-scan' ...FAILED
PRVG-1101 : SCAN name "rac-scan" failed to resolve
CVU operation performed: stage -post nodeadd
Date: Dec 26, 2022 5:00:45 PM
Clusterware version: 21.0.0.0.0
CVU home: /u01/app/21.0.0/grid
Grid home: /u01/app/21.0.0/grid
User: grid
Operating system: Linux4.18.0-305.el8.x86_64
=============================
TƯ VẤN: Click hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty
TƯ VẤN: Click hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty
















































