Mọi cơ sở dữ liệu (CSDL – database) đều được tạo ra theo cách không giống nhau, mỗi loại đều có ưu và nhược điểm riêng. Thực tế cho thấy những loại database như MySQL, MongoDB đôi khi bị “lạm dụng” vì tính phổ biến của nó, bất chấp tính tương thích với dự án / nhu cầu hiện tại. Việc chỉnh sửa một database không phù hợp để cải thiện tính tương thích sẽ tiêu tốn nhiều thời gian, công sức và dẫn đến các lỗ hổng về bảo mật và khả năng mở rộng của toàn hệ thống. Vậy, việc chọn lựa một database phù hợp nhất cho dự án của bạn ngay từ đầu sẽ là sự lựa chọn tối ưu. Trước khi cân nhắc chọn database, mời các bạn đọc bài viết bên dưới, với nội dung gồm liệt kê các dạng database thường thấy, điểm mạnh / kém của chúng và nhất là chúng thích hợp để sử dụng cho mục đích nào.
- HOME
- NHẬP MÔN
- SQL,PL/SQL
- ADMIN
- FULL BÀI VIẾT
- CÂU HỎI THƯỜNG GẶP
- CÁC LỖI THƯỜNG GẶP
- CÔNG CỤ
- ORACLE DATABASE TUTORIAL CƠ BẢN
- QUY TRÌNH VẬN HÀNH ORACLE DATABASE A-Z
- CÀI ĐẶT, PATCH
- UPGRADE/MIGRATION
- KIẾN TRÚC
- QUẢN LÝ INSTANCE
- USER, ROLES, QUYỀN
- LƯU TRỮ (STORAGE)
- OBJECTS
- BACKUP
- RECOVERY
- BẢO TRÌ
- HIỆU NĂNG (PERFORMANCE)
- GIAO DỊCH PHÂN TÁN
- BẢO MẬT
- TROUBLESHOOTING
- VẬN HÀNH TỰ ĐỘNG
- TIPS
- KHO TÀI NGUYÊN
- EXADATA
- KHÁC
- TUNNING
- RAC-ASM
- 12C-21C
- DB KHÁC
- ĐỒNG BỘ
- SYSTEM
- ĐÀO TẠO
- GIẢI PHÁP
- RADIO
- LIÊN HỆ
Thứ Ba, 18 tháng 9, 2018
Thứ Hai, 17 tháng 9, 2018
Thay đổi địa chỉ IP trên Solaris 10 không phải reboot
Có thể thay đổi địa chỉ IP của máy chủ Solaris 10 bằng cách sửa đổi vài tệp tin. Đây là cách thực hiện:
Địa chỉ IP của hệ thống được đặt dưới /etc/hosts. Tệp này thực sự được liên kết một cách tượng trưng với /etc/inet /hosts trong Solaris 10. Trong hệ thống của tôi, tôi có các mục sau trong /etc/hosts
# cat /etc/hosts
::1 localhost
127.0.0.1 localhost
192.168.1.122 opensolaris
loghost
Thứ Năm, 13 tháng 9, 2018
Xử lý cảnh báo enq: SQ - contention
1. Mục đích:
Xử lý cảnh báo enq: SQ - contention làm wait nhiều khi ứng dụng lớn cần truy cập vào sequence. Hiện tượng khi đọc AWR --> Top 5 Timed Foreground Events có event:
Xử lý cảnh báo enq: SQ - contention làm wait nhiều khi ứng dụng lớn cần truy cập vào sequence. Hiện tượng khi đọc AWR --> Top 5 Timed Foreground Events có event:
Event | Waits | Time(s) | Avg wait (ms) | % DB time | Wait Class |
---|---|---|---|---|---|
enq: SQ - contention | 1,299 | 179,881 | 138477 | 67.56 | Configuration |
db file sequential read | 2,180,717 | 28,784 | 13 | 10.81 | User I/O |
DB CPU | 20,496 | 7.70 | |||
SQL*Net message from dblink | 13,679,745 | 13,515 | 1 | 5.08 | Network |
gc buffer busy release | 157,257 | 3,078 | 20 | 1.16 | Cluster |
Thứ Ba, 11 tháng 9, 2018
Mount DBFS on Exadata
[oracle@testdb03 ~]$ ./mount-dbfs.sh
Usage: mount-dbfs.sh { start | stop | check | status | restart | clean | abort }
[oracle@testdb03 ~]$ ./mount-dbfs.sh check
Check -- OFFLINE
[oracle@testdb03 ~]$ ./mount-dbfs.sh start
mount-dbfs.sh mounting DBFS at /dbfs_direct from database dbfs
ORACLE_SID is dbfs3
spawning dbfs_client command using SID dbfs3
Start -- ONLINE
Usage: mount-dbfs.sh { start | stop | check | status | restart | clean | abort }
[oracle@testdb03 ~]$ ./mount-dbfs.sh check
Check -- OFFLINE
[oracle@testdb03 ~]$ ./mount-dbfs.sh start
mount-dbfs.sh mounting DBFS at /dbfs_direct from database dbfs
ORACLE_SID is dbfs3
spawning dbfs_client command using SID dbfs3
Start -- ONLINE
Các câu lệnh backup với Oracle RMAN
Lệnh sao lưu RMAN
Sao lưu RMAN được thực hiện bằng cách sử dụng câu lệnh BACKUP
Để thực hiện sao lưu cơ sở dữ liệu đầy đủ sử dụng:
Thứ Năm, 6 tháng 9, 2018
ASM_Chuyển dữ liệu từ tablespace INDX sang INDX_RECO bằng cách rebuild index
-- Mục đích: Chuyển dữ liệu từ tablespace INDX sang INDX_RECO do nhu cầu chuyển sang phân vùng SATA tốc độ thấp bằng cách rebuild lại index
-- 1. Size tablespace_name like '%INDX%'
select * from dba_data_files where tablespace_name like '%INDX%';
select round(sum(bytes)/1024/1024/1024,2) "GB" from dba_data_files where tablespace_name like '%INDX%';
-- 2.Tao tablespace INDX_RECO
create tablespace INDX_RECO datafile '/u01/app/oracle/oradata/orcl/indx_reco_001.dbf' size 100M autoextend on next 100m;
-- 1. Size tablespace_name like '%INDX%'
select * from dba_data_files where tablespace_name like '%INDX%';
select round(sum(bytes)/1024/1024/1024,2) "GB" from dba_data_files where tablespace_name like '%INDX%';
-- 2.Tao tablespace INDX_RECO
create tablespace INDX_RECO datafile '/u01/app/oracle/oradata/orcl/indx_reco_001.dbf' size 100M autoextend on next 100m;
File System_Chuyển dữ liệu sang tablespace DATA, INDX bằng cách move partition (Oracle Database)
-- Mục đích: Quy hoạch lại các dữ liệu ví dụ như dữ liệu từ tablespace DATA2018, INDX2018, USERS sang tablespace DATA, INDX bằng phương pháp move partition table/table partition, index, sau đó drop các tablespace DATA2018, INDX2018, USERS đi để giải phóng dung lượng do phân mảnh (DATA2018 cấp 5TB dùng 1TB, INDX2018 cấp 3TB dùng 1TB, USERS cấp 10TB dùng 2TB --> Cấp 18TB dùng 4TB, thu hồi được 14TB)
-- Tính mở rộng: Thủ tục này có thể áp dụng từ tablespace này sang tablespace khác
--1.Check thông tin
select round(sum(bytes)/1024/1024/1024,2) "GB" from dba_segments where tablespace_name in ('DATA2018','INDX2018','USERS')
order by "GB" desc;
--1.Check thông tin
select round(sum(bytes)/1024/1024/1024,2) "GB" from dba_segments where tablespace_name in ('DATA2018','INDX2018','USERS')
order by "GB" desc;
Kiểm tra thông tin của tablespace Oracle
--Hiển thị size, free, max free của tablespace
SELECT a.tablespace_name,100 - ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Usage",
ROUND (a.bytes_alloc / 1024 / 1024) "Size MB",
ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Used MB",
ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Free MB",
--ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Free",
ROUND (maxbytes / 1048576) "Max MB",
round(maxbytes/1048576-(ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024)),0) "Free_MB_Max",
ROUND (ROUND ( (a.bytes_alloc - NVL (b.bytes_free, 0)) / 1024 / 1024)/ ROUND (maxbytes / 1048576) * 100) "%Used of Max"
FROM (SELECT f.tablespace_name, SUM (f.bytes) bytes_alloc, SUM (DECODE (f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes
FROM dba_data_files f
GROUP BY tablespace_name) a,
(SELECT f.tablespace_name, SUM (f.bytes) bytes_free FROM dba_free_space f GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name(+) --and (a.tablespace_name in ('TEMP1','DATA201511','DATA201512','DATA2016','INDX'))
order by "%Used of Max" desc;
SELECT a.tablespace_name,100 - ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Usage",
ROUND (a.bytes_alloc / 1024 / 1024) "Size MB",
ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Used MB",
ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Free MB",
--ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Free",
ROUND (maxbytes / 1048576) "Max MB",
round(maxbytes/1048576-(ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024)),0) "Free_MB_Max",
ROUND (ROUND ( (a.bytes_alloc - NVL (b.bytes_free, 0)) / 1024 / 1024)/ ROUND (maxbytes / 1048576) * 100) "%Used of Max"
FROM (SELECT f.tablespace_name, SUM (f.bytes) bytes_alloc, SUM (DECODE (f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes
FROM dba_data_files f
GROUP BY tablespace_name) a,
(SELECT f.tablespace_name, SUM (f.bytes) bytes_free FROM dba_free_space f GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name(+) --and (a.tablespace_name in ('TEMP1','DATA201511','DATA201512','DATA2016','INDX'))
order by "%Used of Max" desc;
File System_Quy trình chuyển datafile của tablespace DATA, INDX sang phân vùng mới bằng cách copy datafile
Muc đích:
- Chuyển đổi tablespace từ phân vùng /u01 sang phân vùng u02 hoặc sang phân vùng tốc độc thâp như SATA bằng cách copy datafile
- Ứng cứu phân vùng /u01 đầy 99, 100% cần chuyển 1 số datafile để tránh đầy sang phân vùng /u02
0.Kiểm tra dung lượng tablespace: 100MB
select round(sum(bytes)/1024/1024, 2) from dba_data_files where tablespace_name like 'DATA2018%' order by file_name desc;
select * from dba_data_files where tablespace_name like 'DATA2018%' order by file_name desc;
1.Read only, Offline tablespace
-- Chuyen tablespace ve che do read only
--alter tablespace DATA2018 read only;
Select 'alter tablespace ' || tablespace_name || ' read only;' from dba_tablespaces where tablespace_name like 'DATA2018';
0.Kiểm tra dung lượng tablespace: 100MB
select round(sum(bytes)/1024/1024, 2) from dba_data_files where tablespace_name like 'DATA2018%' order by file_name desc;
select * from dba_data_files where tablespace_name like 'DATA2018%' order by file_name desc;
1.Read only, Offline tablespace
-- Chuyen tablespace ve che do read only
--alter tablespace DATA2018 read only;
Select 'alter tablespace ' || tablespace_name || ' read only;' from dba_tablespaces where tablespace_name like 'DATA2018';
Quản lý sequence trong Oracle Database
SELECT
|
select *
from DBA_SEQUENCES where sequence_name like 'ORD_SEQ%' |
Thứ Tư, 5 tháng 9, 2018
Hướng dẫn tạo ZFS pools và file systems trên Solaris
Chúng tôi có thể tạo nhóm ZFS bằng các thiết bị khác nhau như:
a. Sử dụng toàn bộ đĩa
b. Sử dụng slices đĩa
c. Sử dụng tập tin
b. Sử dụng slices đĩa
c. Sử dụng tập tin
Đăng ký:
Bài đăng (Atom)
ĐỌC NHIỀU
-
Bài viết này mô tả việc cài đặt Oracle Database 19c 64-bit trên Oracle Linux 7 (OL7) 64-bit bằng giao diện GUI hoặc bằng silent mode
-
Giới thiệu phần mềm: VanDyke SecureCRT and SecureFX là một ứng dụng chuyển tập tin an toàn, linh hoạt với giao diện trực quan cung cấp tr...
-
Ở bài trước bạn đã hiểu cách tạo database rồi, vậy thì trong bài này mình sẽ nói đến một thành phần khá hay trong SQL Server đó là schema. N...
-
TOAD là công cụ cho Oracle DBA TỐT NHẤT với nhiều tính năng: - Quản trị trực quan các thành phần: Tablespace, Monitor, Tunning, tạo các ob...