性能监视
管理内存组件
自动内存管理(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