1. Database Architecture
- Components:
- Instance: Memory structures and background processes.
- Database: Physical files (data files, control files, redo log files).
- Physical Files:
- Data Files: Store actual data.
- Control Files: Metadata about the database.
- Redo Log Files: Track changes for recovery.
2. Connecting to Oracle Database
- SQL*Plus Connection:
sqlplus sys as sysdba
3. User Management
- Create User:
CREATE USER username IDENTIFIED BY password;
- Grant Privileges:
GRANT privilege TO username;
- Create Roles:
CREATE ROLE role_name; GRANT privilege TO role_name; GRANT role_name TO username;
- Drop User:
DROP USER username CASCADE;
4. Schema Management
- Show All Users:
SELECT username FROM all_users;
- Show All Schemas:
SELECT username FROM dba_users;
5. Tablespace Management
- Create Tablespace:
CREATE TABLESPACE tablespace_name DATAFILE 'datafile_name.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
- Show Tablespaces:
SELECT tablespace_name, status FROM dba_tablespaces;
- Drop Tablespace:
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
- Add Datafile:
ALTER TABLESPACE tablespace_name ADD DATAFILE 'newfile.dbf' SIZE 50M;
6. Database Backup and Recovery
- Backup Command (RMAN):
RMAN> BACKUP DATABASE;
- Restore Command (RMAN):
RMAN> RESTORE DATABASE;
- Recover Command (RMAN):
RMAN> RECOVER DATABASE;
7. Monitoring and Performance Tuning
- View Current Sessions:
SELECT * FROM v$session;
- Check System Load:
SELECT * FROM v$load_average;
- View Wait Events:
SELECT * FROM v$load_average;
- View Top SQL Queries:
SELECT * FROM v$sql ORDER BY executions DESC;
- Check Instance Performance:
SELECT * FROM v$instance;
8. User and Role Management
- Show User Privileges:
SELECT * FROM dba_sys_privs WHERE grantee = 'username';
- Show Role Privileges:
SELECT * FROM role_sys_privs WHERE role = 'role_name';
- Revoke Privileges:
REVOKE privilege FROM username;
9. Network Configuration
- Listener Configuration:
- Check Listener Status:
lsnrctl status
- Start Listener:
lsnrctl start
- Stop Listener:
lsnrctl stop
- Check Listener Status:
- TNS Configuration (tnsnames.ora):
DATABASE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = service_name) ) )
10. Backup Strategies
- Full Database Backup:
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
- Incremental Backup:
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
- Validate Backup:
RMAN> VALIDATE BACKUPSET;
11. Data Dictionary Views
- User Views:
- User Objects:
SELECT object_name, object_type FROM user_objects;
- User Objects:
- Schema Views:
- All Objects:
SELECT object_name, object_type FROM all_objects;
- All Objects:
- DBA Views:
- All Users:
SELECT username FROM dba_users;
- All Users:
12. Security Management
- Enable Auditing:
AUDIT SELECT ON table_name BY username;
- View Audit Trails:
SELECT * FROM dba_audit_trail;
13. Data Pump (Export/Import)
- Export Data:
expdp username/password DIRECTORY=dpump_dir DUMPFILE=export.dmp LOGFILE=export.log SCHEMAS=schema_name;
- Import Data:
impdp username/password DIRECTORY=dpump_dir DUMPFILE=export.dmp LOGFILE=import.log;