enmo_day_08

时间:2023-03-09 02:34:16
enmo_day_08

性能监视

管理内存组件

自动内存管理(AMM) : 指定分配给实例的总内存(SGA, PGA)

自动共享内存管理(ASMM) : 指定SGA, 管理分配给共享池, java池,

动态性能视图 :v$(GV$)开头的,其内容是实例运行过程中从SGA和控制文件动态中获得,持续更新。主要与性能相关。实例关闭时,这些视图被删除

静态数据字典视图 :DBA_(USER_, ALL_)开头的,其内容是从数据文件中获得的,实例关闭,视图仍在知识不可访问。

create user test identified by test account unlock;

create user hr1 identified by hr1 account unlock;

grant connect, resource to hr1;

conn hr/hr

select table_name from user_tables;

conn hr/hr

select table_name from user_tables;

grant select on emp to hrs;

conn hr1/hr1

desc hr.emp

select * from hr.emp;

eg : 建一个只读用户 :

spool 1.slq

select ‘grant select on ‘||table_name||’ to hr1’ from user_tables;

spool off

ls

vi 1.sql

Oracle 不允许直接访问 X$表,所以在这些表上创建视图,再创建这些视图的同义词,再实例运行时允许访问,实例终止时清楚。

Oracle先创建x$表即RDBMS的内部表

在x$表的基础上创建GV$视图, 为满足OPS环境的需要即集群环境的需要

根据GV$创建V$视图

eg :

sqlplus  as sysdba

desc v$database

desc v$spparameter

select sid, name, type, value, isspecified form v$spparameter;

若先讲列宽设小了,可以再设置大些,然后退出数据库,再登陆查看 :

select * from v$sga;

col value format a10

select * from v$sga;

col value fromat a10

exit

sqlplus / as sysdba

select * from v$sga

desc v$sgainfo

select * from v$sgainfo

show parameter buffer; : 模糊搜索

show parameter targer;

10g : SGA可由SGA_TARGET参数控制,用户不必关心里面具体池(shared pool, db buffer cache等大小—),SGA_TARGET 最大值不超过SGA_MAX_SIZE.

PGA是PGA_AGGREGATE_TARGET控制的

show parameter sga;

alter system set sga_target=800m;

show parameter sga

alter system set sga_target = 960; (sga_max_size = 900m)

alter system set sga_target = 0m;

alter system set sga_max_size = 980m;

alter system set sga_max_size = 980m scope - spfile;

show parameter sga;

shu immediate; (sga_max_size cannot to set to be more than memory_target)

shu abort

startup

MEMORY_TARGET :

PGA_AGGREATE_TARGET :

参数文件改错后,可以做一个spfile,再启动

cd $ORACLE_HOME/dbs

ls

vi spfilePROD1.ora

vi initPROD1.ora

sqlplus / as sysdba

create spfile from pfile;

startup

show parameter sga;

DB_KEEP_CACHE_SIZE : 必须手动修改,设置大小必须重启

eg :手动改,并重启数据库

alter system set log_buffer = 5811820 scope=spfile;

show parameter log_buffer

startup force

show parameter log_buffer

eg :

select * from v$sgainfo;

show parameter db

alter system set db_cache_size=8194304;

show parameter db_cache_size;

select * from v$sgainfo;

alter system set db_cache_size=2194304;

show parameter db_cache_size

note : granule size 最小粒度

v$log : 日志视图

eg :

desc v$log

select * from v$log;

select group#, sequence#, bytes/1024/1024, members, archived, status from v$log;

V$LOG的status :

unused :

current  :

active :

inactive :

cleaning :

cleaning_current :

v$session的status :

eg :

alter system kill session ‘sid, serial#’;

select saddr, sid, serial#, paddr, username, tatus from v$session;

移动数据

SQL Loader : 平文本文件通过SQL Loader, Oracle服务器插入数据

数据泵导出和导入

ecpdp

impdp

dumpfile  转储文件

select * from dba_directories;

drop directory dump_test;

create directory dump_test as ‘/home/oracle’;

show user;

grant read, write on directory dump_test to hr;

vi expdump.para

expdp hr/hr parfile=expdump.para