1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập thực hành hệ quản trị cơ sở dữ liệu oracle

96 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ Quản Trị Cơ Sở Dữ Liệu Oracle
Trường học Trường Đại Học Công Thương TPHCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Tập Thực Hành
Năm xuất bản 2023-2024
Thành phố TPHCM
Định dạng
Số trang 96
Dung lượng 8,69 MB

Nội dung

Cài đặt phần mềm quản lý máy chủ Linux - Cài đặt: Chọn Xmanager/ ssh client/ sftp client - Mở Xshell - Kiểm tra ping thấy máy ảo - Đăng nhập vào máy ảo: gõ ip vào - Chọn Accept and Save

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TPHCM

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN HỆ THỐNG THÔNG TIN

BÀI TẬP THỰC HÀNH

HỆ QUẢN TRỊ

CƠ SỞ DỮ LIỆU ORACLE

Năm học 2023-2024

Trang 2

Bài 1 CÀI ĐẶT ỨNG DỤNG 1.1 Cài đặt oracle trên windows

1.1.1 Cài đặt Oracle

- Sử dụng phiên bản 12c 64bit, giải nén ra thư mục database

- Không gõ email, tắt check “I wish to receive …support”

- Chọn Create and configure a database

- Chọn Server Class

Trang 3

- Chọn Single instance database installation

- Chọn Advanced install

- Chọn Create New Windows User, sau đó đặt tên user_name (hr), password (hr)

- Chọn yes

Trang 4

- Tắt Create as Container database

1.1.2 Cài đặt công cụ kết nối

a SQL developer (không thể tuning vì yêu cầu bản quyền, muốn tuning phải xài toad)

Trang 5

b Toad

1.2 Cài đặt Oralce trên Linux

1.2.1 Chuẩn bị máy ảo Oracle Linux

- Cài đặt máy ảo Vmware

- Tự cài hệ điều hành Oracle Linux 7.7 hoặc giải nén oel.zip được giáo viên cung cấp để có sẵn một hệ điều hành

1.2.2 Khởi động và kiểm tra máy ảo Oracle Linux

- Power on: Đăng nhập bằng user: root/ root hoặc oracle/oracle

- Kiểm tra ip của máy ảo: Gõ lệnh ifconfig để lấy ip Ví dụ 192.168.16.128

- Thực hiện thay đổi: Click chuột phải tại oel, chọn Settings

o Cho phép những máy ảo khác nhìn thấy máy chủ ảo nhưng Không cho những máy thực bên ngoài nhìn thấy máy chủ ảo, máy chủ ảo vẫn ra vào internet bình thường: chọn NAT

Trang 6

o Cho phép những máy thực bên ngoài và máy ảo khác bên trong đều nhìn thấy máy chủ ảo và máy chủ ảo vẫn ra vào internet bình thường: Bridged

1.2.3 Cài đặt phần mềm quản lý máy chủ Linux

- Cài đặt: Chọn Xmanager/ ssh client/ sftp client

- Mở Xshell

- Kiểm tra ping thấy máy ảo

- Đăng nhập vào máy ảo: gõ ip vào

- Chọn Accept and Save rồi gõ username/password (root/root hoặc oracle/oracle)

Trang 7

1.2.4 Thực hiện một số kiểm tra cơ bản trên máy chủ

- Kiểm tra dung lượng đĩa: df -h (có dấu cách) Vùng /dev/mapper/ol_oel-root cho biết thông tin vùng đĩa

- Lấy thông tin user đang đứng hiện hành: id

- Chuyển quyền từ user này sang user khác: su Ví dụ: su - oracle

- Kiểm tra thư mục đang đứng: pwd

- Hệ thống có bao nhiêu thư mục:ls

- Muốn coi quyền: ls –l

- Coi toàn bộ thư mục trong /: ls –l/

- Di chuyển vào đường dẫn thư mục: cd Ví dụ cd/home

- Muốn cài đặt phải dùng user khác như oracle, không được dùng user root

- Xem file ẩn: ls –al (hoặc vào Tool- option – hidden file)

- Muốn chép file phải xem có quyền chép được hay không Thư mục home bình thường không chép vào mà phải tạo thư mục khác Ở ngoài cây lớn có thư mục oracle và chép thư mục vào đây

- Khi cài database phải dùng biến môi trường Biến môi trường quy định đường dẫn $path Ví dụ khi gõ ls –l mà nó vẫn hiểu là vì đã có biến môi trường

- Muốn xem các biến môi trường của nó: xem file bash_profile bằng cách dùng lệnh cat Ví dụ cat bcdash_profile

- In biến môi trường ra ngoài: echo Ví dụ echo $oracle_home

- Chuyển qua thư mục soft: cd/oracle/softs; echo $path; ls –al

1.2.5 Chuẩn bị ứng dụng cài đặt

- Có 2 software để cài đặt, muốn cài với software nào thì chuyển biến môi trường qua đó Nên cài đặt Grid Infrastructure trước khi cài đặt Oracle Database

- Dùng file new transfer chép dữ liệu, chép 2 file db_v982063-01 và grid

v982068-01 vào thư mục /oracle hoặc /home/oracle

- Thao tác copy + paste bình thường như trên windows và sau đó chờ máy chép tùy theo tốc độ

1.2.6 Cài đặt Grid Infrastructure

- Di chuyển vào thư mục chép 2 file nén bằng các lệnh cd

- Kiểm tra các tập tin đã chép bằng lệnh liệt kê ls -l

Trang 8

- Chuyển biến môi trường qua grid: grid_env

Trang 9

- Chạy file cài đặt, gõ: /gridSetup.sh

- Chờ máy hoàn chỉnh cài đặt:

- Chọn stand alone

- Chọn Change Discovery Path, External rồi chọn ổ đĩa trên

Trang 10

- Gõ password (thống nhất Oracle123), chọn Next

- Chọn Next

- Điều chỉnh các thông số như giao diện dưới đây:

Trang 11

- Chọn chọn lựa trên ->Yes

- Chọn Next

- Chọn Next

Trang 12

- Chọn Next

- Chờ máy cài đặt

- Tại cửa sổ Verification Result

Trang 13

- Chuyển qua eof thực hiện các lệnh sau

- cd /oracle/grid/cv/rpm

- rpm -Uvh cvuqdisk-1.0.10-1.rpm

- Chọn Check again, Ignore All, Yes, Install

- Tại cửa sổ

Trang 14

- Lần lượt chọn từng đường dẫn trên scripts: nhấn Ctrl +C

- Vào user root, chọn paste (lần lượt chạy cả 2 đường dẫn trên, lần thứ 2 nhấn Enter thêm lần nữa)

- Giữ nguyên 2 màn hình dưới đây, không nhấn gì hết (cho đến khi nào hiện ra dấu nhắc của hệ điều hành)

Trang 15

Quá trình cài nếu máy bị lỗi listener thì tắt firewall và các phần mềm quét virus

1.2.7 Cài đặt Oracle database

- Thiết lập biến môi trường

[oracle@oel1 database_19c]$ echo $ORACLE_HOME

[oracle@oel1 database_19c]$ echo $ORACLE_SID

- Tạo thư mục /oracle/app/product/db122 và giải nén tập tin db_V982063-01.zip vào thư mục /oracle/app/product/db122

[oracle@oel1 database_19c]$ mkdir -p /oracle/app/product/db122

[oracle@oel1 database_19c]$ unzip -d /oracle/app/product/db122 01.zip

db_V982063 Chuyển qua thư mục giải nén và chạy file cài đặt

- Chọn Setup Software Only

- Chọn Single instance database installation

- Chọn Enterprise Edition

Trang 16

- Giữ nguyên mặc định, chọn Next liên tiếp

- Hiệu chỉnh các giá trị như hình bên dưới

Trang 17

- Chọn Next

- Tại giao diện dưới đây thực hiện, copy đường dẫn vào root để chạy

Trang 18

[root@oel1 /]# /oracle/app/product/db122/root.sh

1.2.8 Tạo Oracle database

- Thực hiện các lệnh sau

- [oracle@oel1 ~]$ db_env

- [oracle@oel1 ~]$ echo $ORACLE_HOME

- [oracle@oel1 ~]$ echo $ORACLE_SID

- [oracle@oel1 ~]$ dbca

- Chọn Create a database

- Chọn Typical configuration

Trang 19

- Chọn Custome database

- Gõ tên database hoặc để nguyên mặc định orcl, sau đó bỏ chọn mục “Create as Container database”

Trang 20

- Điều chỉnh cho các cửa sổ tiếp theo như các hình dưới

Trang 22

- Trong National Character set, chọn UTF8

- Lưu ý: Nếu bị lỗi listener như dưới đây

Trang 23

Thì thực hiện lệnh:

Grid_env

Lsnrctl start [tên listener]

- Chọn Add sample schemas to the database

- Gõ password (trong bài thực hành là Oracle123)

Trang 25

1.2.9 Kiểm tra kết nối

- Kiểm tra trên Server

[oracle@oel1 ~]$ ps -ef|grep pmon

oracle 11315 1 0 11:22 ? 00:00:00 ora_pmon_orcl

oracle 11904 2569 0 11:24 pts/1 00:00:00 grep color=auto

pmon

oracle 28249 1 0 10:26 ? 00:00:00 asm_pmon_+ASM

Trang 26

Start Date 09-SEP-2019 10:25:44

Uptime 0 days 0 hr 58 min 53 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /oracle/grid/network/admin/listener.ora

Listener Log File

Service "+ASM" has 1 instance(s)

Instance "+ASM", status READY, has 1 handler(s) for this

service

Service "+ASM_CRS" has 1 instance(s)

Instance "+ASM", status READY, has 1 handler(s) for this

service

Service "+ASM_DATA" has 1 instance(s)

Trang 27

Instance "+ASM", status READY, has 1 handler(s) for this

service

Service "+ASM_FRA" has 1 instance(s)

Instance "+ASM", status READY, has 1 handler(s) for this

service

Service "orcl" has 1 instance(s)

Instance "orcl", status READY, has 1 handler(s) for this service

Service "orclXDB" has 1 instance(s)

Instance "orcl", status READY, has 1 handler(s) for this service

The command completed successfully

[oracle@oel1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Sep 9 11:24:40

ORCL READ WRITE

SQL> select status from v$instance;

Trang 28

Xử lý lỗi ORA-01081: cannot start already-running ORACLE -

shut it down first

[oracle@oel ~]$ db_env

[oracle@oel ~]$ echo ORACLE_HOME

[oracle@oel ~]$ export ORACLE_SID=orclAo

[oracle@oel ~]$ sqlplus sys/sys as sysdba

SQL> shutdown immediate

SQL> exit

[oracle@oel ~]$ sqlplus sys/sys as sysdba

SQL> startup

- Kiểm tra từ Client (Sqldeveloper)

select * from v$database;

select * from v$instance;

select * from v$datafile;

- Kết nối giữa máy thật và máy ảo

- Kiểm tra card mạng kiểu Bridge

Trang 29

- Connected: gắn card mạng vào máy

- Connect at power on: bật card mạng lên

- Không chọn Replicate physical network connection state

- Thực hiện thay đổi ip máy ảo cùng lớp máy thật

- Đổi lại ip

Sudo ifconfig tên_card_mạng ip_phòng máy netmask netmask_phòng máy

Ví dụ: sudo ifconfig ens34 172.17.102.101 netmask 255.255.255.0

Cần lưu ý: nếu có nhiều card mạng thì card sau sẽ có số lớn hơn Ví dụ ens32, ens34…

- Đặt lại default gateway (nếu muốn kết nối internet)

Sudo route add default gw default_gateway_phòng máy tên_card_mạng

Ví dụ: sudo route add default gw 172.17.x.x ens34

- Ens32 vẫn giữ nguyên ip là 192.168.100.11, thiết lập kiểu NAT

- Ens34 đổi ip máy ảo giống ip máy thật

Trang 30

- Tại máy cài server, có thể telnet bằng cả ip 192.168.100.11 và cả 172.17.102.101

- Tại các máy thật khác chỉ có thể telnet bằng ip 172.17.102.101

Trang 31

Bài 2 KIẾN TRÚC ORACLE VÀ QUẢN TRỊ DATABASE INSTANCE 2.1 Một số các lệnh hay dùng

- Lệnh liệt kê các process: [oracle@oel ~]$ ps -ef|grep +ASM

- Xem thông tin, tham số các tiến trình

- Chuyển biến môi trường (Linux) : db_env

- Xuất biến môi trường (Linux) : export ORACLE_SID=orcl (orcl là instances name đã được tạo)

- Quản trị: sqlplus sys / as sysdba (login bằng quyền quản trị cao nhất)

- Xem thông tin parameter file: SQL>show parameter Ví dụ

 Xem tham số process: SQL> show parameter process

 Xem tham số spfile (file text): SQL > show parameter spfile

- Thay đổi giá trị tham số

o Lệnh thay đổi giá trị tham số: Alter system set… scope = memory/

spfile/both

o Nếu chỉnh trên memory (scope=memory) thì trên spfile không có Nếu chỉnh trên spfile (scope=spfile) thì memory không có phải restart lại mới cập nhật Muốn cập nhật vừa trên memory vừa trên spfile, phải chọn

scope=both

o File binary phải chỉnh bằng lệnh: SQL> alter system set process =400 scope=spfile; (chỉnh thẳng lên spfile) Sau khi chỉnh xong nó vẫn chưa cập nhật, cần phải tắt instance mới thấy cập nhật

- Tắt mở hệ thống

- Các trạng thái của hệ thống:

o Ban đầu ở trạng thái shutdown

o Trạng thái Nomount: Đọc parameter file (lưu những thông tin cấu hình liên quan đến tham số, mặc định nằm trong thư mục

$ORACLE_HOME/dbs bằng tập tin có tên là spfile[…].ora)

o Trạng thái Mount: Đọc control file (lưu thông tin db như đường dẫn file, cấu hình liên quan đến db

o Trạng thái Open: bước này mới hoạt động được: Đọc tất cả các file còn lại (liên quan đến dữ liệu)

- Lệnh mở hệ thống: Startup Muốn startup ở trạng thái nào thì chọn trạng thái

Trang 32

o Transactional: đợi cho đến khi nào transction được ngưng Ví dụ người dùng đang dùng khoảng 15 phút thì đợi tất cả người dùng kết thúc mới tắt

o Normal: người dùng thoát ra hết mới tắt Đợi đến khi nào hết thì ngưng

- Tạo spfile: create pfile from spfile

- Hiển thị file log: show parameter diag

- Xem thông tin người dùng đang login vào:

o Liệt kê thuộc tính: desc v$session

o Hiển thị thông tin: select * from v$session

o Xóa session: alter system kill session 'SID,Serial#'

2.2 Các công cụ quản lý cơ sở dữ liệu

- Công cụ SQL Developer

- Công cụ Oracle Enterprise Manager

o Cài flash

o Kiểm tra port phải là 5500

 SELECT DBMS_XDB_CONFIG.gethttpport FROM dual; Hoặc

 SELECT DBMS_XDB_CONFIG.gethttpsport FROM dual;

 https://hostname:5500/em

Ví dụ: https://desktop-o1in781:5500/em

o Nhập user/ pass (ví dụ sys/sys)

Trang 33

2.3 Thao tác trên process

1 Liệt kê các thuộc tính của process

SQL> desc v$process;

Trang 34

2.4 Thay đổi trạng thái db

2 Xem trạng thái (mode) của db hiện tại

SQL> select name, open_mode from v$database;

3 Tắt hệ thống theo một trong 4 kiểu (có thể thử hết tất cả các kiểu)

SQL> shutdown immediate

4 Dùng SQL Developer kiểm tra lại hoặc chuyển qua sql ở section mới để kiểm tra bằng các câu lệnh sau đây:

select * from v$instance

select * from v$database

select * from v$datafile

5 Quay trở về section cũ, khởi động lại hệ thống ở trạng thái đầu tiên (startup) SQL> startup

Trang 35

6 Thực hiện kiểm tra instance, database, datafile trên Sql Developer

7 Tắt và khởi động hệ thống ở trạng thái nomount, kiểm tra database, instance SQL> startup nomount;

8 Chuyển sang trạng thái mout và kiểm tra

SQL> alter database mount;

9 Chuyển sang trạng thái open và kiểm tra db

SQL> alter database open;

SQL> exit

10 Kiểm chứng quá trình khởi động bằng spfile

Trang 36

- Quá trình khởi động hệ thống sẽ vào $ORACLE_HOME/dbs bằng tập tin có tên

là spfile[…].ora Thử đổi sang tên khác

- Tiến hành tắt và khởi động lại, hệ thống sẽ báo lỗi

- Đổi tên lại và khởi động lại sẽ thành công

- Thao tác trên file text (vì spfile là dạng binary nên cần tạo ra file text) Tên cố

định của file là init[…] ora Lệnh tạo file text:

SQL> create pfile from spfile

Trang 37

- Khởi động lại

- Khi đó ta thấy nó chỉ chỉnh thông số trên binary

- Đổi tên file binary (spfile) thành một tên khác, shutdown và startup lại thì db sẽ khởi động trên file txt

- Show parameter lên sẽ thấy giá trị value trống, có nghĩa là db đang chạy trên file text

SQL> show parameter spfile

- Kiểm tra tham số của process và thử tác động tham số khác sẽ không được vì spfile không được đang sử dụng

SQL> show parameter process

Trang 38

- Mở file initorclAo.ora thử chỉnh thông số processes sang giá trị khác (ví dụ hiện tại đang là 320 chuyển sang 400

- Thực hiện kiểm tra lại thông số đã được cập nhật

[oracle@oel dbs]$ cat initorclAo.ora

2.5 Thao tác trên file log

11 Xem vị trí alert log

SQL> select * from v$diag_info

12 Hiển thị tham số trên Linux

SQL> show parameter diag

o Di chuyển vào thư mục

SQL> show parameter diag

2.6 Session

13 Liệt kê tất cả tham số của v$session:

SQL> desc v$session

Trang 39

14 Đếm số session

SQL> select count(*) from v$session;

15 Xem thông tin cụ thể các session đang đăng nhập

SQL> select sid, serial#, username, program from v$session where

type!='BACKGROUND';

Lưu ý: muốn xem hoặc điều chỉnh thông tin độ rộng màn hình và chiều dài dòng

Set pagesize (<50.000) hoặc set linesize (<32000)

Show pagesize, show linesize

- Xóa session

SQL> alter system kill session 'SID,Serial#';

Ví dụ: alter system kill session '399,29925';

Kiểm tra sẽ thấy báo lỗi tại session vừa xóa

Trang 40

16 Xác định process ứng với session đang đăng nhập

SQL> select s.sid, s.serial#, p.spid, s.username, s.program from v$session s, v$process p where p.addr=s.paddr and s.type!='BACKGROUND';

17 Xóa process ứng với session đăng nhập

SQL> ! kill -9 SPID

Ví dụ:

SQL> ! kill -9 19026

2.7 Kiểm toán

18 Kiểm tra thông tin audit (audit_ trail phải là chế độ db)

SQL> show parameter audit;

Trang 41

19 Thiết lập chế độ audit trail

SQL>ALTER SYSTEM SET audit_trail=db, extended SCOPE=SPFILE;

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP

20 Xóa bảng aud$ và fga_log$

SQL>TRUNCATE TABLE aud$;

SQL>TRUNCATE TABLE fga_log$;

21 Tạo một chính sách giám sát dùng để giảm sát các hoạt động xem trên bảng countries của hr

SQL> audit select on hr.countries

22 Kiểm tra việc ghi nhật ký giám sát

23 Tạo thử 2 policy với table có sẵn (countries, employees) và user có sẵn (hr) với chính sách kiểm tra khi người dùng truy vấn xem, xóa, sửa, cập nhật dữ liệu SQL>

Ngày đăng: 15/12/2024, 20:45

w