Việc phân quyền sử dụng là cần thiết trong công việc quản trị. Có hai user account được tự động tạo ra ngay từ khi tạo database và được gán quyền DBA là: SYS và SYSTEM.
SYS: được tạo tự động và gán quyền DBA. Mật khẩu mặc định là change_on_install.
Có quyền sở hữu các bảng và các từ điển dữ liệu trong database.
SYSTEM: được tự động tạo ra với mật khẩu ban đầu là manager và cũng được gán
quyền DBA. Tuy nhiên, SYSTEM còn được sở hữu cả một số table, view mở rộng chứa các thông tin sử dụng cho các tools của Oracle.
Quyền DBA: Ngay khi tạo database, Oracle đã tạo sẵn một quyền gọi là "DBA". Quyền này cho phép thực hiện các thao tác quản trị đối với database.
Lưu ý: Với quyền DBA, các users này sẽ có thể can thiệp được tới các quyền của các user khác sử dụng trong hệ thống. Vì thế, những quản trị viên database cần thay đổi mật khẩu của mình tránh sử dụng mật khẩu mặc định do Oracle cung cấp vì user khác có thể biết và sử dụng để truy nhập vào hệ thống một cách trái phép, gây xáo trộn hệ thống.
5.2.1. Phương thức xác nhận quyền
Trong một số trường hợp quản trị viên database cần đến phương thức xác nhận quyền truy nhập đặc biệt do có thể lúc đó database chưa được mở, ví dụ như với các trường hợp shutdown hoặc startup database.
Tuỳ thuộc vào việc quản trị database trên cùng một máy hay ở máy khác mà ta có thể sử dụng cơ chế xác nhận quyền truy nhập database bởi hệ điều hành hay hay password files. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com
Hình vẽ 13. Phương thức xác nhận quyền
5.2.2. Xác nhận quyền bởi hệ điều hành
Việc xác nhận quyền bởi hệ điều hành được tiến hành theo các bước:
1. Trong hệ điều hành Windows NT tạo một user’s group với tên ORA_<SID>_DBA và một nhóm khác ORA_<SID>_OPER với <SID> tương ứng với tên của instance, hoặc ORA_DBA và ORA_OPER (khi này ta không quan tâm tới instance).
2. Thêm một user vào group để khi truy cập vào hệ điều hành, user có thể tự động được xác định quyền DBA.
3. Đặt tham số REMOTE_LOGIN_PASSWORDFILE trong parameter file là NONE. 4. Kết nối tới database với mức quyền SYSDBA hay SYSOPER:
CONNECT / AS { SYSDBA|SYSOPER } Ghi chú:
NET8 được cài đặt trên các hệ điều hành Windows 95, Windows NT để giúp cho việc xác nhận quyền.
Các phiên bản trước của Oracle sử dụng lệnh: CONNECT INTERNAL với cú pháp: CONNECT INTERNAL/pw AS SYSDBA. Lệnh: CONNECT INTERNAL hiện tại vẫn được sử dụng.
Với việc xác nhận quyền truy nhập bởi hệ điều hành, ta không cần quan tâm tới các mức quyền (privilege) thay vào đó, ta cần quan tâm tới hai quyền được cung cấp bởi hệ điều hành là OSDBA và OSOPER
OSOPER: là quyền cho phép user có thể STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG, và RECOVER, ngồi ra cịn có thêm cả quyền RESTRICTED SESSION.
OSDBA: là quyền cho phép user có thể có được tất cả các quyền của OSOPER, ngồi ra cịn có thêm một số mức quyền phục vụ quản trị database là ADMIN OPTION, và CREATE DATABASE
5.2.3. Xác nhận quyền bằng file mật khẩu
Oracle hỗ trợ các tiện ích password cho phép kết nối tới Oracle Server sử dụng username và password. Việc truy cập vào database sử dụng password file được hỗ trợ bởi lệnh GRANT.
Sử dụng file mật khẩu:
1. Tạo file mật khẩu bằng lệnh:
orapwd file=<fname> password=<password> entries=<entries> Với:
fname là tên file mật khẩu
password là mật khẩu của SYS hay INTERNAL
entries là số lượng tối đa các quản trị viên được phép
2. Đặt tham số REMOTE_LOGIN_PASSWORDFILE là EXCLUSIVEhoặcSHARED. Với:
EXCLUSIVE chỉ một instance có thể sử dụng file mật khẩu
SHARED nhiều instance có thể dùng file mật khẩu
3. Gán quyền cho user
GRANT SYSDBA TO admin; GRANT SYSOPER TO admin 4. Kết nối tới database theo cú pháp:
SVRMGRL>CONNECT internal/admin AS SYSDBA
Xem thông tin về các member trong file mật khẩu
Thông tin về các member trong file mật khẩu được lưu trong view: V$PWFILE_USER. Nó cho biết có những user nào được gán quyền SYSDBA hay SYSOPER.
Diễn giải một số cột trong V$PWFILE_USER:
USERNAME Tên user
SYSDBA Cột này nhận giá trị TRUE thì User này được
gán quyền SYSDBA
SYSOPER Cột này nhận giá trị TRUE thì User này được gán quyền SYSOPER
Khi kết nối với database theo mức quyền SYSDBA hay SYSOPER, user đó sẽ được kết nối tới các schema mặc định, với SYSDBA thì shema mặc định là SYS, với SYSOPER thì shema mặc định là PUBLIC.
5.2.4. Thay đổi mật khẩu internal
Sử dụng tiện ích ORADIM để tạo lại file mật khẩu.
C:\>ORADIM -NEW -SID sid [-INTPWD internal_pwd][SRVC
svrcname][MAXUSERS n][STARTMODE auto, manual][-PFILE filename]
Với:
sid tên instance
internal_pwd mật khẩu internal account svrcname tên service
n số lượng tối đa file mật khẩu
auto or manual chế độ khởi động service là: manual hay automatic
filename cho phép sử dụng file mật khẩu không phải là mặc định
Để thay đổi mật khẩu INTERNAL ta thực hiện theo các bước sau: 1. Xoá mật khẩu cũ
C:\> ORADIM -DELETE -SID sid 2. Tạo mật khẩu mới
C:\> ORADIM -NEW -SID sid -INTPWD internal_pwd - MAXUSERS N