Title: Principles of Database Systems With Internet and Java Applications
1Principles of Database SystemsWith Internet and
Java Applications
Todays TopicChapter 15 Reliability and
Security in Database Servers
- Instructors name and information goes here
- Please see the notes pages for more information.
2Chapter 15 Reliability and Security
- Backup and Recovery
- When and why
- Security
- How and who
- Distributed Databases
- What and where
3Causes of Failure, Possibilities of Recovery
- Database server
- computer crashes
- server program crashes
- disk drive corruption
- Client failure
- computer crashes
- client program crashes
- Network failure
- connection fails, often temporary
- Transaction failure
- executes rollback (voluntary)
- executes illegal operation (server created)
- deadlock
- introduces errors into the database
4Backups, Checkpoints, Transaction Logs
- Backup is a copy of the state at a specific time
- Checkpoint is an incremental backup of changes
since a full backup - Database can be restarted after failure
- At backup state
- At checkpoint
- Transaction log records all actions of
transactions - Redo log records new values of all objects
- Undo log records old values of all objects
- Read/write logs, to check for interference
5Recovery from failure
- Primary technique, restart from consistent
backup/checkpoint - Reprocessing
- ask all committed transactions to execute again
- Roll Forward
- Back to consistent backup state
- Apply redo transaction log
- Roll Back
- Remove the effect of each transaction with undo
log - Can be used to cancel the effects of rogue
transactions
6Automatic recovery
- Database server maintains control file
- Contains ID of last committed transaction
- Multiple copies in multiple locations
- Small but of crucial importance
- Server restart using control file and transaction
logs - Bring database back by restoring all committed
transactions - Remove effects of uncommitted transactions
7Security in Relational Database Systems
- Account security for validation of users
- Database accounts
- Operating system accounts
- SQL statements for security
- create user
- alter user
- create profile
- create role
- grant privileges to users, roles
8Stored Procedures
- Define numberRented function
- create function numberRented (accId int) return
int as select sum() from Rental where
Customer.accountId accId - Define checkIn procedure
- create procedure checkIn (vidId int, cost double)
as begin insert into PreviousRental - Grant privileges to procedures
- grant update on PreviousRental to checkIn
- grant checkIn to clerk
- revoke update on PreviousRental to public
- User in the clerk role can update the table, no
one else can
9Client-Server Systems
Database
OSnet
OSdm
DBMS
OSnet
AP 2
Osnet Network Communications portion of
Operating System Osdm Data management portion
of Operating System
10Distributed Database Systems
Osnet Network Communications portion of
Operating System Osdm Data management portion
of Operating System DDBMS Distributed Database
System
11Distributed Databases
- Single schema with multiple servers
- Not one application connecting to multiple
servers - An application connects to a single server
- Fragmentation of tables
- Horizontal, rows in different servers
- Vertical, columns in different servers
- Replicated, some rows or columns in multiple
servers - Distributed Transactions
- Two phase commit
- Discussion in class