Oracle core DBA:
================
database = storing(INSERT) , manipulating(UPDATE,DELETE) and retrieval(SELECT) of data. DBMS s/w
Oracle - vendor
Oracle Database
-> How the data is going to store inside the database?
TABLES - rows and columns - its the primary database objects
index,views,seq,syn,pro,fun...etc (other oracle database objects)
A database is an organized collection of structured information, or data, typically stored electronically in
a computer system. A database is usually controlled by a database management system (DBMS).
Together, the data and the DBMS, along with the applications that are associated with them, are
referred to as a database system, often shortened to just database.
Data within the most common types of databases in operation today is typically modeled in rows and
columns in a series of tables to make processing and data querying efficient. The data can then be easily
accessed, managed, modified, updated, controlled, and organized. Most databases use structured query
language (SQL) for writing and querying data.
Oracle can be installed in almost 180+ OS's
-> different OS.
Linux - 120+
ubuntu
fedora
centos
redhat
oracle linux
windows
Unix(solars,aix,hp.)
MacOS
-> different hardwards.
Intel - Xeon - processor
IBM - power
Sun sparc
HP -
MSSQL - windows
=> How we are going to interact with the database?
how many different ways we can get the database connection? tools
user - schema (same)
Toad - client s/w
SQL developer - client s/w
own priority s/w (their own application)
putty - remote client tool to connect to linux/unix machines.. by using it we can connect to any
linux/unix.
ip address of linux (database)
oracle username & password
Winscp - for data copy from your laptop to server vice versa.
$ - your os prompt.
SQL> - database prompt
SERVICE_NAMES - orcl
ORACLE_SID(INSTANCE_NAME) - orcl
DB_NAME - orcl
DB_UNIQUE_NAME - orcl
-> Oracle Software versions
11.2.0.1.0
11.2.0.2.0
11.2.0.3.0
11.2.0.4.0
12.1.0.1.0
12.1.0.2.0 - stable version
12.2.0.1.0 - lot of bugs are there.
=> How to find what are the running databases.
Note: Database is running
[oracle@primary ~]$ ps -ef | grep smon
oracle 4263 1 0 07:45 ? 00:00:00 ora_smon_orcl
oracle 8328 7826 0 10:33 pts/1 00:00:00 grep --color=auto smon
ora_ - oracle process
smon_ oracle manadatory background process
orcl - database name / oracle Instance name
Note: Only orcl instance is running.
[oracle@primary ~]$ ps -ef | grep smon
oracle 8383 7826 0 10:36 pts/1 00:00:00 grep --color=auto smon
[oracle@primary ~]$
Note: database is not running
rdp -
=> how to find how many databases are present in linux server.
Afte the software installation.
post "root.sh" script
cat /etc/oratab
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
# The first and second fields are the system identifier and oracle home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
# Multiple entries with the same $ORACLE_SID are not allowed.
orcl:/u01/app/oracle/product/12.1.0/db_home:N
Note: system identifier we also called as Oracle Instance
=> How to get database connection:
[oracle@primary ~]$ sqlplus / as sysdba
bash: sqlplus: command not found...
[oracle@primary ~]$
->Because of your environment variablse are not set.
->you can set environment variablse in 2 different ways
1. Using ".bash_profile"
2. By running ". oraenv" - recommended method
oracle@primary ~]$ . oraenv
ORACLE_SID = [oracle] ?
ORACLE_HOME = [/home/oracle] ?
ORACLE_BASE environment variable is not being set since this
information is not available for the current user ID oracle.
You can set ORACLE_BASE manually if it is required.
Resetting ORACLE_BASE to its previous value or ORACLE_HOME
The Oracle base has been set to /home/oracle
[oracle@primary ~]$ sqlplus / as sysdba
bash: sqlplus: command not found...
[oracle@primary ~]$ . oraenv
ORACLE_SID = [oracle] ? orcl
The Oracle base has been changed from /home/oracle to /u01/app/oracle
[oracle@primary ~]$ echo $ORACLE_SID
orcl
[oracle@primary ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0/db_home
[oracle@primary ~]$ echo $ORACLE_BASE
/u01/app/oracle
rayankulaspr.rc3@gmail.com
Installation of Oracle Database:
================================
linux vm
oracle database 12c software
[oracle@primary ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Mon May 6 10:46:52 2019
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SYS@orcl>show user
USER is "SYS"
SYS@orcl>
Note: "Connected to an idle instance" means, your instance is not running. its not running.
by giving "startup" command, its going to start your instance & opens the database.
SYS@orcl>select status from v$instance;
select status from v$instance
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
SYS@orcl>
SYS@orcl>startup;
ORACLE instance started.
Total System Global Area 1828716544 bytes
Fixed Size 2925552 bytes
Variable Size 603982864 bytes
Database Buffers 1207959552 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SYS@orcl>select status from v$instance;
STATUS
------------
OPEN
SYS@orcl>exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
[oracle@primary ~]$ ps -ef | grep smon
oracle 8749 1 0 10:51 ? 00:00:00 ora_smon_orcl
oracle 8984 7826 0 10:52 pts/1 00:00:00 grep --color=auto smon
[oracle@primary ~]$
Oracle Database Architecture:
=============================
Oracle database server = oracle instance + oracle database files (CRD) or oracle database
C - controlfile
R - redolog file
D - datafiles
Oracle instance = memory structure(RAM) + process structure(CPU) - parameter file
40% of RAM
10 RAM
4 GB - instance
Memory structure(RAM) = SGA + PGA
SGA : system global area or session global area or shared global area -
PGA : program global area or process global area or private global area
database server = oracle instance + oracle database/datafiles
db_name = orcl
= oracle instance + oracle database/datafiles
Oracle Instance(LP) = Memory Strucutre(RAM) + Process Strucut(CPU)
Memory Structure = SGA(System/shared global area) + PGA(Program/private/process global area) -
SGA(System/shared global area): Its again divided into 2 sub memory components.
1).Mandatory memory area:
1. Database buffer cache: blocks and modified blocks(dirty blocks)
2. Redolog buffer cache: redo infor, transaction log. recovery purpose.
DML - ISNERT,UPDAT,DELETE,MERGE
DDL - CREATE,ALTER,DROP,TRUNCATE
3. Shared pool:
Library cache: recently executed SQL & PL/SQL statements for reusing purpose.
(SELECT,INSERT,DELTE,UPDATE)
Data dictinoary cache or row cache: table- persons -its going to store the table definition or
called table structure.
Optimizer - oracle engine.. It generates the best execution plan based on available statistics..
select * from table;
insert
2).Optinal memory area:
1. Large pool : whenever you are taking backup & restore operations
2. Java pool : if we are running (JVM) java related applications.
JVM - java virtual machine.
3. Stream pool :Whenever we are using data replication from one server to other server.
ex: Oracle Steams, Oracle goldengate..
ctwr - change tracking writer..
by default we are using dedicted server configuration
shared server configuration is used very rare.. lot of performance issues will be there
nk buffer
8k default
2k
4k
16k
32k..
Process Strucut(CPU)
--------------------
Process Strucut(CPU) or Background processes:
Mandatory bg processes:
1) SMON - system monitor - it does the instance crash recovery based on the previous abnormal
shutdown.
2) PMON - process monitor - it cleans the PGA, it monitors the all procoesses
3) DBWR - database writer - it writes the dirty/modified blocks from db buffer cache to disk/datafiles
4) LGWR - log writer - it writes the redolog buffer into online redo log(ORL) files.
1. when there is a commit;
2. every 3 sec
3. each 1MB full
4. 1/3rd full of the buffer
5. When it reaches threshould or when there is no space left at Buffer
cache.
log switch
5) CKPT - check point - updates the checkpoint information at controlfiles & datafiles headers.
usage: fast recovery
Optinonal bg processes:
-----------------------
MMON - awr
MMAN - instance tuning
ARCH - Archivelog mode - offline logs.
CTWR..etc - rman backup & recovery
50-60 optional background processes
=> Storage structure:
CRD files are called Database/database files
C - controlfiel
Min - 1 - 10mb
Max - 8
all files contains same data
R - Redolog/Online redolog files
Min - 2
Max - depens your database desize
both must be same sizes..
D - Datafiles
SYSTEM - store data dictionary / meta data information
SYSAUX - auxiliary to SYSTEM datafile
UNDO - old value
TEMP - for sorting purpose. ORDER BY , GROUP BY.. etc
USERS - here actually your company data / project data is going to store permanentily.
-> how to find how many databases are present in linux server.
cat /etc/oratab
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
# The first and second fields are the system identifier and home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
# Multiple entries with the same $ORACLE_SID are not allowed.
orcl:/u01/app/oracle/product/12.1.0/db_home:N
Note: system identifier we also called as Oracle Instance
-> how to find what are the running databases.
Note: Database is running
[oracle@primary ~]$ ps -ef | grep smon
oracle 4263 1 0 07:45 ? 00:00:00 ora_smon_orcl
oracle 8328 7826 0 10:33 pts/1 00:00:00 grep --color=auto smon
ora_ - oracle process
smon_ oracle background process
orcl - oracle Instance name
Note: Only orcl instance is running.
Note: database is not running
[oracle@primary ~]$ ps -ef | grep smon
oracle 8383 7826 0 10:36 pts/1 00:00:00 grep --color=auto smon
[oracle@primary ~]$
Western Union
Paypal -
rdp -
-> How to get database connection:
[oracle@primary ~]$ sqlplus / as sysdba
bash: sqlplus: command not found...
[oracle@primary ~]$
->Because of your environment variablse are not set.
->you can set environment variablse in 2 ways
1. Using .bash_profile
2. By running . oraenv
oracle@primary ~]$ . oraenv
ORACLE_SID = [oracle] ?
ORACLE_HOME = [/home/oracle] ?
ORACLE_BASE environment variable is not being set since this
information is not available for the current user ID oracle.
You can set ORACLE_BASE manually if it is required.
Resetting ORACLE_BASE to its previous value or ORACLE_HOME
The Oracle base has been set to /home/oracle
[oracle@primary ~]$ sqlplus / as sysdba
bash: sqlplus: command not found...
[oracle@primary ~]$ . oraenv
ORACLE_SID = [oracle] ? orcl
The Oracle base has been changed from /home/oracle to /u01/app/oracle
[oracle@primary ~]$ echo $ORACLE_SID
orcl
[oracle@primary ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0/db_home
[oracle@primary ~]$ echo $ORACLE_BASE
/u01/app/oracle
Installation of Oracle Database:
================================
linux vm
oracle database 12c software
[oracle@primary ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Mon May 6 10:46:52 2019
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SYS@orcl>show user
USER is "SYS"
SYS@orcl>
Note: "Connected to an idle instance" means, your instance is not running. its not running.
by giving "startup" command, its going to start your instance & opens the database.
SYS@orcl>select status from v$instance;
select status from v$instance
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
SYS@orcl>
SYS@orcl>startup;
ORACLE instance started.
Total System Global Area 1828716544 bytes
Fixed Size 2925552 bytes
Variable Size 603982864 bytes
Database Buffers 1207959552 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SYS@orcl>select status from v$instance;
STATUS
------------
OPEN
SYS@orcl>exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
[oracle@primary ~]$ ps -ef | grep smon
oracle 8749 1 0 10:51 ? 00:00:00 ora_smon_orcl
oracle 8984 7826 0 10:52 pts/1 00:00:00 grep --color=auto smon
[oracle@primary ~]$
----------------------------------------------------------------------------------------------
Oracle database s/w installation & database creation:
=====================================================
OS RHEL6
https://drive.google.com/open?id=1CQe_MZAusj0_VON_HuU9vprudtmJ9YHf
VMware:
https://drive.google.com/open?id=1YgczgGLTwLLn7BMR_2lpVaU7RTVr-aur
Oracle 12c RDMBS
https://drive.google.com/open?id=0B_ZPVgETJCKnREdoYk9WbzBFOG8
Windows Server 2016 only OS
we have to do two thins now.
1. Oracle database software installation
2. Oracle database creation -
GUI - dbca - database configuration assistant
CLI - sql script
database name you can give anything - not more than 8 characters
SID - system identifier (Instance)
-> whenever you are going to create database, by default there must be one install created.
Instance name is same as database name by default.
-> Enterprise manager(EM) database express -
its a graphiscal web tool to manage and monitor the database.
-> A database can be configured with two different options
1. Standalone database
2. Cluster database - RAC - Real application cluster (SQL server - Always on)
----------------------------------------------------------------------------------------------
Initilization paramter file(pfile or spfile):
=============================================
STARTUP =
Starting the instance
Mouting the database
Opening the database.
oracle database = oracle instance + oracle database files.
pfile - paramter file - ASCII text file
spfile - server parameter file - Binary file
381 paramters are there..
parameter_name = parameter_Value
spfile = /u01/app/oracle/product/12.1.0/db_home/dbs/spfileDEV.ora
db_name = orcl
instance_name = orcl
control_files = "......"
10-15 is enough - non-default parameters
the remaining all - default parameters
$ORACLE_HOME/dbs - linux/unix
$ORACLE_HOME/database - windows
pfile - init$ORACLE_SID.ora - initorcl.ora
spfile - spfile$ORACLE_SID.ora - spfileorcl.ora
Note: we are having something called dynamic parameters views related to paramter
values..V$PARAMETER; - 3000 (10-15)
ALTER SYSTEM SET <PARAMETER_NAME> = <PARAMETER_VALUE> SCOPE=both(default);
SYS@orcl>alter system set undo_retention=900 scope=memory/spfile/both;
memory -> for the current running instance, the value is modifying at memory level
spfile -> for the next restart of the database, the valus modifying at spfile level
both(default) -> Memory + Spfile = Its modifying the value at memory level + sfile level.
381..
250 static
130 dynamic
Few parameters sre static - spfile
Few parameters are dynamic - memory or both
ISSYS_MOD
---------
IMMEDIATE - Dynamic
FALSE - Static
DEFERRED - Dynamic
-> Data dictinoary views / meta data
v$ views - 5000+
SYS@orcl>;
1* select NAME,VALUE,ISSYS_MODIFIABLE from v$parameter where name='undo_retention'
SYS@orcl>/
NAME VALUE ISSYS_MODIFIABLE
---------------------------------------- ---------------------------------------- ----------------------------------------
undo_retention 900 IMMEDIATE
-> how do you know which is static and which dynamic
SYS@orcl>select NAME,VALUE,ISSYS_MODIFIABLE from v$parameter where name='processes';
NAME VALUE ISSYS_MODIFIABLE
---------------------------------------- ---------------------------------------- ----------------------------------------
processes 300 FALSE
SYS@orcl>select NAME,VALUE,ISSYS_MODIFIABLE from v$parameter where ISSYS_MODIFIABLE='FALSE'
order by 1;
-> What about my pfile and spfile got lost/deleted.
when the database is up and running -
sql> create spfile from memory;
when the database is in shutdown state -
alert_$ORACLE_SID.log file
alert.log file - note
[oracle@localhost ~]$ cd
$ORACLE_BASE/diag/rdbms/db_name/instance_name/trace/alert_$ORACLE_SID.ora
Startup & Shutdown database:
============================
1. shutdown (normal) - default - client connection can not be disconnected and it waits until clients to
logout
2. shutdown transactional - if any DML is happening and user didnt do either commit/rollback, then it
wont shutdown until user to do eithr commit/rollback.
3. shutdown immediate - recommened by oracle - will not wait for idle sessions, & will not wait for
commit/rollback
4. shutdown abort - abnormal termination - it kills the instance before closing the database files. not
recommended.
5. startup force(restart) - abnormal termination - shutdown abort + startup (like restart) - not
recommened
shutdown or shut
SYS@orcl>shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@orcl>
SYS@orcl>
SYS@orcl>startup (open)
ORACLE instance started. - nomount - parameter file
Total System Global Area 1828716544 bytes
Fixed Size 2925552 bytes
Variable Size 637537296 bytes
Database Buffers 1174405120 bytes
Redo Buffers 13848576 bytes
Database mounted. - controlfile required.
Database opened.
SYS@orcl>
[oracle@primary ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Sat May 18 07:58:03 2019
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SYS@orcl>
SYS@orcl>
SYS@orcl>select status from v$instance;
STATUS
------------
OPEN
SYS@orcl>shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@orcl>
SYS@orcl>
SYS@orcl>startup
ORACLE instance started.
Total System Global Area 1828716544 bytes
Fixed Size 2925552 bytes
Variable Size 637537296 bytes
Database Buffers 1174405120 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SYS@orcl>shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@orcl>exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
Startup modes:
--------------
startup nomount - 1
startup mount - 2
startup (open) - 3
SYS@orcl>startup
ORACLE instance started.
Total System Global Area 2147483648 bytes
Fixed Size 2926472 bytes
Variable Size 1358956664 bytes
Database Buffers 771751936 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SYS@orcl>
statup - start the instance(nomount-pfile/spfile) + mounting database(controlfile) + open the
database(r&d)
[oracle@primary ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Sat May 18 08:21:22 2019
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SYS@orcl>startup nomount;
ORACLE instance started.
Total System Global Area 1828716544 bytes
Fixed Size 2925552 bytes
Variable Size 637537296 bytes
Database Buffers 1174405120 bytes
Redo Buffers 13848576 bytes
SYS@orcl>select status from v$instance;
STATUS
------------
STARTED
SYS@orcl>alter database mount;
Database altered.
SYS@orcl>select status from v$instance;
STATUS
------------
MOUNTED
SYS@orcl>alter database open;
Database altered.
SYS@orcl>show parameter control_Files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/orcl/c
ontrol01.ctl, /u01/app/oracle/
fast_recovery_area/orcl/contro
l02.ctl
SYS@orcl>
Note: The end user/client/customer/developer is able to connect to database only, if the database is in
OPEN state and not in NOMOUNT&MOUNT states.
SMON is the background process. it does the instance crash recovery by reading database
archive/online redolog files to apply commited data and to rollback uncomitted data.
startup
Alert.log file:
===============
database logfile is called as Alert.log file
It records all the errors & administrative commands.
Used this file for troubleshooting the database.
alert_ORACLE_SID.log
C:\app\Administrator\diag\rdbms\orcl\orcl\trace
[oracle@server1 DEV]$ pwd
/u01/app/oracle/diag/rdbms/dev/DEV - ADR - automatic diagnostic repository
[oracle@server1 DEV]$ ls
alert cdump hm incident incpkg ir lck log metadata metadata_dgif metadata_pv stage sweep
trace
[oracle@server1 DEV]$
[oracle@primary ~]$ cd $ORACLE_BASE/diag/rdbms/orcl/orcl/trace
[oracle@primary trace]$ pwd
/u01/app/oracle/diag/rdbms/orcl/orcl/trace
[oracle@primary trace]$ ls -l alert_orcl.log
-rw-r-----. 1 oracle oinstall 18135257 May 20 10:14 alert_orcl.log
[oracle@primary trace]$
textpad - software is recommended for alert.log file
for every log switch - alert.log
db - alert.log file
alert_$ORACLE_SID.log
alert_orcl.log
Using Trace Files:
==================
/u01/app/oracle/diag/rdbms/orcl/orcl/trace
each
server - trace files
u1 - server process - SELECT * FROM -- ORA-00600
background - trace files
dbwr trace file
Each server and background process can write to an associated trace file.
Error information is written to the corresponding trace file.
Automatic diagnostic repository (ADR)
– Is a system wide central tracing and logging repository
– Stores database diagnostic data such as:
— Traces
— Alert log
— Health monitor reports
orcl_arc3_2911.trc - background process trace file
orcl_ora_2899.trc - server process trace file
tkprof - trace kernel profile
Database Administration -
SELECT
INSERT
DELETE
UPDATE....
Join
Trace file C:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_aqpc_484.trc
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
Windows NT Version V6.2
CPU : 2 - type 8664, 2 Physical Cores
Process Affinity : 0x0x0000000000000000
Memory (Avail/Total): Ph:794M/3102M, Ph+PgF:1881M/4446M
VM name : VMWare Version (6)
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 30
Windows thread id: 484, image: ORACLE.EXE (AQPC)
*** 2020-03-23 09:23:48.498
*** SESSION ID:(17.15742) 2020-03-23 09:23:48.498
*** CLIENT ID:() 2020-03-23 09:23:48.498
*** SERVICE NAME:(SYS$BACKGROUND) 2020-03-23 09:23:48.498
*** MODULE NAME:() 2020-03-23 09:23:48.498
*** CLIENT DRIVER:() 2020-03-23 09:23:48.498
*** ACTION NAME:() 2020-03-23 09:23:48.498
kwsbgcoord: AQ Process coord started init = 1 enabled = 1
kwsbgInitFmPMaster: MasterCreated
kwsbgInitFmPMaster: MasterCreated
Dynamic Performance Views & Oracle Metadata(data dictinoary):
=============================================================
Dynamic Performance Views:
--------------------------
Sessions
File states
Progress of jobs and tasks
Locks
Backup status
Memory usage and allocation
System and session parameters – v$parameter
SQL execution
Statistics and metrics... etc
v$database,v$instance,V$datafile...etc
V$ views & owned by SYS user
all v$ views are called dynamic performance views.
whenever you are going to create database, it contaisn 2 types of oracle system objects.
Dynamic data - dynamic performance views - you can see in nomount,mount and open state
Static data - Oracle Metadata - Oracle data dictionary views(sturcure) -= only open state
ALL_ views
DBA_ views can be accessed only SYS user.
USER_ views can be accessed by any user (normal user)
all static views are going to store at SYSTEM tablespace level.
B - t1,t2
tables
indexes
views
sequences
synonym
sschemas
...etc
size of schema
tablesapces names
users names
..etc
DICTIONARY
how to know the existing users at the database level. DBA_USERS
how to know tables/objects DBA_TABLES, DBA_OBJECTS
how to know size of table
how to know number of table/sobject
how to know connected users....etc - V$SESSION
v$instance;
ps -ef | grep smon-
smon
everyday we are going to work with these metadata & dynamic views..
v$parameter
v$instance
v$database
v$datafile...etc
we are having 2 types of users.
1. system internal - SYS & SYSTEM
2. normal user/ application users