5.1.PHÂN LOẠI USERS
Oracle là một hệ quản trị
cơ sở dữ liệu lớn, chạy trên môi trường mạng. Để vận hành hệ thống được tốt, có
thể có nhiều người sẽ cùng tham gia vào hệ thống với những vai trò khác nhau gọi
là các user. Có thể phân ra làm một số loại user chính sau:
§ Database
Administrators
§ Security
Officers
§ Application
Developers
§ Application
Administrators
§ Database
Users
§ Network
Administrators
5.1.1. Database Administrators
Do hệ thống Oracle database có thể là rất lớn và có nhiều users cùng tham gia vào hệ thống, và khi đó sẽ có một hay một số người chịu trách nhiệm quản lý hệ thống. Những người có vai trò như vậy được gọi là database administrator (DBA). Mỗi một database cần ít nhất 01 người để thực hiện công việc quản trị.
Do hệ thống Oracle database có thể là rất lớn và có nhiều users cùng tham gia vào hệ thống, và khi đó sẽ có một hay một số người chịu trách nhiệm quản lý hệ thống. Những người có vai trò như vậy được gọi là database administrator (DBA). Mỗi một database cần ít nhất 01 người để thực hiện công việc quản trị.
Một database
administrator có trách nhiệm thực hiện một số công việc sau:
§ Cài
đặt và nâng cấp Oracle server và các công cụ ứng dụng khác.
§ Phân
phối hệ thống lưu trữ và lên kế hoạch lưu trữ cho hệ thống cơ sở dữ liệu trong
tương lai.
§ Tạo
những cấu trúc lưu trữ cơ bản như tablespaces phục vụ cho việc phát triển và hoạt
động của các ứng dụng.
§ Tạo
các đối tượng trong database như tables, views, indexes sử dụng cho các ứng dụng
được thiết kế.
§ Thay
đổi cấu trúc database khi cần thiết tuỳ theo các thông tin của các application.
§ Quản
lý các users và đảm bảo bảo mật hệ thống.
§ Đảm
bảo tương thích về bản quyền, phiên bản với hệ thống Oracle
§ Điều
khiển và quản trị các user access truy xuất tới database.
§ QUản
lý và tối ưu các truy xuất tới database.
§ Lên
kế hoạch backup (sao lưu) và recovery (phục hồi) các thông tin có trong
database.
§ Lưu
trữ các archive data.
§ Sao
lưu và khôi phục database.
§ Cập
nhật các công nghệ mới đưa ra các câu hỏi bổ ích.
5.1.2. Security Officiers
Trong một số trường hợp, hệ thống đòi hỏi chế độ bảo mật cao. Khi đó cần đến một hay một nhóm người chuyên thực hiện công tác bảo vệ database gọi là security officers. Security officer có thể kết nối tới database, điều khiển và quản lý việc truy cập database của các users và bảo mật hệ thống.
Trong một số trường hợp, hệ thống đòi hỏi chế độ bảo mật cao. Khi đó cần đến một hay một nhóm người chuyên thực hiện công tác bảo vệ database gọi là security officers. Security officer có thể kết nối tới database, điều khiển và quản lý việc truy cập database của các users và bảo mật hệ thống.
5.1.3. Application Developers
Application developer là người thiết kế và viết các ứng dụng database. Application developer có trách nhiệm thực hiện một số yêu cầu sau:
Application developer là người thiết kế và viết các ứng dụng database. Application developer có trách nhiệm thực hiện một số yêu cầu sau:
§ Thiết
kế và phát triển ứng dụng database.
§ Thiết
kế cấu trúc database cho từng ứng dụng.
§ Đánh
giá yêu cầu lưu trữ cho ứng dụng.
§ Quy
định các hình thức thay đổi cấu trúc database của ứng dụng.
§ Thiết
lập biện pháp bảo mật cho ứng dụng được phát triển.
5.1.4. Database Users
Database users tương tác với database thông qua các ứng dụng và các tiện ích. Một user điển hình có thể thực hiện được một số công việc sau:
Database users tương tác với database thông qua các ứng dụng và các tiện ích. Một user điển hình có thể thực hiện được một số công việc sau:
§ Truy
nhập, sửa đổi, và xoá huỷ các dữ liệu được phép
§ Tạo
các báo cáo đối với dữ liệu
5.1.5. Network Administrators
Đối với database Oracle hoạt đông trên môi trường mạng, khi đó cần có một user thực hiện công việc quản trị mạng. User này có trách nhiệm đảm bảo các ứng dụng Oracle hoạt động trên môi trường mạng được tốt.
Đối với database Oracle hoạt đông trên môi trường mạng, khi đó cần có một user thực hiện công việc quản trị mạng. User này có trách nhiệm đảm bảo các ứng dụng Oracle hoạt động trên môi trường mạng được tốt.
5.2.PHƯƠNG THỨC XÁC NHẬN
ĐẶC QUYỀN TRUY NHẬP
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.
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.
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:
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:
- 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).
- 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.
- Đặt tham số REMOTE_LOGIN_PASSWORDFILE
trong parameter file là NONE.
- 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,
ngoà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,
ngoà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.
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:
- 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
- Đặt tham số REMOTE_LOGIN_PASSWORDFILE
là EXCLUSIVE hoặc SHARED.
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
- Gán quyền cho user
GRANT SYSDBA TO admin;
GRANT SYSOPER TO admin
- 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
5.3.TẠO PARAMETER FILE
File tham số thông thường
có tên init<SID>.ora.
Theo mặc định, file tham
số được đặt trong thư mục %ORACLE_HOME%\DATABASE.
File tham số chỉ được đọc
một lần khi khởi động instance. Khi thay đổi nội dung của file tham số, để sử dụng
được các giá trị mới cần shut down rồi sau đó restart lại instance.
5.3.1. Sử dụng các tham số
Các tham số có thể ảnh hưởng tới hiệu quả sử dụng database. Các thông số trong file tham số bao gồm:
Các tham số có thể ảnh hưởng tới hiệu quả sử dụng database. Các thông số trong file tham số bao gồm:
§ Kích
thước của vùng System Global Area (SGA) để tối ưu hiệu suất.
§ Đặt
mặc định cho database và instance.
§ Đặt
các hạn chế đối với user hay process.
§ Đặt
các hạn chế đối với tài nguyên database.
§ Xác
định các thuộc tính vật lý của database, như kích thước của block.
§ Chỉ
ra các control files, archived log files, Alert file, và trace file locations.
5.3.2. Một số quy tắc đối với các tham số
§ Các
giá trị được chỉ ra theo khuôn dạng: <Keyword>
= <Giá trị>.
§ Một
số tham số đều là tuỳ chọn và một số khác là bắt buộc ví dụ như DB_NAME.
§ Server
đều có giá trị mặc định đối với mỗi tham số. Các giá trị này là tuỳ theo hệ điều
hành và tuỳ theo tham số.
§ Các
tham số có thể được chỉ ra không cần phải tuân theo một thứ tự nào cả (đặt trước,
sau không quan trọng).
§ Phần
chú dẫn được bắt đầu bằng ký hiệu #.
§ Các
tham số là ký tự được đặt trong dấu nháy kép.
§ Cũng
có thể included các file bởi từ khoá IFILE.
§ Các
giá trị là tập hợp được đặt trong dấu ngoặc đơn ‘(,)’và được ngăn cách nhau bởi
dấu phẩy (,).
5.3.4. Các tham số cơ bản
Tham số
|
Diễn giải
|
CONTROL_FILES
|
Tên
của các control files.
|
DB_BLOCK_BUFFERS
|
Số
lượng các data blocks được cach trong SGA.
|
DB_BLOCK_SIZE
|
Kích
thước của một data block. Kích thước này nên được chọn bằng số số nguyên lần
mũ 2, có thể là 2K, 4K, 8K, 16K và 32K tuỳ theo phiên bản của Oracle và của Hệ
điều hành.
|
DB_NAME
|
Định
danh database từ 8 ký tự trở xuống. Tham số này chỉ cần thiết khi tạo mới một
database.
|
IFILE
|
Tên
của file tham số được include vào file tham số hiện thời. Cho phép có thể được
lồng tối đa là ba cấp.
|
LOG_BUFFER
|
Số
byte được cấp phát cho redo log buffer trong SGA.
|
MAX_DUMP_FILE_SIZE
|
Kích
thước tối đa của trace files, được xác định bằng số lượng block của hệ điều
hành.
|
OPEN_CURSOR
|
Số
lượng cursor tối đa được đồng thời mở.
|
ROLLBACK_SEGMENTS
|
Số
lượng rollback segments được sử dụng cho mỗi instance
|
PROCESSES
|
Số
lượng tối đa các tiến trình hệ điều hành có thể kết nối với instance.
|
SHARED_POOL_SIZE
|
Kích
thước của Shared Pool
|
Ví dụ một parametersfile:
5.4.START VÀ SHUT DOWN DATABASE
5.4.1. Các bước Start và Shut down database
Start Instance ở chế độ Nomount
Start Instance ở chế độ Nomount
Ta có thể khởi động một
Instance mà không cần thiết phải gắn với một database cụ thể. Khi khởi động
Instance, các công việc sau đây sẽ được thực hiện:
§ Đọc
file tham số : init<SID>.ora
§ Thu
xếp vùng bộ nhớ SGA
§ Khởi
động các background process
§ Mở
các trace file và các Alert file
Lưu ý: Tên database nằm
trong tham số DB_NAME
của file tham số.
Câu lệnh:
STARTUP
NOMOUNT;
Start
Instance ở chế độ mount
Để thực hiện một vài thao
tác đặc biệt khi vận hành database, ta có thể khởi động một instance và mount
database nhưng chưa mở database.
Ví dụ như:
§ Đổi
tên datafiles
§ Enable
hoặc Disable các redo log files
§ Thực
hiện phục hồi dữ liệu (recovery).
Các công việc khi mount
database:
§ Gắn
database với một instance đã khởi động
§ Định
vị và mở các control files theo như thông số có trong file tham số
§ Đọc
nội dung của control file và xác định trạng thái cho các data files và các redo
log files.
Câu lệnh:
STARTUP
MOUNT;
Start
Instance ở chế độ open
Sau khi databsae đã được
mở, những người sử dụng hợp lệ có thể kết nối tới database và thực hiện các
thao tác truy nhập vào database.
Việc mở database diễn ra
theo hai bước:
§ Mở
các online data files
§ Mở
các online redo log files.
Câu lệnh:
STARTUP
OPEN;
Khôi
phục Instance
Trong một số trường hợp
Instance có thể gặp lỗi và không thể làm việc được. Ví dụ như: có lỗi hệ thống
xảy ra. Việc khôi phục Instance sẽ được thực hiện theo các bước sau:
§ Khôi
phục lại tất cả các dữ liệu có thể khôi phục được (dữ liệu chưa được lưu vào
data files nhưng đã lưu vào trong online redo log files)
§ Mở
database.
§ Khôi
phục lại tất cả các transaction chưa được commit.
Close
database
Đây là bước đầu tiên khi
tắt hẳn một database. Sau khi đóng database, tất cả các dữ liệu còn trong bộ đệm
(redo log buffer cache) sẽ được ghi ra file (online redo log file). Các control
file vẫn được mở.
Dismount
database
Dissmount database sẽ
đóng nốt các control file thuộc database đang mở.
Shoutdown
Instance
Đây là bước cuối cùng,
intance sẽ được tắt hẳn. Các trace file và Alert file của instance bị đóng. Các
background process bị dừng và vùng nhớ
SGA cấp cho instance bị thu hồi.
5.4.2. Start database
Cú pháp:
Cú pháp:
STARTUP
[FORCE] [RESTRICT] [PFILE=filename]
[EXCLUSIVE | PARALLEL | SHARED]
[OPEN [RECOVER][database]|MOUNT |NOMOUNT]
Với:
OPEN cho phép các users truy
cập vào database.
MOUNT mounts
database sẵn sàng cho các thao tác DBA, người sử dụng chưa truy cập được
database.
NOMOUNT Bố
trí SGA và khởi động các background process, chưa sẵn sàng cho DBA.
EXCLUSIVE chỉ
cho phép instance hiện thời truy cập vào database.
PARALLEL cho
phép nhiều instances cùng được gắn với database (sử dụng Oracle Parallel
Server)
SHARED
tương tự như PARALLEL.
PFILE=parfile cho phép sử dụng file tham số không phải là mặc định để
xác định cấu hình cho instance.
FORCE huỷ
bỏ các instance đang chạy trước đó, khởi động instance bình thường.
RESTRICT chỉ
cho phép các users truy cập với chế độ RESTRICTED.
SESSION
quyền truy nhập vào
database.
RECOVER
bắt đầu khôi phục dữ liệu
khi database.
5.4.3. Thay đổi tính sẵn dùng của database hiện thời
Khởi động database ở chế
độ NOMOUNT
Thực hiện sửa đổi
database theo lệnh:
ALTER
database { MOUNT | OPEN | OPEN
READ ONLY
| OPEN READ WRITTE}
Với:
MOUNT Gắn database với instance.
Lúc này ta chỉ có thể thực hiện các thao tác quản trị trên database mà chưa thể
sử dụng database được.
OPEN
READ WRITE Mở database, sẵn
sàng cho việc sử dụng database, cả đọc lẫn ghi.
OPEN
READ ONLY Mở database nhưng chỉ cho đọc
database như sử dụng các câu lệnh truy vấn chẳng hạn. Các thao tác ghi không thể
thực hiện được. Tuỳ chọn này được sử dụng khi ta cần sao chép các redo log
files của database.
OPEN Tương tự như OPEN READ
ONLY, đây là biểu diễn mặc định của OPEN READ WRITE.
Có một số chế độ tắt
database tương ứng với các khả năng khác nhau.
Cú pháp:
SHUTDOWN [NORMAL |
TRANSACTIONAL | IMMEDIATE | ABORT ]
Với:
NORMAL Không cho tạo thêm các
connection tới database, chờ cho connection hiện thời kết thúc thì shutdown
database.
TRANSACTION Không cho phát sinh thêm các transaction,
chờ cho transaction hiện thời kết thúc thì shutdown database.
IMMEDIATE Kết thúc luôn transaction hiện thời
nhưng vẫn chờ hệ thống commit hay rollback rồi mới shutdown database.
ABORT Shutdown database tức thời
không đòi hỏi bất cứ điều kiện gì.
Tương ứng với các cách tắt
database trên, ta có biểu đồ về thời gian như sau:
Hình vẽ trên so sánh tiêu
tốn về thời gian khi thực hiện một thao tác chuyển đổi dữ liệu:
- Thực hiện truy vấn để lấy dữ liệu
- Thực hiện lệnh INSERT
và DELETE
để cập nhật và chuyển đổi dữ liệu
- Phát lệnh COMMIT
để cập nhật dữ liệu vào database
- Huỷ bỏ liên kết tới database.
5.4.5. Thay đổi trạng thái của database
Cú pháp:
ALTER
system { SUSPEND | RESUME }
SUSPEND Đưa
database vào trạng thái treo. Tạm thời không cho phép thực hiện các thao tác
vào ra đối với datafiles và control files. Thao tác này được thực hiện khi ta
chuẩn bị backup database.
RESUME Ngược
lại với SUSPEND, thao tác này sẽ đưa database trở lại trạng thái bình thường
sau khi đã backup xong database.
Ví dụ:
SQL> ALTER SYSTEM
SUSPEND;
System altered
SQL> SELECT
database_status FROM v$instance;
DATABASE_STATUS
---------
SUSPENDED
SQL> ALTER SYSTEM
RESUME;
System altered
SQL> SELECT
database_status FROM v$instance;
DATABASE_STATUS
---------
ACTIVE
5.4.6. Tạm treo và phục hồi Database
Oracle
11g cung cấp chức năng suspend/resume. Quản trị viên sử dụng lệnh ALTER
SYSTEM SUSPEND để tạm treo database, dừng mọi thao tác truy xuất
vào ra đối với các datafiles và control
files. Khi database ở trạng thái tạm treo, các thao tác vào ra (I/O
operations) đang thực hiện sẽ được kết thúc và những truy cập vào
database mới phát sinh sẽ được đẩy vào queue. Thực hiện lệnh ALTER
SYSTEM RESUME để khôi phục lại tình trạng bình thường của
database.
Ta sử dụng lệnh ALTER
SYSTEM SUSPEND để tạm treo một database, ngăn thực hiện các thao
tác vào ra (I/O)
đối với các datafiles và control files. Do đó, cho phép database có thể dễ dàng
thực hiện các thao tác back up. Khi thực hiện việc treo database tất cả các
thao tác vào ra đang có sẽ được tiếp tục cho phép thực hiện cho đến khi hoàn tất,
các phép thao tác vào ra mới phát sinh sau này sẽ được tạm thời đưa vào queue
chờ xử lý sau.
Lệnh
suspend (tạm treo) database được thực hiện đối với database chứ không phải chỉ
đối với instance. Do vậy, ở trong môi trường Oracle Real Application Clusters,
một khi lệnh suspend được phát ra thì sau đó một cơ chế khoá sẽ được thiết lập
và chặn tất cả các yêu cầu gửi tới instance.
Sử
dụng lệnh ALTER
SYSTEM RESUME để phục hồi (resume) lại các hoạt động thông thường
của database. Ta cũng có thể chỉ rõ SUSPEND và RESUME
từ các instances khác nhau. Ví dụ, nếu các instances 1, 2, và 3 đang chạy, và
ta phát lệnh ALTER
SYSTEM SUSPEND từ instance 1, sau đó ta
cũng có thể phát lệnh RESUME từ các instances 1, 2,
hay 3
đều như nhau.
Khả năng suspend/resume
là rất hữu ích cho hệ thống nó cho phép ta thực hiện mirror một ổ đĩa hay một
file rồi sau đó sử dụng vào việc sao lưu, phục hồi dữ liệu cho toàn bộ hệ thống.
.
Tuy
vậy, đặc điểm suspend/resume
không thay thế cho các thao tác normal shutdown database
vì khi đó việc sao chép database được suspend
có thể chứa cả các dữ liệu cập nhật chưa được commit.
Cau lệnh sau minh hoạ việc
sử dụng lệnh ALTER
SYSTEM SUSPEND/RESUME. Sử dụng thông tin cung cấp trong V$INSTANCE
để biết được trạng thái của database.
SQL> ALTER SYSTEM SUSPEND;
System altered
SQL> SELECT DATABASE_STATUS FROM V$INSTANCE;
DATABASE_STATUS
---------
SUSPENDED
SQL> ALTER SYSTEM RESUME;
System altered
SQL> SELECT DATABASE_STATUS FROM V$INSTANCE;
DATABASE_STATUS
---------
ACTIVE
5.4.7. Đặt chế độ hoạt động tĩnh cho database
Oracle 11g cho
phép đưa database vào chế độ hoạt động tĩnh (quiesced state), Theo
đó chỉ cáo các DBA
transactions, queries, và các lệnh PL/SQL là được phép
thực hiện. Trạng thái này cho phép người dùng thực hiện các thao tác quản trị một
cách an toàn. Sự dụng câu lệnh ALTER SYSTEM QUIESCE RESTRICTED để
đưa database về chế độ hoạt động tĩnh.
5.5. ĐẶT TRẠNG THÁI TĨNH CHO DATABASE
Có
nhiều khi ta cần phải đưa database vào trạng thái mà chỉ có các DBA
transactions, queries (truy vấn), fetches
(tìm kiếm dữ liệu), hay các câu lệnh PL/SQL là được phép
thực hiện. Chế độ này được gọi là quiesced state - tạm dịch là chế độ tĩnh. Chế
độ này cho phép quản trị viên có thể thực hiện một số thao tác không an toàn lắm
trên database bao gồm các thao tác sau đây:
§ Các
thao tác có thể gặp lỗi nếu đồng thời có một user transactions truy cập vào
cùng một đối tượng. Ví dụ như khi thay đổi table, thêm mới cột dữ liệu vào một
table đang có và không yêu cầu khoá (no-wait lock is required).
§ Các
thao tác không mong muốn gây ảnh hưởng tức thì giữa các user
transactions xảy ra đồng thời. Ví dụ khi có một thủ tục chứa nhiều bước thao tác
trên một table chẳng hạn như table ban đầu được export dữ liệu, rồi bị xoá đi
và cuối cùng lại được import dữ liệu trở lại. Cùng lúc đó có user khác muốn
truy cập vào table và ngay tại thời điểm table vừa bị huỷ. Khi này sẽ phát sinh
lỗi hệ thống.
Nếu
không áp dụng trạng thái tĩnh cho database, thì ta cần phải shutdown database rồi
open lại nó ở chế độ restrict. Và việc này sẽ trở nên nghiêm trọng hơn khi hệ
thống yêu cầu phải chạy liên tục 24 x 7.
Áp dụng chế độ tĩnh cho database sẽ giảm bớt đi các hạn chế vì restriction vì nó loại bớt đi được các xấu xảy
ra với database.
5.5.1. Đưa Database vào trạng thái tĩnh
ALTER SYSTEM QUIESCE RESTRICTED
Tất
cả các non-DBA
active sessions sẽ được tiếp tục xử lý cho tới khi chúng chuyển
sang trạng thái inactive.
Một session được xem là active nếu lúc đó nó đang có các phép thực như
transaction, query, fetch, hay đang xử lý một câu lệnh PL/SQL;
hoặc cũng có thể là session đó đang nắm giữ phần tài nguyên chia sẻ (shared
resources).
Khi
tất cả các non-DBA sessions chuyển sang trạng thái inactive, câu lệnh ALTER
SYSTEM
QUIESCE RESTRICTED kết
thúc và database được xem như là chuyển sang trạng thái tĩnh quiesce state.
Trong môi trường Oracle
Real Application Clusters, câu lệnh này có ảnh hưởng tới tất cả
các instances, chứ không chỉ là đối với instance nơi phát ra câu lệnh.
Lệnh
ALTER
SYSTEM QUIESCE RESTRICTED có thể phải chờ trong một thời gian khá
dài để cho active sessions chuyển sang trạng thái inactive. Nếu ta huỷ bỏ yêu cầu,
hoặc nếu session bị kết thúc một cách đột
ngột vì nhiều lý do khác nhau thì Oracle sẽ tự động phục hồi lại (undo) trạng
thái trước khi thực hiện lệnh.
Nếu
một truy vấn được đưa ra bởi các Oracle Call Interface (OCI), thì câu lệnh ALTER
SYSTEM
QUIESCE RESTRICTED sẽ không chờ fetch hết tất cả các dữ
liệu mà chỉ chờ fetch xong dòng dữ liệu hiện thời mà thôi.
Khi
ở trạng thái quiesce state, ta không sử dụng hệ điều hành để sao chép các file
trong hệ thống giống như khi thực hiện backup lạnh đối với database, cho dù ta
có các checkpoint tại mỗi một instance. Lý do là vì khi ở trạng thái quiesce
state thì các file headers của online datafiles vẫn luôn được liên tục truy cập.
5.5.2. Phục hồi hệ thống trở lại hoạt động như bình thường
ALTER SYSTEM UNQUIESCE
Khi
này tất cả các non-DBA activity sẽ được tiếp tục thực hiện. Trong môi trường
Oracle Real Application Clusters, ta có thể phát lệnh này từ bất kỳ một
instance nào có kết nối tới server không nhất thiết phải là instance phát lệnh
đặt trạng thái tĩnh. Trong trường hợp session phát lệnh
5.5.3. Xem trạng thái của database
ALTER SYSTEM UNQUIESCE
gặp lỗi, Oracle database server sẽ luôn đảm bảo việc thực hiện unquiesce sẽ kết
thúc. 5.5.3. Xem trạng thái của database
Ta
có thể xem trạng thái của database qua các thông tin có trong V$INSTANCE
. Các thông tin này được lưu trong cột ACTIVE_STATE
với các nội dung như sau:
Diễn giải
|
|
Trạng
thái thông thường
|
|
QUIESCING
|
Đang
ở trạng thái tĩnh – quiesce state, nhưng các active non-DBA sessions vẫn được
thực hiện
|
QUIESCED
|
Ở
trạng thái quiesce state, và không có bất kỳ một active non-DBA sessions nào
được phép thực hiện
|
5.6.LẤY CÁC THÔNG TIN VỀ
HỆ THỐNG
Các thông số hệ thống được
đặt trong các tables hệ thống. Ta có thể quan sát và truy xuất tới chúng thông
qua các view gọi là Dynamic performance views. Các view này thường có tên viết
đầu là V_$.
Oracle thường tạo ra các Sysnonym tương ứng với các view này với tên có đầu là V$.
Khi khởi động database ở
chế độ NOMOUNT,
user quản trị có thể đọc được các dữ liệu có trong các view này. Thông tin
trong view này là cần thiết cho việc mount database.
View V$FIXED_TABLE
chứa tên của tất cả các view V$ có trong hệ thống.
Biểu đồ dưới đây diễn tả
các mức độ truy cập các view của hệ thống
Dynamic Performance View
|
Diễn giải
|
V$PARAMETER
|
Thông
tin về các tham số khởi tạo
|
V$SGA
|
Thông
tin tổng hợp về SGA
|
V$OPTION
|
Các
tuỳ chọn cho Oracle server đã được cài đặt
|
V$PROCESS
|
Thông
tin về các hoạt động của process hiên thời
|
V$SESSION
|
Thông
tin về session
|
V$VERSION
|
Thông
tin về phiên bản của các thành phần Oracle
|
V$INSTANCE
|
Thông
tin về trạng thái của Instance hiện thời
|
V$THREAD
|
Thông
tin về các thread trong hệ thống
|
V$CONTROLFILE
|
Liệt
kê tên của các control files
|
V$DATABASE
|
Thông
tin về database
|
V$DATAFILE
|
Thông
tin về các data file được sử dụng
|
V$DATAFILE_HEADER
|
Thông
tin header của các data file được sử dụng
|
V$LOGFILE
|
Thông
tin về các online redo log files
|
5.6.2. Hiển thị giá trị của các thông số hệ thống
Ta có thể xem thông tin hệ
thống bằng hai cách:
§ Sử
dụng lệnh xem tham số của Server manager.
SVRMGRL> SHOW PARAMETER control
§ Truy
xuất trực tiếp vào view hệ thống
SELECT name, type from v$control WHERE
name like ‘%control%’;
Với hai cách trên ta đều
thu được một kết quả:
SVRMGR>
SHOW PARAMETER control
NAME
TYPE
VALUE
-------------------------------
------- --------------------
control_file_record_keep_time
integer 7
control_files
string
/DISK1/control01.con
5.6.3. Tham số hệ thống động (có thể thay đổi)
Trong các tham số hệ thống,
có một vài tham số là động và ta có thể thay đổi được các tham số này. Thông
qua các lệnh:
§ ALTER SESSION:
chỉ thay đổi giá trị của các tham số trong session hiện thời
§ ALTER SYSTEM:
thay đổi giá trị trong toàn bộ hệ thống nói chung.
§ ALTER SYSTEM DEFERRED:
chỉ thay đổi tham số hệ thống của các session sẽ kết nối vào database sau này,
kể từ sau thời điểm thay đổi.
Cú pháp:
ALTER
SESSION SET parameter_name = value
ALTER
SYSTEM SET parameter_name = value [DEFERRED]
Ví dụ:
ALTER
SESSION SET SQL_TRACE=true;
ALTER
SYSTEM SET TIMED_STATISTICS=true;
ALTER
SYSTEM SET SORT_AREA_SIZE=131072 DEFERRED;
Xem lại thông tin mà ta vừa
thay đổi:
SVRMGR>
SELECT isses_modifiable,issys_modifiable,
3>
ismodified, name
2>
FROM v$system_parameter
4>
WHERE ismodified != 'FALSE';
ISSES ISSYS_MOD ISMODIFI NAME
----- --------- --------
------------------------------
TRUE
IMMEDIATE MODIFIED
timed_statistics
1
row selected.
5.6.4. Quản lý session
Restrict session
Restrict session cần thiết
khi bảo trì cơ sở dữ liệu, import, export và sửa đổi cấu trúc của database.
Ta có thể đặt chế độ cho
restrict session cho database thông qua lệnh:
ALTER
SYSTEM {ENABLE|DISABLE}RESTRICTED SESSION
Với:
ENABLE
RESTRICTED
chỉ
cho phép các users có quyền RESTRICTED
SESSION truy nhập
DISABLE RESTRICTED
SESSION
cho
phép tất cả các users truy nhập vào database
Kết thúc session
Ta có thể kết thúc
(Terminate) các session của một Instance đã ở trong chế độ restrict, trước khi
thực hiện các thao tác quản trị.
Cú pháp:
ALTER
SYSTEM KILL SESSION ’integer1,integer2’
Với:
KILL SESSION tên session cần kết thúc
integer1 giá trị của cột SID trong
view v$session
Chú ý: hai giá trị
integer1 và integer2 dùng để xác định session
Với lệnh KILL SESSION
background process PMON
sẽ thực hiện các công việc sau:
§ Rollback
transaction hiện thời của user
§ Giải
phóng tất cả các lock trên các table thực hiện bởi user đó
§ Giải
phóng các tài nguyên sử dụng bởi user
5.6.5. Trace file và ALERT file
Trace file lưu trữ các thao
tác bởi background process. Các thông tin về lỗi trong hệ thống sẽ được lưu vào
đây. Điều này là rất hữu ích khi thực hiện dò tìm và khắc phục lỗi xảy ra trong
hệ thống.
Trong khi chạy Oracle
Instance, tất cả các message phát ra đối với hệ thống đều được lưu vào Alert
file. Trong quá trình khởi động database, Oracle sẽ tự tạo ra Alert file nếu nó
chưa tồn tại.
Trong trường hợp có lỗi xảy
ra, các background process sẽ thực hiện ghi lại các thông tin dump vào trace
file.
Ta có thể đặt lại chế độ
ghi lỗi ra trace file thông qua lệnh:
SQL>ALTER
SESSION SET sql_trace=TRUE;
Đường dẫn tới các trace
file và Alert có thể được chỉ ra bởi các tham số:
BACKGROUND_DUMP_DEST
Xác
định nơi đặt của các trace file và ALERT.
USER_DUMP_DEST
MAX_DUMP_FILE_SIZE
Số lượng block của hệ điều hành quy định kích thước của trace files.=============================
Website không bao giờ chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì, phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn muốn tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ kinh nghiệm, thủ tục, quy trình, bí kíp thực chiến mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin1_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
Nếu bạn muốn tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ kinh nghiệm, thủ tục, quy trình, bí kíp thực chiến mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin1_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
HỌC ORACLE DATABASE CƠ BẢN TỪ A-Z - BÀI 5: QUẢN TRỊ ORACLE DATABASE, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty