Thứ Ba, 21 tháng 1, 2020

RÀ SOÁT HỆ THỐNG ĐẢM BẢO AN TOÀN HỆ THỐNG DỊP NGHỈ LỄ, TẾT

Dịp nghỉ Lễ, Tết cũng như các dịp nghỉ lễ khác chúng ta thường ít quan tâm đến hệ thống nên để đảm bảo an toàn, có những ngày nghỉ vui vẻ trọn vẹn bên gia đình, anh/em cần rà soát lại hệ thống mình quản trị để đảm bảo an toàn nhé. Anh/em hãy check list xem đủ chưa (bổ sung nếu cần):

Thứ Năm, 16 tháng 1, 2020

Các nhiệm vụ của Oracle DBA

Là quản trị viên cơ sở dữ liệu Oracle (DBA) bạn được giao quản trị "trái tim" của mỗi doanh nghiệp, bạn có thể được tham gia vào các tác vụ sau:
    Hình ảnh có liên quan
  • Sizing phần cứng để cài đặt hệt thống chạy Oracle Database đảm bảo an toàn, dự phòng cao, tiết kiệm.
  • Cài đặt phần mềm Oracle Database, RAC, DataGuard, GoldenGate,...
  • Tạo cơ sở dữ liệu Oracle Database 
  • Thực hiện nâng cấp cơ sở dữ liệu và phần mềm lên các cấp phiên bản mới của Oracle Database 

Thứ Ba, 14 tháng 1, 2020

Tổng quan hệ thống chứng chỉ Oracle

Oracle cung cấp 200 chứng chỉ ở các lĩnh vực ứng dụng, đám mây, cơ sở dữ liệu, hệ thống vận hành, quản lý doanh nghiệp, ảo hóa…Hệ thống chứng chỉ Oracle được chia làm 10 lĩnh vực: 
  • Oracle Applications
  • Oracle Cloud
  • Oracle Database
  • Oracle Enterprise Management
  • Oracle Foundation
  • Oracle Industries
  • Oracle Java and Middleware
  • Oracle Operating Systems
  • Oracle Systems
  • Oracle Virtualization

Khắc phục lỗi recovery khi OPEN RESETLOGS lỗi SYSTEM trong Oracle Database?

Error log:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u01/app/oracle/oradata/ORCL/system01.dbf'

Khi nào một index nên được xây dựng lại (rebuild) trong Oracle Database?


Khái niệm

Một index của Oracle là một đối tượng trong schema có thể tăng tốc độ truy xuất các row bằng cách sử dụng một con trỏ. 

Bạn có thể tạo các index trên một hoặc nhiều cột của bảng để tăng tốc độ thực thi câu lệnh SQL trên bảng đó. 

Nếu bạn không có index trên cột, thì việc quét toàn bộ bảng sẽ xảy ra. Bạn có thể giảm I/O đĩa bằng cách sử dụng phương pháp truy cập đường dẫn nhanh để xác định vị trí dữ liệu nhanh chóng. Theo mặc định, Oracle tạo các index B-tree. 

Sau khi một bảng trải qua một số lượng lớn các lần chèn, cập nhật và xóa, index có thể trở nên mất cân bằng và bị phân mảnh và có thể cản trở hiệu suất truy vấn, giảm hiệu năng.

Thứ Hai, 13 tháng 1, 2020

Thủ tục gửi email cảnh báo CLOB trong Oracle Database

1. Tạo thủ tục 
CREATE OR REPLACE PROCEDURE SYS.send_email_html_clob (str_to IN VARCHAR2,  str_subject   IN VARCHAR2,   str_body      IN CLOB)
IS
    l_mail_conn   UTL_SMTP.connection;
    p_str_to      VARCHAR2(4000) := trim(str_to);
    pos number(10,0) := 0;
    i number(10,0) := 0;
    L_OFFSET number := 1;
    L_AMMOUNT number := 1900;

Thứ Bảy, 11 tháng 1, 2020

Quy trình vận hành cơ sở dữ liệu Oracle - 9.Thủ tục cài đặt, vận hành Oracle Goldengate

1.  Mô hình đồng bộ goldengate triển khai

Quy trình vận hành cơ sở dữ liệu Oracle - 7.Vận hành Oracle ASM

1. ASM instance architecture:

- ASM có 3 thành phần chính: ASM instance, disk groups và ASM files.
- Một ASM instance có một số background processes như SMON, PMON và LGWR processes. Ngoài ra có 2 background processes mới: ASM Rebalance Master (RBAL) và ASM Rebalance (ARBn).
-  Oracle DB instance sử dụng ASM instance sẽ có thêm 2 background processes liên quan đến ASM: RBAL và  ASM Background (ASMB) processes
   + ASM Files backup phải thực hiện bằng RMAN

2.Managing the ASM instance

-    Tạo ASM instance: Sử dụng DBCA và chọn các option như hình vẽ sau:
Tạo ASM instance trên môi trường single-instance:

Quy trình vận hành cơ sở dữ liệu Oracle - 2.Hướng dẫn khai báo partition cho DB

Cách sử dụng script này:
1. Mở TOAd hoặc SQL Navigator
2. Copy toàn bộ và thực hiện từng bước một cho đến khi kết thúc
(hoặc có thể đặt job để tự động sinh partition nhé):

Quy trình vận hành cơ sở dữ liệu Oracle - 4.Hướng dẫn kiểm tra cơ sở dữ liệu (alert log, backup log,...)

1. Kiểm tra alert log của DB

-         Trong hướng dẫn này lấy minh họa trên DB orcl có các thông tin sau:
Ip: 192.168.1.20
Oracle_home: /u01/app/oracle/product/11.2.0/db_1
Oracle_sid: orcl

Quy trình vận hành cơ sở dữ liệu Oracle - 8.Hướng dẫn vận hành oracle dataguard

1. Các bước stop, start standby database

-       Start Physical standby database gồm 3 bước:
1.     Start chế độ nomount:
STARTUP NOMOUNT;

Quy trình vận hành cơ sở dữ liệu Oracle - 5.Hướng dẫn rebuild index

1 Tiếp nhận yêu cầu

    DBA tiếp nhận yêu cầu thực hiện rebuid index từ các nguồn sau     
-       Từ phòng sử dụng cơ sở dữ liệu
-       Từ đơn vị quản lý ứng dụng
-       Từ phần mềm cảnh báo
-       Từ việc monitor hàng ngày

Quy trình vận hành cơ sở dữ liệu Oracle - 3.Hướng dẫn kiểm tra lỗi lock bảng và tồn session

1 Tiếp nhận yêu cầu

    DBA tiếp nhận phản ánh về các vấn đề liên quan đến lock session: import vào bảng chậm, delete dữ liệu từ bảng chậm, update dữ liệu vào bảng chậm hay thay đổi cấu trúc bảng không thành công. Với phạm vi những phản ánh này không có yêu cầu cụ thể về biểu mẫu, DBA có trách nhiệm phối hợp với nhân viên quản trị ứng dụng từ các phòng, ban để xử lý:
    + Từ các phòng sử dụng cơ sở dữ liệu
    + Từ cảnh báo tinh nhắm qua SMS
    + Từ các công cụ monitor

Quy trình vận hành cơ sở dữ liệu Oracle - 6.Hướng dẫn tác động vào profile của user

Các yêu cầu có thể là: tạo user mới, thay đổi quyền user (Check quyền DBA của các user cần revoke, Revoke quyền DBA và thực hiện grant lại quyền), tiếp nhận database mới.

Quy trình vận hành cơ sở dữ liệu Oracle - 1.Hướng dẫn khai báo datafile

1. Tổng hợp thông tin cho việc khai báo

-         Kiểm tra dung lượng free của các mount point hiện tại.
-         Kiểm tra vị trí và sequence các datafile (của tablespace) được khai báo gần nhất.
-         Datafile được khai báo sẽ tương ứng với 02 loại tablespace:
            + Tablespace chung, lưu trữ lâu dài (forever)
            + Tablespace riêng, lưu trữ theo tháng (monthly)

Quy trình vận hành cơ sở dữ liệu Oracle với 9 bước hiệu quả

Hướng dẫn các thao tác vận hành và tác động vào DB cho các DBA với từng bước cụ thể, dựa vào các hướng dẫn để giám sát và vận hành các DB hàng ngày:
1. Hướng dẫn khai báo datafile:
+   Khai báo thêm các datafile cho DB theo qui trình đảm bảo hoạt động của DB, tránh nhầm lẫn khi thao tác với DB.
+   Sử dụng I/O của các mount point một cách hiệu quả nhất.
2. Hướng dẫn khai báo partition cho DB:
+   Thêm partition cho các bảng chia partition trong DB theo qui trình đảm bảo hoạt động của DB, tránh nhầm lẫn khi thao tác với DB.
+   Kiểm tra các bảng có partition.

Script thêm partition theo 1 giờ, 12 giờ cho bảng dữ liệu lớn

1. Script thêm partition theo 1 giờ:
declare
   v_table_name   varchar2 (40)  := 'BẢNG CÓ PARTITION THEO 1 GIỜ';
   v_statement    varchar2 (500) := '';
   from_date      varchar2 (40)  := '01/02/2020';
   v_index_name   varchar2 (40)  := '';

   cursor c_index
   is
      select index_name
        from user_indexes
       where table_name = v_table_name;

Thứ Sáu, 10 tháng 1, 2020

Nhân lực công nghệ thông tin: Có tới 70% cử nhân công nghệ thông tin phải đào tạo lại

Bộ trưởng Bộ Giáo dục và Đào tạo Phùng Xuân Nhạ cho biết, khảo sát cho thấy trong số 50.000 cử nhân công nghệ thông tin ra trường chỉ có 30% làm việc được ngay, có việc làm đúng nghề, 70% phải đào tạo lại.

Khuyến cáo quy hoạch lưu trữ tablespace của CSDL Oracle

Với dữ liệu lớn lên đến 1000TB thì việc quy hoạch lưu trữ là việc CỰC KỲ QUAN TRỌNG, do đó bạn cần phải hiểu được chiến lược lưu trữ này. Các hệ thống lớn đều quy hoạch như sau:

Tablespace
Mục đích lưu
DATA
·    Lưu bảng danh mục không partition
·    Lưu bảng có partition nhỏ nhưng có cập nhật
+ Hoặc partition không theo DATE
INDX
Lưu index tương ứng của các bảng của tablespace DATA
DATA<Năm>
Lưu các dữ liệu partition theo năm, định kỳ read only được để không phải backup nhiều lần loại dữ liệu này, VD DATA2017, DATA2016,…

Thứ Năm, 9 tháng 1, 2020

SCRIPT TÍNH TOÁN THAM SỐ HUGEPAGES

Script tính toán tham số hugepages
#!/bin/bash
#
# hugepages_settings.sh
#

echo "Press Enter to proceed..."

Khuyến cáo tối ưu hóa cấu trúc Oracle Database

1.     Cấu trúc bảng:
Khi tạo bảng mới cần áp dụng các phương án như sau:
·         Với bảng có dữ liệu lớn (2G trở lên) phải đánh partition.
- Với dữ liệu lịch sử thì đánh theo By Range.
- Với dữ liệu xác định trước được giá trị thì đánh theo By list.
- Với dữ liệu không có quy luật thì đánh theo By Hash.
·         Với các bảng có đánh partition thì index phải đánh theo Local.
·         Hạn chế sử dụng trigger trên bảng.
·         Đánh giá trong câu lệnh select có trường nào xác định được đối tượng tìm kiếm chính xác nhất và có độ dài trường ngắn nhất (ưu tiên trường number) thì đánh index theo trường đó.
·         Hạn chế dùng foreign key.
·         Với các bảng có tần suất update hoặc insert lớn nên dùng primary key.

[VIP5]Bí quyết thiết lập tham số hugepages cho CSDL Oracle trên Linux_Update 19/04/2023

Mục đích: Với Oracle Database chạy Linux Server từ 16GB SGA (mà chỉ cần >=8GB) thì nên sử dụng HugePages. Khi đó Oracle sẽ hoạt đọng hiệu quả hơn. Khi chúng ta cấu hình HugePage, Linux Kernel sẽ dùng page hớn (gọi là huge page). Thay vì 4K với Linux x86 và x86_64 hay 16 KB với IA64 chúng ta sẽ đặt  4 MB on x86, 2MB với x86_64 hay 256MB trên IA64. Page lớn hơn tức là hệ thống sẽ cần ít bảng quản lý page (page table) hơn, do đó việc ánh xạ giữa page table và block cần truy xuất.

Bí quyết thiết lập các tham số CSDL Oracle cần thiết nhất theo khuyến cáo của Oracle hãng


Sau đây là một số yêu cầu và hướng dẫn thiết lập các thành phần cho một Oracle database phục vụ khi tiếp nhận cơ sở dữ liệu mới:

STT
Nội dung
Yêu cầu
Cách kiểm tra/thiết lập
1
Thiết   lập vùng swap cho máy chủ DB
·   Với máy chủ có RAM ≤ 32GB: đặt dung lượng swap bằng với dung lượng RAM.
·    Với máy chủ có RAM>32GB: đặt dung lượng swap tương đương 75%-80% dung lượng RAM.

Bí quyết khi tiếp nhận cơ sở dữ liệu Oracle

1. Nội dung cần thực hiện trước khi tiếp nhận hoặc đưa DB mới vào môi trường hoạt động:

STT
Nội dung
Yêu cầu phải đạt được trước khi tiếp nhận
1
Kiểm tra kiến trúc dự phòng DB
DB chạy cơ chế active – active theo công nghệ Oracle Real application Cluster (RAC), ứng dụng kết nối đảm bảo khả năng load balance và failover trên DB.
2
Kiểm tra cấu hình DB
Redo khai báo phù hợp: có ít nhất 3 redo log group mỗi instance DB, mỗi group có ít nhất 2 member trên 2 vùng khác nhau, đảm bảo mirror dự phòng cho nhau.

OEM emca Enterprise Manager Configuration Assistant

$ORACLE_HOME/bin/emca [operation] [mode] [dbType] [flags] [parameters]
emca -h or emca --h or emca -help or emca --help    -- prints this help message
emca -version      -- prints the version
emca -config dbcontrol db [-repos (create | recreate)] [-cluster] [-silent] [-backup] [parameters]        -- configure Database Control for a database
emca -config dbcontrol db

orachk (Oracle Check)

orachk utility in Oracle
./orachk -v
./orachk -help
./orachk -h
./orachk -a -- all checks
./orachk -b -- only best practices checks
./orachk -c hacheck
./orachk -m -- exclude check for MAA

ADRCI trong Oracle Database

adrci [-HELP] [SCRIPT=script_filename] [EXEC="command [;command;...]"]
$ adrci -help
$ adrci script=adrci_script.adi
$ adrci script=env.adrci
$ adrci exec="show alert" 
$ adrci exec="show home; export incident -p "incident_id>120""
$ adrci exec="dde show available actions; show tracefile"
$ adrci exec="begin backup; cp -R log /tmp; end backup"

Các lệnh hay sử dụn trong ORADEBUG

ORADEBUG Utility
ORADEBUG HELP
ORADEBUG SETMYPID;           -- Debug current session
oradebug setmypid
ORADEBUG SETOSPID ;      -- Debug session with the specified OS process
oradebug setospid 3456
ORADEBUG SETORAPID ;   -- Debug session with the specified Oracle process ID
oradebug setorapid 222
oradebug unlimit
oradebug close_trace;
ORADEBUG TRACEFILE_NAME;     -- Display the current trace file

Hướng dẫn thi các chứng chỉ của Oracle

Những người có chứng chỉ của Oracle hiện nay đã phổ biến hơn, mặc dù số lượng vẫn thấp hơn những chứng chỉ khác của CISCO hay MICROSOFT rất nhiều. Bài viết này sẽ hướng dẫn các bạn các bước cụ thể để lấy lần lượt các chứng chỉ của Oracle.

Tại sao Oracle Database lại phổ biến nhất trên thế giới và cơ hội nào cho sinh viên theo ngành DBA?

Hình ảnh có liên quanVới các bạn sinh viên có thể đã nghe hoặc đã làm việc với các hệ quản trị cơ sở dữ liệu như SQLServer hay MySQL, tuy nhiên nhiều bạn vẫn còn khá lạ lẫm với hệ quản trị Cơ sở dữ liệu Oracle. Tôi viết bài này với mục đích mang lại cho các bạn sinh viên, hoặc những bạn mới đi làm có một cái nhìn gần gũi hơn với một trong những hệ quản trị Cơ sở dữ liệu hàng đầu trên thế giới.

Tại sao cơ sở dữ liệu Oracle lại được sử dụng rộng rãi trên toàn cầu cũng như ở Việt Nam?

Oracle là một hãng phần mềm cho doanh nghiệp hàng đầu thế giới, cung cấp rất nhiều các sản phẩm và giải pháp cho doanh nghiệp. Phần mềm nổi tiếng nhất của Oracle đó là Oracle Database. Nó được phần lớn các doanh nghiệp thuộc các khối viễn thông, ngân hàng, chính phủ sử dụng. Tại Việt Nam, phần lớn các doanh nghiệp lớn, nhỏ đều sử dụng Oracle Database.

Hướng dẫn cài đặt, sử dụng công cụ Oracle SQL Developer để làm việc với Oracle Database

Oracle SQL Developer là phần mềm do chính hãng Oracle phát triển. Bạn có thể download phần mềm này từ đây hoặc từ link của Oracle tại đây (miễn phí). 

Hoặc khi bạn cài đặt Oracle Client, một bản Oracle SQL Developer cũng đã được tích hợp sẵn. Ví dụ tôi cài Oracle Client vào đường dẫn: C:\app\product\11.2.0\client

[VIP5] Hé lộ bí mật giám sát cơ sở dữ liệu chủ động_HC_ALL

Ngày hôm nay tôi sẽ chia sẻ với các bạn 1 báo cáo rất KINH ĐIỂN mà nhìn vào đó bạn có thể biết ngay được hiện trạng của cơ sở dữ liệu của mình, có thể bạn chưa HIỂU được script này và có thể bạn cần nhiều mục khác nữa, bạn bổ sung thêm vào nhé. Hãy copy về và nghiền ngẫm, sử dụng trước khi nó KHÔNG còn được PUBLIC rộng rãi.

Thủ tục gửi email nhiều người trên cơ sở dữ liệu trong Oracle Database

1. Tạo thủ tục gửi mail trên schema bất kỳ:

PROCEDURE             send_email_m (STR_TO in varchar2, STR_SUBJECT in varchar2, STR_BODY in varchar2) is
  l_mail_conn   UTL_SMTP.connection;
  arrRecipients string_fnc.t_array;
begin

SQL Navigator - Công cụ cho dân Developer hiệu quả

Mục đích: Bạn đã từng mở package/function/procedure và sửa và Ctrl+S nhanh thần tốc bao giờ chưa? Hoặc Ctrl+S package core thì treo đơ và sang TOAD check thì có hàng nghìn session đang gọi, làm sao để cập nhật pacakge core bây giờ ,... thì SQL Navigator là công cụ rất hữu ích cho DBA khi làm việc với code mà không có công cụ nào hay hơn.

TOAD - Công cụ cho Oracle DBA TỐT NHẤT

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 object (table, view, index,...)
- Lấy luôn báo cáo AWR, ADDM, ASH
- Chạy các câu lệnh SQL ra kết quả rõ ràng, dễ nhìn
      - Những ai vận hành nghiệp vụ, chạy thủ tục PL/SQL có thể biết được thủ tục chạy đến đâu

Thứ Tư, 8 tháng 1, 2020

SQL*PLus - Một số câu lệnh hay sử dụng trong Oracle Database

  1.    Set môi trường cho SQL*Plus
col owner_name format a10
col table_name format a15
col cluster_name format a7
col partition_name format a9
col subpartition_name format a12
col head_rowid format a20
col <column_name> 999,999
col target format a25
Định dạng dữ liệu kiểu string, 10 ký t






Định dạng dữ liệu cột kiểu  number, VD: 123,456
set linesize 200 
Mỗi dòng 200 ký tự
SQL> set pagesize 9999
Định dạng cỡ của trang
Set timing on
Hiển thị thời gian chạy của câu lệnh

Mẫu báo cáo SỨC KHỎE HIỆN TẠI của cơ sở dữ liệu, máy chủ


 Danh sách các tiêu chí giám sát cho Oracle Database
#
Loại Tiêu chí
Tiêu chí
Ngưỡng cảnh báo

Phương thức nhận cảnh báo

Danh sách người nhận cảnh báo




Warning
Critical
Warning
Critical
Warning
Critical
1
Database Instances









Archive Area
> 75
> 90
Email
SMS + Email




Database Service
Up with warning
Down
Email
SMS + Email




Dataguard Status
Warning
Error
Email
SMS + Email




Dataguard Sync
> 300 s

Email
SMS + Email




Tablespace Usage
> 85
> 90
Email
SMS + Email




Tablespace Usage (TEMP)
> 85
> 90
Email
SMS + Email




Unusable Indexes

> 0
Email
SMS + Email




Block Session Count
> 0

Email
SMS + Email




Failed Job Count
> 0

Email
SMS + Email


ĐỌC NHIỀU

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