Sau khi hoàn thành khóa học, bạn sẽ có khả năng: Cài đặt Oracle Database Tạo Database và quản lý các đối tượng trong Database Mô tả kiến trúc Oracle Database Mô tả cấu trúc lưu t
Trang 1Điều kiện cần khi tham gia khóa học: Học viên đã có kiến thức căn bản về sử dụng ngôn ngữ SQL trong Oracle hoặc đã học qua lớp “Oracle Database 12c: SQL Fundamentals”
Khóa học sẽ rất hữu ích nếu bạn là lập trình viên, quản trị viên, phân tích và quản lý hệ thống đang làm việc trên Oracle Database muốn trang bị hoặc cập nhật kiến thức phiên bản Oracle 12
Sau khi hoàn thành khóa học, bạn sẽ có khả năng:
Cài đặt Oracle Database
Tạo Database và quản lý các đối tượng trong Database
Mô tả kiến trúc Oracle Database
Mô tả cấu trúc lưu trữ của Oracle Database
Giám sát và quản lý các Database
Cấu hình và quản lý Oracle Network
Thiết lập và sử dụng các tính năng Security
Tạo và quản lý user, role, cấp và thu hồi quyền hạn
Quản lý các cấu trúc lưu trữ Database
Quản lý hiệu quả trong việc sử dụng bộ nhớ
Thực hiện Backup và Recover Database
Mô tả và sử dụng các phương pháp di chuyển dữ liệu
Di chuyển dữ liệu giữa các Oracle Database
Lập lịch công việc thực hiện trong và ngoài Database
Trang 2MỤC LỤC
C HƯƠNG 1 C ÁC TÍNH NĂNG NỔI BẬT CỦA O RACLE 12 C 4
C HƯƠNG 4 C ÁC CÔNG CỤ QUẢN TRỊ O RACLE D ATABASE 35
C HƯƠNG 6 C ẤU HÌNH O RACLE N ETWORK E NVIRONMENT 55
Trang 33
Trang 4Phần 1 Giới thiệu Oracle Database 12c
Chương 1 Các tính năng nổi bật của Oracle 12c
Trong Oracle 12c, chúng ta có thể hợp nhất tới 252 CSDL thành phần (pluggable database) vào trong 1 CSDL “mẹ” (container database) Như vậy, tất cả các cơ sở dữ liệu “con”
sẽ chia sẻ chung tài nguyên Điều này giúp tối ưu hóa tài nguyên, giảm chi phí đầu tư vào hạ tầng phần cứng Nếu trong hệ thống CSDL trước đây, 1 máy chủ cài đặt tối đa 50 CSDL thành phần cần 20GB bộ nhớ thì với công nghệ mới Database 12c, dung lượng tài nguyên bộ nhớ có thể giảm tới 6 lần
Oracle 12c có tính năng biên tập (Redaction), có tác dụng che giấu dữ liệu nhạy cảm khi cung cấp dữ liệu cho người sử dụng cuối Ví dụ với mã số thẻ tín dụng, những người làm công tác quản trị nhân sự có thể nhìn thấy toàn bộ các con số của mã số thẻ, còn những bộ phận khác chỉ nhìn được 4 số cuối Tính năng bảo mật mới này sẽ giúp các tổ chức, doanh nghiệp cảm thấy
an toàn hơn khi hợp nhất các CSDL trong đám mây
Tự động cơ chế tối ưu hóa dữ liệu với công nghệ Data Heat Map, dựa trên bản đồ nhiệt đánh dấu mức độ thường xuyên truy cập của dữ liệu, giải pháp của Oracle sẽ giúp doanh nghiệp quyết định chuyển những dữ liệu ít truy cập vào thiết bị lưu trữ phù hợp (dữ liệu ít khi truy cập được chuyển vào lưu trữ trên thiết bị có chi phí rẻ hơn, dữ liệu thường xuyên truy cập được lưu trữ trên thiết bị lưu trữ có tốc độ cao và chi phí đắt hơn)
Dễ dàng di chuyển và đổi tên các tập tin dữ liệu (datafile) mà không cần phải đặt sang chế độ offline
Cho phép tạo thêm loại chỉ mục trên cùng một tập các cột dữ liệu Nếu trong phiên bản Oracle 11g chỉ cho phép tạo một chỉ mục trên cùng một tập các cột dữ liệu Tuy nhiên trong một
số trường hợp, có thể chúng ta sẽ cần hai loại chỉ mục khác nhau trên cùng một dữ liệu (ví dụ hệ thống kho dữ liệu - datawarehouse có thể cần cả loại chỉ mục bitmap và BTREE trên cùng một tập hợp cột dữ liệu)
Giúp doanh nghiệp tìm thêm cơ hội kinh doanh từ dữ liệu lớn (Big Data) gồm cả dữ liệu phi cấu trúc (chẳng hạn như từ mạng xã hội) và các dữ liệu có cấu trúc thông thường
Trang 5Các yêu cầu phần cứng để cài đặt Oracle 12C
Với Windows 2008 x64 Enterprise, các yêu cầu phần cứng để cài đặt Oracle 12c là:
1 Vi xử lý Processor AMD64 và Intel EM64T
3 Bộ nhớ ảo Virtual
memory (swap)
Nếu Ram trong khoảng từ 2 GB đến 16 GB, cần đặt virtual memory bằng kích cỡ RAM Nếu ram lớn hơn 16 GB, thì đặt virtual memory là 16 GB
4 Chỗ trống đĩa Typical Install: 10 GB
Advanced Install: 10 GB
Trang 6Cài đặt và cấu hình Oracle 12C
Chúng ta sẽ cài đặt phần mềm Oracle và tạo một Database có tên db12c (hay SID =
db12c)
Trang 77
Trang 9Trong mỗi Database có thể tạo một hoặc nhiều SCHEMA, mỗi SCHEMA là hệ thống các bảng, và các đối tượng như hàm, thủ tục, package
Trong Oracle 12C có một khái niệm mới là CDB$ROOT (Hoặc gọi là CDB Root), CDB$Root là một Plugin Database đặc biệt), là một đối tượng nằm trong CDB Các SCHEMA
có thể gắn vào CDB$ROOT, hoặc các Plugin Database (PDB) thông thường khác Mỗi Plugin Database có thể chứa chứa 1 hoặc nhiều SCHEMA
Trang 10Đến bước này, bộ cài đặt hỏi có tạo Plugin hay không, hãy chọn:
Create as Container Database
Nhập vào tên Plugin Database: pdbdb12c
Trang 1111
Trang 14Đến khi cài Oracle thành công, các thông số liên quan tới cơ sở dữ liệu được tổng kết lại, nên lưu lại các thông tin này
Trang 1515
Kiểm tra cài đặt và các service
Sau khi cài đặt thành công, các service của Oracle tự động được Start Ta có thể vào Service của Windows để kiểm tra
Có 6 service của Oracle, để chạy thông thường chỉ cần có 3 service quan trọng:
OracleOraDB12Home1TNSListener
OracleServiceDB12C
OracleVssWriterDB12C
Trang 16Kết nối thử vào database bằng SQL Plus:
Thông thường chúng ta làm việc với những công cụ trực quan hơn Tuy nhiên chúng ta
có thể sử dụng SQL Plus là một cửa sổ giao tiếp dạng console đơn giản cho phép gõ lệnh SQL lên đó
Để vào SQLPlus có thể vào từ CMD:
Đăng nhập bằng user system:
Trang 1717
Kiểm tra xem đang đứng tại Container nào:
Đứng tại Container Database, có thể truy vấn để biết hiện tại có bao nhiêu Plugin Database:
Trang 18Khi Oracle tạo ra một user database, một Scheme có tên tương ứng sẽ được tạo ra Ví dụ tạo một User database có tên là mytest, password là mytest001, và gán quyền Database Admin cho mytest:
create user mytest identified by mytest001;
grant dba to mytest;
Nếu ta muốn tạo một SCHEMA trong CDB$ROOT, chú ý rằng Oracle 12c mặc định tên của common user phải bắt đầu bởi C## hoặc c##, nếu cố tình đặt tên không có tiền tố trên sẽ bị thông báo lỗi ORA-65096
Để tránh lỗi này khi tạo user database, ta có thể đặt giá trị cho tham số ẩn _oracle_script:
alter session set "_ORACLE_SCRIPT"=true;
Thử kết nối vào user mytest vừa được tạo ra:
Trang 1919
Chương 3 Kiến trúc Oracle Database
Có ba thành phần chính trong kiến trúc máy chủ cơ sở dữ liệu (Oracle Database Architecture):
Cấu trúc bộ nhớ (memory structures)
Cấu trúc tiến trình (process structures)
Cấu trúc lưu trữ (storage structures)
Instance là tập hợp của các cấu trúc bộ nhớ và các tiến trình nền có liên kết hợp với instance Khi instance khởi động, một vùng bộ nhớ chia sẻ (Global Area System - SGA) được cấp phát và các tiến trình nền (Background Process) bắt đầu chạy Sau khi khởi động Instance, phần mềm Oracle liên kết các instance với cơ sở dữ liệu Cơ sở dữ liệu sau đó sẵn sàng để cho người dùng truy cập
Mỗi instance được liên kết với một và chỉ một cơ sở dữ liệu Nếu cơ sở dữ liệu chạy trên RAC thì sẽ có nhiều instance trên các máy chủ riêng biệt liên kết với một cơ sở dữ liệu được chia sẻ
Trang 20Nhiều sessions có thể được tạo ra và chạy đồng thời bởi một username Ví dụ: một user
có username/password là HR/HR có thể kết nối đến cùng một Oracle Database instance nhiều lần
Cấu trúc bộ nhớ của Oracle
Cấu trúc bộ nhớ của Oralce bao gồm 2 thành phần chính:
System Global Area (SGA) hay còn được gọi là Shared Global Area: được sử dụng để lưu trữ các thông tin về CSDL và được chia sẻ bởi các database process
Program Global Area (PGA): là vùng bộ nhớ cấp phát riêng biệt dành cho các sever proces và background process Mỗi vùng PGA tương ứng với một process
Trang 21 Library Cache: là vùng bộ nhớ lưu trữ các câu lệnh SQL và PL/SQL được sử dụng gần nhất Cho phép chia sẻ kết quả các câu lệnh đó Library Cache được quản lý thông qua giải thuật LRU
Data Dictionary Cache: là vùng bộ nhớ lưu trữ các định nghĩa về đối tượng trong CSDL được sử dụng gần nhất Trong quá trình phân tích cú pháp server process sẽ tìm kiếm trong data dictionary những thông tin về tính đúng đắn của các đối tượng
Large pool: đây là vùng bộ nhớ tuỳ chọn trong SGA, được sử dụng cho các thao tác I/O, backup và restore với RMAN, và chứa các thông tin về session
Java pool: đây là vùng nhớ dành cho việc phân tích các câu lệnh Java Vùng nhớ này cần khi cài đặt và sử dụng Java
Streams pool: được sử dụng bởi Oracle Streams
Shared pool là một phần của bộ nhớ SGA chứa bộ đệm thư viện lệnh, từ điển dữ liệu, bộ đệm kết quả của các câu lệnh SQL và các hàm PL/SQL, bộ đệm cho các thao tác chạy song hành và các cấu trúc điều khiển
Trang 22Từ điển dữ liệu (data dictionary) là tập hợp các bảng và view chứa các thông tin tham chiếu về database, cấu trúc của database và các user trong DB Oracle Database truy cập vào dữ liệu từ điển một cách thường xuyên khi các câu lệnh SQL thực thi Truy cập này là cần thiết để duy trì hoạt động của cơ sở dữ liệu Oracle
Có 2 vị trí quan trọng để lưu Data dictionary là bộ đệm data dictionary cache lưu dữ liệu dưới dạng dòng dữ liệu (row cache) và một vùng khác trong bộ nhớ lưu từ điển dữ liệu (library cache) Tất cả các Oracle Database user processes đều được chia sẻ hai vùng nhớ đệm này
Oracle Database hiện thị mỗi câu lệnh SQL đang chạy trên vùng nhớ shared SQL area (là vùng nhớ riêng biết lưu trong PGA) Oracle Database nhận biết khi 2 user cùng thực thi một câu lệnh SQL thì sẽ sử dụng lại vùng nhớ shared SQL area cho các user này
Data Buffer Cache là một phần của bộ nhớ SGA lưu giữ bản sao của các data blocks đọc
từ data files Là vùng nhớ được chia sẻ cho các user cùng kết nối sử dụng
Redo Log Buffer là một vùng đệm vòng tròn trong bộ nhớ SGA, lưu các thông tin về các thay đổi sẽ cập nhật vào database Gồm có các redo entry chứa thông tin sẽ thay đổi tạo ra từ các câu lệnh DML và DDL vào redo file
Trang 23mà Oracle Database đang chạy
Vùng nhớ Streams pool chỉ được dùng bởi Oracle Streams để lưu trong bộ đệm hàng đợi các messages, cấp bộ nhớ cho các tiến trình của Oracle Streams
Bộ nhớ PGA (Program Global Area) là vùng nhớ riêng chứa dữ liệu và thông tin điều khiển cho một tiến trình server process Mỗi một server process có một vùng PGA riêng Truy cập vào vùng này là chỉ đọc (read only) và chỉ dùng cho các tiến trình của Oracle, không cấp cho người dùng
Trang 24Mỗi vùng PGA chứa một khoảng trống ngăn xếp (stack) Với môi trường dedicated server, mỗi kết nối của user đến database instance sẽ có một server process riêng phục vụ Với kiểu kết nối này, PGA chứa các vùng nhớ con gọi là user global area (UGA)
Một UGA bao gồm:
Vùng Cursor lưu thông tin lưu trữ runtime của cursors Vùng User lưu các thông tin điều khiển của session
SQL working areas lưu thông tin xử lý các câu SQL :
Vùng sắp xếp dữ liệu cho các câu lệnh có mệnh đề ORDER BY và GROUP BY Vùng hash lưu thông tin liên kết các bảng
Vùng bitmap lưu thông tin các bitmap index
Vùng bitmap merge area để chứa các kế hoạch thực hiện cho bitmap index (plan execution)
Trong môi trường shared server, nhiều session từ máy trạm sẽ dùng chung một tiến trình server process Trong chế độ này, UGA sẽ chuyển vào trong SGA (shared pool hoặc large pool ) PGA chỉ còn bộ nhớ stack
Kiến trúc các tiến trình (Process Architecture)
Các tiến trình (processes) trong một Oracle Database có thể chia làm 3 nhóm chính:
User processes chạy trên máy tính của người sử dụng Là các tiến trình chạy ứng dụng hoặc chương trình có kết nối đến Oracle database
Oracle Database processes chạy trên server, bao gồm server processes và background processes Server process kết nối đến Oracle instance và phục vụ các kết nối của user Background processes là các tiến trình nền khởi động khi Oracle instance chạy
Oracle daemons and application processes: không có ở single database Là các tiến trình mạng Networking listeners và Grid Infrastructure daemons
Trang 2525
Khi một user chạy một chương trình ứng dụng hoặc một Oracle tool như SQL*Plus, thì một user process sẽ được dùng để phục vụ ứng dụng đó User process có thể chạy hoặc không chạy trên máy chủ Oracle Database sẽ tạo một server process để thực hiện các lệnh được yêu cầu từ user process Oracle server có một tập các tiến trình nền (background processes) phục vụ cho instance, các tiến trình này liên kết với hệ điều hành để quản lý cấu trúc bộ nhớ, thực hiện quản lý dữ liệu vào ra, ghi ra đĩa Từ cấu trúc đa dạng của các tiến trình này sẽ có các kiểu cấu hình Oracle Database khác nhau, phụ thuộc vào hệ điều hành và mục đích sử dụng
Có thể cấu hình Oracle server theo kiểu dedicated server hoặc shared server:
Dedicated server: Với mỗi một session, ở database một user process sẽ được một server process phục vụ
Shared server: Một thành phần gọi là dispatcher sẽ điều khiển mọi kết nối đến một vùng pool sau đó một shared server process sẽ phục vụ các yêu cầu từ client Một vùng nhớ nhỏ pool của server processes có thể phục vụ một lượng lớn clients
Với dedicated server process, khi một established khởi tạo, server process hoạt động như đại lý của người dùng trên máy chủ:
Phân tích cú pháp và chạy câu lệnh SQL thông qua ứng dụng
Trang 26 Kiểm tra bộ nhớ cache cho các khối dữ liệu cần thiết để thực hiện các câu lệnh SQL
Đọc các khối dữ liệu cần thiết từ các tập tin dữ liệu trên đĩa vào bộ nhớ cache trong Global Area System (SGA), nếu các khối đó chưa có trong SGA
Quản lý tất cả các hoạt động phân loại Sort Area là một khu vực bộ nhớ được sử dụng để làm việc với các phân loại; nó được chứa trong một phần của bộ nhớ đó là liên kết với các chương trình Global Area (PGA)
Trả lại kết quả cho người dùng theo cách mà các ứng dụng có thể xử lý thông tin Oracle Database tạo các server processes để xử lý các yêu cầu đến từ user có kết nối đến instance nhằm mục đích:
Phân tích và chạy các câu SQL của ứng dụng
Đọc các dữ liệu từ data blocks trong data files trên vào vùng shared database buffers của SGA (Nếu các blocks chưa có trên SGA)
Trả lại kết quả cho ứng dụng xử lý tiếp thông tin Tiến trình nền (Background Processes)
Để tối đa hóa hiệu suất và phục vụ nhiều người dùng, một Oracle instance có thể có nhiều tiến trình nền
Tiến trình nền Database Writer ghi các buffer đã bị sửa đổi trong database buffer cache vào đĩa
Tiến trình Log Writer ghi redo log buffer vào redo log file trên đĩa:
Khi một user process commits kết thúc một transaction
Khi một online redo log thực hiện switch
Khi một redo log buffer đầy một phần ba hoặc chứa 1 MB bộ đệm dữ liệu
Trước khi tiến trình DBWn ghi bộ đệm có sửa đổi vào đĩa
Định kỳ sau 3 giây kể từ lần ghi trước
Trang 2727
Tiến trình Checkpoint:
Làm điều phối viên cho các tiến trình LGnn processes đảm bảo mọi hoạt động là chính xác và có sắp đặt
Ghi thông tin checkpoint information vào Control file và Header của mỗi data file
Ra hiệu cho tiến trình DBWn ghi các block xuống đĩa
Tiến trình SMON:
Thực hiện khôi phục (recovery) nếu cần khi instance khởi động
Xóa các segments trung gian không sử dụng
Tiến trình PMON:
Chạy tiến trình khôi phục (process recovery) khi một tiến trình của người dùng (user process) bị lỗi
Xóa database buffer cache
Giải phóng tài nguyên do user process sử dụng
Kiểm soát các các sessions khi bị idle hoặc timeout
Tiến trình RECO được dùng với cấu hình cơ sở dữ liệu phân tán:
Tự động kết nối với databases khác có liên quan khi có lỗi xử lý giao dịch phân tán
Trang 28 Tự động xử lý các transactions bị nghi ngờ có lỗi
Loại bỏ các liên kết của dòng dữ liệu đến các transactions bị nghi ngờ có lỗi
Tiến trình LREG: Đăng ký thông tin của database instance và tiến trình dispatcher processes với Oracle Net Listener
Tiến trình Archiver:
Copy redo log files vào vị trí lưu trữ sau khi có log switch thực hiện
Thu thập thông tin về transaction redo data và chuyển dữ liệu này sang vị trí dữ phòng (standby destinations)
Cấu trúc lưu trữ (storage structures)
Theo cấu trúc vật lý Oracle database có các loại file sau:
Control files: Một database có một control file duy nhất chứa thông tin của chính database đó Có thể có nhiều phiên bản của Control file được tạo ra để dự phòng Trong Control file còn chứa các thông tin metadata liên quan đến việc backups và recover database Control file rất quan trọng với database Nếu không có control file, database không thể khởi động được
Data files: Chứa dữ liệu của database cùng metadata và data dictionary
Trang 2929
Online redo log files: Cho phép instance chạy recovery khi database lỗi nếu database server bị tắt do lỗi, thì để không mất hay hỏng dữ liệu instance sẽ khôi phục lại database với các thông tin từ file này
Parameter file: là file cấu hình khởi động, sử dụng khi database startup
Password file: cho phép người dùng sử dụng các user đăng nhập với các quyền SYSDBA, SYSOPER, SYSBACKUP, SYSDG, SYSKM, SYSASM để kết nối đến instance của DB và thực hiện các chức năng quản trị database
Backup files: được dùng khi database cần khôi phục (recovery)
Archived redo log files: Chứa các dữ liệu lịch sử khi data khi có thay đổi Các file này được dùng để sao lưu và khôi phục dữ liệu
Alert log file: là file lưu các bản ghi thứ tự thời gian của các thông điệp và các lỗi của database Oracle khuyến cáo nên xem các cảnh báo trong file này theo định
Tablespaces:
Trang 30Một database được chia thành các cấu trúc logic gọi là tablespaces, nhóm các cấu trúc logic có liên quan hoặc các datafile lại cùng nhau Ví dụ: tablespaces system thường nhóm các tập hợp segments có liên quan đến các thao tác quản trị lại cùng nhau
Một tablespace là tập hợp các segments
Một segments là tập hợp các extents
Một Extents là tập hợp các data blocks
Một data blocks tương ứng với một số block trên đĩa cứng
Data Blocks:
Ở mức chi tiết nhất, dữ liệu Oracle database được lưu trữ trong các data blocks Một data block liên kết đến một số cụ thể bytes trên đĩa vật lý Một data block size cụ thể sẽ được gán cho mỗi tablespace khi db khởi động
Trong hình minh họa trên, gồm hai tập tin dữ liệu Một segment có kích thước 128 KB, gồm hai hai tập tin dữ liệu datafile 1 và 2 Mức khởi tạo đầu tiên có kích thước 64 KB là trong tập tin dữ liệu 1 và mức hai, cũng có kích thước 64 KB là trong tập tin dữ liệu thứ hai Cả hai mức này được hình thành từ 8 khối 8 KB liên tiếp
System Tablespaces:
SYSTEM và SYSAUX tablespaces là hai tablespaces bắt buộc phải khởi tạo khi tạo database và bắt buộc phải online
Trang 31tổ chức như một database riêng biệt
Tất cả các pluggable databases dùng chung:
Các UNDO tablespace được dùng chung cho tất cả các container
Trang 32 Các temporary tablespace dùng chung cho tất cả các container Nhưng mỗi PDB
có thể giữ bảng tạm thời của riêng mình trong các user riêng
Mỗi container có dữ liệu từ điển của riêng mình được lưu trữ trong tablespace SYSTEM, chứa meta data và một tablespace SYSAUX
Các PDBs có thể tạo tablespace riêng trong PDB theo nhu cầu ứng dụng
Hệ thống quản lý lưu trữ tự động ASM
ASM là hệ thống cluster di động có hiệu suất cao
Quản lý các Oracle database files
Quản lý các file ứng dụng bằng hệ thống ASM Cluster File System (ACFS)
Lan tỏa dữ liệu trên đĩa để cân bằng tải
Soi gương (Mirrors) dữ liệu đề phòng trường hợp hệ thống hỏng
Giải quyết các thách thức về nhu cầu lưu trữ
Mối quan hệ giữa một tập tin dữ liệu cơ sở dữ liệu Oracle và các thành phần lưu trữ trong ASM:
Đĩa Oracle ASM là các thiết bị lưu trữ được xếp vào một nhóm đĩa Oracle ASM
và có thể là đĩa vật lý hay một phân vùng, một Logical Unit Number (LUN) từ một mảng lưu trữ, một khối lượng hợp lý (LV), hoặc một tập tin đính kèm mạng
Một nhóm đĩa Oracle ASM là một tập hợp của một hoặc nhiều đĩa Oracle ASM quản lý như một đơn vị logic
Một file dữ liệu Oracle Database có một mối quan hệ một-một với tập tin của hệ điều hành hoặc một tập tin ASM
Trang 3333
Tương tác giữa user và database
Ví dụ sau đây minh họa các hoạt động của Oracle database ở mức cơ bản nhất Trong đó người sử dụng kết nối đến máy chủ database thông qua môi trường mạng
Máy chủ cơ sở dữ liệu là nơi Oracle database đã được cài đặt
Người dùng chạy ứng dụng sinh ra một user process Ứng dụng này tìm cách thiết lập một kết nối đến máy chủ Các kết nối có thể là tại chỗ (local), client/server hoặc một kết nối ba lớp từ một lớp ứng dụng
Trên máy chủ có tiến trình Lisener nghe kết nối Oracle Net service Lisener sẽ phát hiện các yêu cầu kết nối từ các ứng dụng và tạo ra các server process theo yêu cầu của user process
Người dùng chạy một câu lệnh SQL DML-loại và commit kết thúc giao dịch (transaction) Ví dụ, người dùng thay đổi địa chỉ của khách hàng trong một bảng và commit xác nhận thay đổi
Máy chủ nhận được báo cáo kết quả và kiểm tra shared pool (thuộc SGA) xem có chứa một câu lệnh SQL giống như lệnh đang chạy không Nếu không thấy, server process sẽ kiểm tra
Trang 34quyền truy cập của người dùng để yêu cầu dữ liệu, và vùng share SQL được được sử dụng để xử
lý các câu lệnh Nếu vùng share SQL không tìm thấy, một vùng SQL chia sẻ mới được cấp để có thể được phân tích và xử lý câu lệnh
Trang 3535
Phần 2 Quản trị Oracle Database
Chương 4 Các công cụ quản trị Oracle Database
Oracle Database Management Tools cơ bản bao gồm:
SQL*Plus
SQL Developer
Oracle Enterprise Manager Database Express
Oracle Enterprise Manager Cloud Control
SQL*Plus
SQL*Plus is là chương trình kết nối đến DB ở chế độ dòng lệnh command-line để chạy các câu lệnh SQL và PL/SQL truy cập đến một Oracle database Có thể chạy từng lệnh riêng biệt hoặc một tập lệnh trong một file SQL*Plus scripts SQL*Plus được cài đặt có sẵn cùng database và nằm tại thư mục $ORACLE_HOME/bin
Chạy SQL*Plus:
1 Mở một terminal window (hoặc cmd trong windows)
2 Cú pháp gọi: $ sqlplus <userid>/<pwd> or /nolog
3 Nếu dùng tùy chọn NOLOG sau khi vào dấu nhắc SQL phải gõ lệnh CONNECT SQL> connect <username>
4 Sau khi nhập user/pass SQL*Plus chạy và kết nối đến database
SQL Developer
SQL Developer là chương trình có giao diện đồ họa để kết nối đến Database SQL Developer hỗ trợ cả SQL và PL/SQL Chương trình này cũng được cài đặt sẵn cùng Oracle Database
Trang 36Với SQL Developer, có thể dùng để xem các database objects, chạy các câu SQLvà SQL scripts, soạn và debug các câu lệnh PL/SQL
Trong SQL Developer có chức năng DBA trong phần DBA navigator:
Các công việc quản trị database có thể thực hiện được:
Database startup/shutdown
Cấu hình Database: Initialization Parameters, Automatic Undo Management, Current Database Properties, Restore Points, View Database Feature Usage
Xem trạng thái Database
Data Pump export and import jobs
RMAN backup/recovery actions
Resource Manager configuration
Scheduler setting
Security configuration like audit settings, profiles, roles, and users
Trang 3737
Storage configuration for archive logs, control files, data files, redo log groups, tablespaces, and temporary tablespace groups
Oracle Enterprise Manager Database Express
Oracle Enterprise Manager Database Express là một công cụ nhỏ gọn dùng để thực hiện các công việc quản trị hệ thống cho các database đơn hoặc cluster bao gồm giám sát tải (performance monitoring), quản lý cấu hình (configuration management), các công cụ quản trị khác (administration, diagnostics and tuning)
Oracle Enterprise Manager Database Express sử dụng nền tảng web-based console, giao tiếp với web server ngầm định tại server XML DB
Khi tiếp nhận yêu cầu từ console, Enterprise Manager Database Express servlet xử lý yêu cầu bao gồm các xác thực, quản lý session Servlet chuyển yêu cầu đến Common Reporting Framework và chuyển vào các file chạy như File Manager
Trang 38Enterprise Manager Database Express chỉ có khi database đang bật Có nghĩa là không thể dùng nó để khởi động database Một số hoạt động khác như thay đổi trạng thái DB, enable hay disable ARCHIVELOG mode, cũng không có trong Enterprise Manager Database Express
Vào trang chính của Enterprise Manager Database Express Home có góc nhìn tổng quan
về trạng thái và các hoạt động của database
Có bốn menu chính: Configuration, Storage, Security, and Performance:
Configuration menu: Initialization Parameters, Memory, Database Feature Usage,
và Current Database Properties
Storage menu: Tablespaces, Undo Management, Redo Log Groups, Archive Logs, and Control Files
Security menu: Users, Roles, and Profiles
Performance menu: Performance Hub and SQL Tuning Advisor
Trang 3939
Trên mỗi mục của menu, khi chọn sẽ chuyển màn hình đến trang chính của từng chức năng VD: Configuration => khi chọn Initialization Parameters sẽ chuyển đến trang cho phép hiển thị tìm kiếm, sửa đổi file cấu hình khởi động của DB init file (hoặc SPFILE) Tại một số trang khi chọn một mục sẽ có một cửa sổ pop-up hiện ra cho phép thêm các tham số cần thiết Một câu lệnh SQL sẽ được sinh ra để thực hiện công việc đã chọn Ta có thể xem câu lệnh trước khi thực hiện hoặc sao chép và thực hiện chung ở cửa sổ SQL command
Oracle Enterprise Manager Cloud Control
Oracle Enterprise Manager Cloud Control bao gồm bốn thành phần:
Oracle Management Repository (OMR)
Oracle Management Service (OMS)
Oracle Management Agent (OMA or agent) with target-specific plug-ins
Cloud Control Console
Oracle Management Agent: chạy trên máy chủ, thu thập số liệu môi trường máy chủ cũng như cách sử dụng plug-ins để giám sát tính khả dụng, cấu hình, và hiệu suất và quản lý các mục tiêu đang chạy trên máy chủ Các agents giao tiếp với Oracle Management Service để upload số liệu thu thập được vào các plug-in
OMS lưu trữ dữ liệu thu thập được từ Oracle Management Repository, để sinh báo cáo và giám sát tự động hoặc bán tự động
Trong thành phần của Enterprise Manager Cloud Control framework có các công cụ có thể dùng để giám sát monitor, start, stop các thành phần
Với RAC databases cần các lệnh điều khiển Server Control; Với single instances, ta có thể sử dụng SQL*Plus hoặc Server Control Server Control được dùng khi Oracle Restart và khi database được đăng ký với OLR
Trang 40Để start / stop the listener, sử dụng Server Control utility hoặc lệnh với lsnrctl
Ví dụ: srvctl stop database -d orcl -o immediate srvctl start database -d orcl -o open
Khởi động Enterprise Manager Cloud Control framework theo các bước sau:
1 Start the repository listener:
$ORACLE_HOME/bin/lsnrctl start
2 Start the repository database instance:
$ORACLE_HOME/bin/sqlplus / as sysdba SQL> startup
3 Start OMS (including OHS and WebLogic Managed Server):
$OMS_HOME/bin/emctl start oms
4 Start the agent (on OMS/repository host):
$AGENT_HOME/bin/emctl start agent
5 Start the agent on the managed servers:
$AGENT_HOME/bin/emctl start agent
6 Sử dụng SRVCTL command nếu DB đang chạy trên môi trường RAC