oraclechuong05 7696

34 68 0
  • Loading ...
    Loading ...
    Loading ...

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 07/03/2019, 10:56

tìm hiểu tính năng bao mật trong hệ cơ sở dữ liệu oracle rong Library Cache và các thông tin nội tại trong Data dictionary. Shared rất quan trọng vì nếu không cấp đủ bộ nhớ cho nó thì đó có thể là nguyên nhân giảm hiệu quả thực hiện công việc. Kích thước của vùng này được đặt trong tham số shared_pool_size. Shared pool bao gồm Library Cache và Data Dictionary Cache: Library Cache Library Cache được sử dụng để chứa các câu lệnh SQL. ở đây lưu giữ các cây phân tích cú pháp (Parse tree) và các phương án thực hiện cho mọi câu lệnh SQL. Shared SQL Area cũng được dùng để lưu các thủ tục phân tích, biên dịch các khối PLSQL và chúng được các tiến trình người dùng chia sẻ trrong cùng một instance. Nếu có nhiều chương trình ứng dụng đồng thời đưa ra một câu lệnh SQL thì vùng này sẽ được truy nhập nhằm làm giảm dung lượng bộ nhớ cần thiết cũng như giảm thời gian phân tích và thời gian lập phương án thực hiện. Data Dictionary Cache Data Dictionary chứa tập hợp các bảng (tables) và các bảng logic (views) được Oracle sử dụng để tham chiếu đến CSDL. Oracle dùng Data Dictionary lưu giữ các thông tin cấu trúc logic và cấu trúc vật lý của CSDL, gồm các thông tin như: Thông tin về người dùng (các đặc quyền của người dùng). Định nghĩa các ràng buộc toàn vẹn cho các bảng CSDL. Phân loại tên và dữ liệu cho tất cả các cột trong bảng CSDL Oracle dùng Data Dictionary để phân tích các câu lệnh SQL. Điều này rất cần thiết cho các thao tác của Oracle. Vì vậy, nếu không có đủ bộ nhớ cho vùng Data Dictionary Cache, chúng ta sẽ gặp phải một số vấn đề xấu khi thực hiện công việc. Database buffer cache Chứa tập hợp các buffer chứa phần lớn các dữ liệu được sử dụng ở lần gần nhất. Do có nhiều người sử dụng, nên để đảm bảo tính toàn vẹn cho CSDL, Oracle sinh ra các bản sao. Vùng này lưu giữ các bản sao dữ liệu. Database buffer cache được tổ chức thành hai danh sách: Danh sách nháp (dirty list): Chứa vùng đệm đã sửa mà không được viết vào đĩa. Danh sách này được điều khiển bởi tiến trình DBWR để định ra khối dữ liệu nào được viết vào Database file. Danh sách được sử dụng tại thời điểm gần nhất (Least Recently Used LRU): Nội dung của danh sách này gồm: + Vùng đệm rỗi. + Vùng đệm đã sử dụng. + Vùng đệm nháp. Redo log buffer Oracle sử dụng các Redo log file ghi lại tất cả những thay đổi đối với các đối tượng của người dùng và các đối tượng của hệ thống. Trước khi những thay đổi này được ghi vào các file đó, Oracle lưu chúng vào Redo log buffer. Chẳng hạn, các thông tin trong Redo log buffer được viết vào trong các Redo log file khi vùng nhớ đệm đầy hoặc khi một giao tác đưa ra một câu lệnh. Tiến trình nền LGWR là tiến trình duy nhất ghi lại các thông tin từ Redo log buffer ra các Redo log file. b) Program Global Area PGA. PGA là vùng bộ nhớ chứa dữ liệu và các thông tin điều khiển cho các quá trình của Oracle Server. Một vùng PGA được Oracle tạo ra khi một tiến trình phục vụ bắt đầu. Kích thước và nội dung của PGA phụ thuộc vào các tuỳ chọn của Oracle Server mà ta cài đặt. Vùng PGA gồm các thành phần sau: Stack space: Vùng này lưu giữ các biến, mảng của một session. Session information: Nếu chúng ta vận hành Server đa dòng thì session information được chứa trong PGA, nếu chúng ta vận hành thì session information được chứa trong SGA. Private SQL Area: Đây là vùng trong PGA, nơi lưu trữ các thông tin kiểu như về các biến kết nối và thời gian thực hiện các buffer. 2.2.2 Các tiến trình Tiến trình (process) là một dòng điều khiển hay cơ chế trong điều hành hệ thống mà thực hiện một dãy công việc nào đó. Oracle có 3 kiểu tiến trình: User process, Background process, Server process. Trong đó background process và server process được gọi chung là Oracle process. a) Tiến trình người dùng (User process) User process hay còn gọi là Client process là sự kết nối của người dùng với hệ quản trị CSDL. Nó được tạo ra khi người dùng chạy một chương trình ứng dụng truy nhập đến CSDL qua giao diện chương trình của Oracle (khi đó Oracle cũng tạo ra các tiến trình phục vụ (Server process) để đáp ứng các yêu cầu từ phía tiến trình người dùng). Giữa tiến trình người dùng và tiến trình phục vụ luôn có sự liên hệ với nhau. Nhiệm vụ của User process là giao tiếp với người sử dụng để lấy câu lệnh SQL và PLSQL, gửi các câu lệnh lên Server, nhận kết quả và trình diễn thông tin theo yêu cầu người dùng. b) Tiến trình nền (Background process) Mỗi khi Oracle instance bắt đầu, vùng nhớ hệ thống toàn cục (System Global Area SGA) được định vị và các tiến trình nền được bắt đầu. Các tiến trình nền tương ứng với các công việc khác nhau phục vụ cho tất cả mọi người dùng CSDL. Đây là tiến trình dị bộ (xử lý ngầm) để thực hiện một số nhiệm vụ riêng. Tiến trình này bắt đầu khi CSDL start và kết thúc khi CSDL shut down. Có các loại tiến trình nền sau: Database Write (DBWR): Các khối dữ liệu đã được sửa đổi trong vùng nhớ đệm CSDL (Database buffer cache) được viết trở lại đĩa bởi một tiến trình nền DBWR. Khi một giao tác (transaction) thay đổi dữ liệu trong một khối dữ liệu, khối dữ liệu này không cần phải ngay lập tức được ghi lên đĩa. Thường thì DBWR ghi dữ liệu lên đĩa theo một cáhoặc hiệu quả hơn. Đó là DBWR chỉ ghi khi cần đọc đến dữ liệu của vùng nhớ đệm CSDL chứ không ghi ngay mỗi khi kết thúc một giao tác. Tiến trình này quản lý vùng Database buffer. Cho nên các tiến trình của người dùng luôn luôn có thể tìm được vùng đệm rỗi. Đối với các hệ thống sử dụng vào ra dị bộ thì chỉ có một tiến trình DBWR, còn hệ thống không sử dụng vào ra dị bộ thì sự thực hiện có thể được tăng cường hơn vì có tăng thêm nhiều tiến trình DBWR. Log Write (LGWR): ghi lại tất cả những thay đổi tới CSDL trong vùng Redo log buffer tới đĩa bởi một itến trình nền có tên LGWR, một tiến trình nền khác là ARCH (Archiver) có thể được bắt đầu để lưu giữ các thông tin đăng nhập lại trên một thiết bị cất giữ đã định trước (tape, disk) dùng cho việc khôi phục bị thất bại. LGWR viết Redo log buffer vào Redo log file khi: user đưa ra chỉ thị commit. vùng Redo log buffer vượt quá 13 kích cỡ cho phép của vùng. DBWR cần để xoá sạch các khối đệm cho một điểm kiểm tra hoặc quá thời gian xuất hiện. System Monitor (SMON): Tự động thực hiện việc khôi phục instance, tái tạo kiểu không gian bảng. Tiến trình này bao gồm việc loại bỏ các segment tạm thời và khôi phục các giao tác đã mất khi hệ thống gặp sự cố. Process Monitor (PMON): Kiểm soát tiến trình người dùng và tự động thực hiện việc khôi phục một tiến trình người dùng thất bại. Đây là bốn tiến trình mang tính chất bắt buộc của hệ thống. Ngoài ra còn một số tiến trình tuỳ chọn sau: Checkpoint (CKPT): Bảo đảm rằng CSDL được sửa ghi vào datafile. Tiến trình thực hiện việc gửi tín hiệu cho tiến trình DBWR nhằm thi hành việc kiểm soát và cập nhật tất cả các datafile và các control file của CSDL. Việc kiểm soát này là một sự kiện mà DBWR sẽ ghi vào datafile tất cả các database buffer đã được sửa đổi. Nếu tiến trình này không được dùng thì tiến trình LGWR sẽ đảm nhận chức năng này. Archiver (ARCH): Viết dữ liệu từ Redo log file ra thiết bị lưu trữ trực tuyến nếu có yêu cầu. Tiến trình ARCH chỉ được kích hoạt khi hệ quản trị CSDL hoạt động trong chế độ ARCHIVELOG. Nếu hệ thống không làm việc trong chế độ này thì tiến trình ARCH không phục hồi được dữ liệu nếu xảy ra hỏng hóc trong hệ thống. Trong một số trường hợp nào đó nó có thể chạy dưới chế độ NOARCHIVELOG song đặc thù vẫn là chế độ ARCHIVELOG. Recovery (RECO): Được sử dụng để dọn dẹp các giao tác chưa thực hiện trong một CSDL phân tán và giải quyết sự tranh chấp giữa các giao tác. LOCK (LCKn): Các tiến trình LCKn (LCK0,..., LCK9) thực hiện việc khoá thể hiện giao nhau trong hệ thống phục vụ song song của Oracle (xử lý tình trạng bế tắc giữa các instance trong hệ tiến trình song song). Dispatcher (Dnnn): Đây là các tiến trình nền tuỳ chọn, nó chỉ có mặt khi sử dụng cấu hình phục vụ đa dòng (Multithreathded server configuration). ít nhất sẽ có một tiến trình này (D000,...,Dnnn) được tạo ra để sử dụng đối với mọi giao thức truyền thông. Mỗi tiến trình Dispatcher có chức năng gửi các yêu cầu từ các tiến trình người dùng đến tiến trình phục vụ dùng chung và gửi hồi đáp tới các tiến trình người dùng phù hợp. Job Queue (SNPn): Trong cấu hình CSDL phân tán, có tất cả 36 tiến trình Job Queue (SNP0,..., SNP9, SNPA,..., SNPZ) có thể làm tươi các table snapshot. Các tiến trình này nhận biết và làm tươi bất kỳ một snapshot nào có trong lịch trình làm tươi tự động. Nếu sử dụng nhiều hơn một tiến trình Job Queue thì các tiến trình này sẽ phân chia nhau công việc làm tươi các snapshot. Các tiến trình này cũng thực hiện các công việc theo yêu cầu của DBMS_JOB package và truyền thông điệp đã xếp hàng tới các hàng khác trong CSDL khác. Queue Monitor (QMNn): Là các tiến trình nền tự chọn thực hiện việc giám sát các thông điệp cho Oracle Advanced Queuing (Oracle AQ). Chúng ta có thể định cấu hình cho mười tiến trình Queue Monitor. c) Tiến trình phục vụ (Server process) Server process (còn gọi là Shadow process) giao tiếp với người dùng và tương tác với Oracle nhằm thực hiện các yêu cầu của người dùng. Khi một user chạy một ứng dụng tương ứng hoặc một hỏi đáp dữ liệu thì các tiến trình người dùng được sử dụng. Oracle sẽ đưa ra một tiến trình phục vụ để trao đổi yêu cầu với các tiến trình người dùng. User process Server process Các tiến trình phục vụ sau khi thi hành các yêu cầu của người sử dụng và đưa trở lại kết quả cho họ. Trước khi dữ liệu có thể truy cập được thì tiến trình phục vụ phải được thể hiện để đưa dữ liệu lên vùng nhớ đệm dùng chung. Các khối dữ liệu sau khi được thao tác, sửa đổi sẽ được viết trở lại bộ nhớ ngoài nhờ tiến trình nền DBWR. Do việc cập nhật lại dữ liệu từ vùng nhớ chung SGA ra đĩa rất tốn thời gian cho nên tiến trình CKPT sẽ đảm bảo việc cập nhật dữ liệu sẽ thực hiện vào thời điểm cần thiết. Cũng do việc cập nhật xảy ra không liên tục nên tiến trình LGWR sẽ cập nhật lại các thay đổi của Redo log buffer ra các Redo log file. Nếu lưu trữ trực tuyến thì các Redo log file sẽ được cập nhật trực tuyến sang vùng lưu trữ khác (offline storage) để phòng sự cố xảy ra đối với hệ thống. Tiến trình phục vụ xử lý lệnh SQL thông qua những thông tin của vùng nhớ chung SGA. Program Global Area (PGA) là vùng nhớ chứa dữ liệu và thông tin điều khiển cho đơn người dùng hoặc cho tiến trình người dùng. PGA được cấp phát bởi Oracle Server khi tiến trình người dùng kết nối với CSDL Oracle và một session được thiết lập. Các thông báo của SQL sẽ được thi hành bởi các tiến trình phục vụ, các tiến trình phục vụ sẽ đọc khối dữ liệu từ đĩa vào vùng nhớ dữ liệu được dùng chung của SGA (vùng Shared pool). Sau đó đưa ra kết quả từ các thông báo SQL. Các tiến trình phục vụ có ba giai đoạn: Giai đoạn phân tích: Kiểm tra cú pháp, kiểm tra quyền truy nhập, đường dẫn tìm kiếm có hiệu quả nhất rồi xác định cây phân tích...Cây phân tích sẽ được cất giữ trong vùng Shared SQL Area (thuộc một phần của Share pool trong SGA), vùng này chứa các thông tin cho việc thi hành các thông báo SQL. User processes Server processes SGA Giai đoạn thi hành các thông báo: gắn cây phân tích tới vùng đệm dữ liệu SGA Shared pool Database buffer Server processes Giai đoạn nhận lại: nhận giữ liệu từ các thông báo của server. User processes Server processes SGA Như vậy, cứ khi có tiến trình người dùng thì sinh ra tiến trình phục vụ. Chẳng hạn, nếu tiến trình người dùng yêu cầu truy nhập một phần dữ liệu chưa có trong SGA, tiến trình phục vụ được sinh ra có nhiệm vụ đọc các khối dữ liệu đó từ các datafile và trong SGA. Đó là sự tương quan 1 1 giữa tiến trình người dùng và tiến trình phục vụ, mặc dù một phần tiến trình phục vụ có thể đồng thời kết nối với nhiều tiến trình người dùng. Cách thực hiện này làm giảm đi sự sử dụng tài nguyên của hệ thống. Từ đó ta có thể đưa ra kết luận rằng hai kiểu tiến trình background process và server process đều là các Oracle process nhưng chúng khác nhau trong phạm vi tiến trình của mình. Các server process trao đổi các yêu cầu từ phía người dùng, còn các background process thi hành những công việc của một instance. Các tính năng của Hệ quản trị cơ sở dữ liệu Oracle Oracle là một hệ quản trị cơ sở dữ liệu do hãng Oracle phát triển. Hệ này hoạt động trong môi trường clientserver trong đó các ứng dụng chạy trên các các trạm làm việc (client), còn hệ quản trị cơ sở dữ liệu chạy trên máy chủ (server). Oracle được đánh giá là hệ quản trị cơ sở dữ liệu mạnh với các tính năng: Lưu trữ các thông tin trong cơ sở dữ liệu, các phép tìm kiếm và thao tác dữ liệu phục vụ cho các ứng dụng được hệ quản trị thực hiện một cách hiệu quả với các kỹ thuật tối ưu hóa. Oracle thực sự đạt được các tiêu chuẩn của một hệ quản trị dữ liệu theo mô hình quan hệ, một mô hình được coi như chuẩn cho các cơ sở dữ liệu: + Bảo đảm tính nhất quán của dữ liệu, ngay cả trong môi trường đa người dùng. + Có các cơ chế đảm bảo tính toàn vẹn của cơ sở dữ liệu: các khai báo toàn vẹn tham chiếu, các ràng buộc khai báo (Constrains),các Trigger. + Có cơ chế bảo mật dữ liệu đối với các người dùng khác nhau. + Cho phép cài đặt các cơ sở dữ liệu phân tán và kèm theo là các cơ chế để đảm bảo tính nhất quán và tối ưu hóa việc thực hiện các câu hỏi phân tán. Các công cụ phát triển của Oracle cho phép thực hiện các câu lệnh SQL để tìm kiếm và thao tác dữ liệu chứa trong hệ quản trị CSDL. Có khả năng lưu trữ các đối tượng cơ sở dữ liệu để phục vụ cho các ứng dụng. Các đối tượng này thường chứa các chương trình của ngôn ngữ thủ tục PLSQL. Đây là phương tiện rất hữu ích giúp cho người phát triển hệ thống có thể cài đặt được các quy tắc nghiệp vụ và các kiểm tra toàn vẹn dữ liệu nhất là các ràng buộc phức tạp. Đảm bảo tính nhất quán của cơ sở dữ liệu (trong môi trường đa người dùng) và thực hiện việc tối ưu hoá các thao tác trên cơ sở dữ liệu. 3.1 An toàn và bảo mật trong Oracle 3.1.1 Quản lý người dùng Cơ sở dữ liệu Oracle cho phép nhiều người cùng một lúc truy nhập vào một CSDL. Vì vậy, vấn đề bảo mật là hết sức quan trọng. Mỗi CSDL có một danh sách người dùng tương ứng. Việc quản lý người dùng gồm khai báo tên người dùng (username) và mật khẩu (password) hợp lệ; chứng thực cho phép người dùng có thể truy cập cơ sở dữ liệu, giới hạn không gian đĩa được cấp phát thời gian CPU... Để khai báo người dùng trong Oracle có thể dùng hộp thoại của SQLDBA hoặc câu lệnh SQL. 3.1.2 Cơ chế phân quyền Sau khi tạo ra user, người quản trị Database phải gán quyền cho user để họ có thể truy nhập được vào CSDL. Quyền truy cập trong Oracle được chia thành quyền hệ thống và quyền với các đối tượng. Quyền hệ thống là quyền cho phép user tác động lên một kiểu đối tượng nào đó. Ví dụ như quyền tạo Table, Index trên bất kỳ một Tablespace nào, quyền tạo user, quyền cập nhật, tra hỏi dữ liệu trên bất kỳ table nào,... Trong Oracle có hơn 60 quyền hệ thống khác nhau. Quyền với các đối tượng cho phép user tác động lên một đối tượng cụ thể nào đó. Ví dụ quyền cập nhật dữ liệu trên table có tên EMP quyền đọc dữ liệu từ một View có tên XYZ. .. Role là một tập các quyền, có tác dụng lớn trong việc gán một nhóm quyền cho một nhóm người dùng. Để thay đổi quyền hạn của người dùng ta chỉ cần thay đổi Role. Ngoài việc gán quyền cho người dùng, ta cũng gán được quyền cho một Role. Tuy nhiên phải tạo ra Role bằng lệnh CREATE ROLE trước khi có thể gắn quyền cho nó. Ngoài ra có thể bảo vệ Role bằng một mật khẩu ở mức CSDL hay hệ điều hành. Ta có thể làm cho Role có hiệu lực (enable) hay vô hiệu hoá (disable) nó. 3.2 Tính toàn vẹn dữ liệu và cơ chế khoá 3.2.1 Toàn vẹn dữ liệu Một bảng có thể được nhiều người dùng truy cập đồng thời, để đảm bảo tính toàn vẹn dữ liệu. Oracle đã đưa ra các phương tiện để áp đặt các ràng buộc trong thao tác dữ liệu và các cơ chế khoá cho việc truy cập đồng thời. áp đặt các ràng buộc toàn vẹn: đảm bảo cho dữ liệu trong CSDL luôn tuân theo các ràng buộc định trước, phù hợp với yêu cầu của hệ thống và yêu cầu nghiệp vụ. Các yêu cầu toàn vẹn dữ liệu chính trong Oracle: giá trị Null, đảm bảo không có hai hàng nào trong cùng một bảng giống nhau, toàn vẹn khi tham chiếu và đảm bảo các yêu cầu nghiệp vụ phức tạp. Để đáp ứng được các yêu cầu về toàn vẹn dữ liệu, Oracle cung cấp các phương tiện như các ràng buộc kiểu khai báo (Constraint), các Triggers và mã chương trình (ít dùng). Ràng buộc kiểu khai báo (Constraint): Thông thường, khi áp đặt các toàn vẹn dữ liệu, người ta tận dụng tối đa các Constraint. Constraint rất đơn giản, nó được khai báo ngay khi tạo bảng hay được thêm vào một bảng sẵn có. Tuy nhiên, Constraint không có khả năng tham chiếu dữ liệu khi hai bảng ở trên hai trạm khác nhau. Các Constraint được đặt tên để dễ cho việc quản lý, nếu không đặt thì Oracle sẽ tự động đặt tên. Constraint được chia thành mức cột (được khai báo trong phần khai báo cột của một bảng) và mức bảng (được khai báo sau phần khai báo cột của một bảng, áp đặt ở mức bảng hay được dùng vì có thể được sửa đổi một cách dễ dàng). Các Constraint được phân chia thành: NOT NULL, UNIQUE, CHECK (kiểm tra giá trị của một cột có thuộc một miền nhất định hay một danh sách nhất định hay không. Có thể so sánh giá trị của các cột với nhau, tham chiếu đến một hay nhiều cột. Tuy nhiên, CHECK không thể có các tham chiếu con mà tham chiếu đến các trường giả trong bảng và không dùng được các hàm SYSDATE, UID... vì giá trị của chúng biến đổi thường xuyên, NOT NULL là một dạng của constraint CHECK, DEFAULT, PRIMARY KEY và FOREIGN KEY. Các Trigger: dùng để áp đặt các ràng buộc phức tạp về nghiệp vụ trong CSDL. Đây là đối tượng của CSDL và được kích hoạt khi thực hiện các câu lệnh thao tác dữ liệu Insert, Update, Delete. Nó có khả năng tham chiếu tới các bảng ở xa, trong khi ràng buộc khai báo không làm được cũng như khi bảng chủ và bảng tớ ở trên hai trạm khác nhau. 3.2.2 Cơ chế khoá (lock) Mục đích: đảm bảo việc truy cập đồng thời tới dữ liệu (người muốn đọc dữ liệu không phải chờ đợi người đang thực hiện các thay đổi lên dữ liệu đó, người muốn viết không phải đợi người đang đọc cùng dữ liệu, người muốn thực hiện thay đổi lên dữ liệu chỉ phải đợi người đang nắm quyền thay đổi nó mà thôi); đảm bảo tính nhất quán khi đọc dữ liệu (trong quá trình thực hiện một câu lệnh, một người luôn nhìn được dữ liệu nguyên bản chứ không phải dữ liệu đang bị người khác thay đổi; khi một người commit những thay đổi của mình thì cũng không ảnh hưởng tới người khác đang trong quá trình thực hiện câu lệnh của mình). Các lớp khoá: khoá dữ liệu có tác dụng bảo vệ dữ liệu khi thực hiện các lệnh thao tác dữ liệu; khoá từ điển bảo vệ cấu trúc của các đối tượng trong cơ sở dữ liệu. Các mức khoá: mức bản ghi, mức bảng (được chia thành EXCLUSIVE, SHARES, ROW SHARES, ROW EXCLUSIVE và SHARE ROW EXCLUSIVE (SRX). Ngoài ra, câu lệnh SQL cũng có tác dụng gây ra khoá (ví dụ LOCK TABLE IN ). Khoá chết: Hiện tượng khoá chết có thể xảy ra, tuy nhiên nó sẽ được dò tìm bởi tiến trình nền PMON và giải quyết. Cách tốt nhất để tránh khoá chết là quy định thứ tự truy cập vào cùng một bảng trong ứng dụng. Liên kết dữ liệu Khi dữ liệu từ nhiều hơn một bảng trong CSDL được yêu cầu, một điều kiện join được sử dụng. Các dòng trong một bảng có thể được join tới các dòng trong bảng khác theo các giá trị chung tồn tại trong các cột tương ứng. Điều kiện join đó là các cột khoá chính và khoá ngoại. Có hai loại điều kiện join chính là Equijoins và Nonequijoins. Ngoài ra còn có các phương pháp khác như: Outer joins, Selfjoins, Set operators. 4.1 Equijoins Đây là cách liên kết dữ liệu giữa hai hay nhiều bảng mà quan hệ giứa hai bảng có phần bổ xung là khoá chính và khoá ngoại. Điều kiện join là phép toán eqal (=). 4.2 Nonequijoins Nonequijoins xảy ra khi không có cột nào QUẢN LÝ NGƯỜI DÙNG  Giảng viên: Ngô Thùy Linh  https://sites.google.com/site/linhntmisba/ Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Nội dung  Quản lý user • • • • • • 5-2 Account Privilege Role Profile Bảo mật mật Hạn mức Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Account (tài khoản)  Mỗi tài khoản có đặc điểm: • • • • • • • 5-3 Tên Dùng phương thức xác thực định Có tablespace mặc định Có tablespace tạm Có danh sách tài nguyên mà user sử dụng Consumer group Có trạng thái Khoa Hệ thống thơng tin quản lý – Học viện Ngân Hàng > Account Xác thực Privilege Role Profile PW Security Quota Tạo tài khoản 5-4 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 5-5 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Sửa tài khoản Select the user, and click Unlock User 5-6 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Xác thực user • • • 5-7 Password External Global Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Account > Xác thực Privilege Role Profile PW Security Quota Xác thực user (Authenticating Users)  Password: This is also referred to as authentication by the Oracle database Create each user with an associated password that must be supplied when the user attempts to establish a connection  External: This is also referred to as authentication by the operating system Users can connect to the Oracle database without specifying a username or password 5-8 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Xác thực user (Authenticating Users)  Global: Using the Oracle Advanced Security option, global authentication (which is a strong authentication) allows users to be identified through the use of biometrics, x509 certificates, token devices, and Oracle Internet Directory 5-9 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Privilege (quyền)  Có loại quyền: • • Account Xác thực > Privilege Role Profile PW Security Quota Hệ thống: cho phép người dùng thực số thao tác đối vớiPRIVILEGE sở liệu Đối tượng: cho phép người dùng truy cập thực gì? số thao táclàđối với đối tượng sở liệu Sự cho phép thực thi loại lệnh SQL cho phép truy cập vào đối tượng HR_DBA người dùng khác Sửa bảng EMP 5-10 Tạo session Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Privilege, Role user Users Jenny Roles Privileges HR_MGR Delete employees David HR_CLERK Select employees Insert employees 5-20 Rachel Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Update employees Quản lý role  Tạo gán quyền cho role  Gỡ quyền role  Bật/tắt role  Gán role cho user  Xóa role 5-21 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Quản lý role (sử dụng EM)  Tạo role 5-22 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Quản lý role (sử dụng EM)…  Gán role cho user 5-23 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Account mặc định  SYS • • • • • Có role DBA Có toàn quyền Được phép tắt/bật dịch vụ Quản lý data dictionary Quản lý Automatic Workload Repository (AWR)  SYSTEM • • Có role DBA Khơng có tồn quyền SYS Trường hợp dùng account này? 5-24 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Account mặc định SYS The SYS user owns all the internal Oracle tables that constitute the data dictionary Normally, you should not perform any actions as the SYS user and should ensure that this account is locked down Also, don’t manually modify the underlying objects owned by the SYS user SYSTEM SYSTEM is an additional support user that contains additional administrative tables and views This account should also be locked down to prevent unauthorized use of it The user SYSTEM has access to all objects in the database DBSNMP DBSNMP is a login used by the Enterprise Manager facility to monitor and gather performance statistics about the database SYSMAN SYSMAN is the equivalent of the SYS user for the Enterprise Manager facility This Enterprise Manager administrator can create and modify other Enterprise Manager administrator accounts, as well as administer the database instance itself 5-25 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Các role mặc định 5-26 CONNECT CREATE SESSION, Enables a user to connect to the database Grant this role to any user or application that needs database access RESOURCE CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE TYPE SCHEDULER_ ADMIN CREATE ANY JOB, CREATE EXTERNAL JOB, CREATE JOB, EXECUTE ANY CLASS, EXECUTE ANY PROGRAM, MANAGE SCHEDULER DBA It grants all system privileges, but does not include the privileges to start up or shut down the database It is by default granted to user SYSTEM SELECT_ CATALOG_ ROLE Khơng có quyền hệ thống có quyền HS_ADMIN_ROLE 1.700 quyền đối tượng đối tới data dictionary Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Role mặc định CONNECT ALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE, CREATE VIEW 5-27 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Các role mặc định  SYSDBA is the highest system privilege (role) in oracle  SYSOPER system privilege (role) is limited than SYSDBA SYSDBA SYSOPER •Perform STARTUP and SHUTDOWN operations • ALTER DATABASE: open, mount, back up, or change character set • CREATE DATABASE • DROP DATABASE • CREATE SPFILE • ALTER DATABASE ARCHIVELOG • ALTER DATABASE RECOVER • Includes the RESTRICTED SESSION privilege • Allows a user to connect as user SYS •Perform STARTUP and SHUTDOWN operations • CREATE SPFILE • ALTER DATABASE OPEN/MOUNT/BACKUP • ALTER DATABASE ARCHIVELOG • ALTER DATABASE RECOVER (Complete recovery only Any form of incomplete recovery, such as UNTIL TIME|CHANGE|CANCEL|CONTROLFI LE requires connecting as SYSDBA.) • Includes the RESTRICTED SESSION privilege • Allows a user to perform basic operational tasks, but without the ability to look at user data 5-28 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Profile user  Tại thời điểm, user gán DUY NHẤT profile  Profile • • 5-29 Quản lý tài nguyên phép dùng user Quản lý trạng thái ràng buộc mật Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Account Xác thực Privilege Role > Profile PW Security Quota Bảo mật mật Password history Account Xác thực Privilege Role Profile > PW Security Quota Password complexity verification User Setting up profiles Password aging and expiration Account locking Chú ý: Khơng khóa đặt thời gian hết hiệu lực account SYS, SYSMAN, and DBSNMP 5-30 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Tạo mật cho profile 5-31 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng VERIFY_FUNCTION  Oracle cung cấp hàm kiểm tra độ tin cậy mật – verify_function • • • • Tối thiếu kí tự Khơng trùng với username Có chữ cái, chữ số kí tự đặc biệt Khác mật trước kí tự  Hàm khơng có sẵn, muốn sử dụng chạy script: /rdbms/admin/utlpwdmg.sql 5-32 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng Thiết lập hạn mức cho user  Hạn mức dung lượng user phép sử dụng tablespace  Có loại hạn mức • • 5-33 Giá trị xác định (tính MB KB) Khơng có hạn mức Khoa Hệ thống thơng tin quản lý – Học viện Ngân Hàng Account Xác thực Privilege Role Profile PW Security > Quota 5-34 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
- Xem thêm -

Xem thêm: oraclechuong05 7696, oraclechuong05 7696