ORACLE管理学习第五天

一、管理作业队列
1、指定在一个实例上能够并发运行作业队列(Jnnn)进程的最大数目
2、DBMS_JOB包所包含的过程功能详解
3、将作业提交到作业队列
4、关于作业号码
5、关于执行间隔
6、作业队列锁
7、删除作业
8、将作业标识为损坏
9、相关视图
二、管理表空间
1、字典管理表空间和本地管理表空间
2、创建表空间
3、修改临时文件
4、永久表空间与临时表空间的转化
5、手动合并空闲空间
6、修改表空间的可用性
7、只读表空间
8、取消表空间
9、DBMS_SPACE_ADMIN
10、在数据库间传输表空间
11、相关视图

[@more@]

一、管理作业队列
1、指定在一个实例上能够并发运行作业队列(Jnnn)进程的最大数目
job_queue_processes:动态参数,范围为0-1000,0表明在数据库启动时不启动任何作业队列协调程序进程,并且因此不执行任何作业队列中的作业。
2、DBMS_JOB包所包含的过程功能详解
submit:将作业提交到作业队列。
remove:从作业队列中删除指定的作业。
change:对已经提交到作业队列中的指定作业进行修改。可以更改该作业的说明,作业运行的时间或者执行作业的间隔。
what:对指定的作业修改作业说明。
next_data:修改指定作业的下一次执行时间。
interval:修改指定作业的执行间隔。
broken:设置或重新设置作业损坏标记。如果作业标记为损坏,那么ORACLE不能执行该作业。
run:强制执行某个指定的作业。
--以上每一过程都可以单独使用
3、将作业提交到作业队列
  PROCEDURE Submit ( job OUT binary_ineger,--输出参数。分配给正在创建的作业的标识符,即作业号码。
  What IN varchar2,--这是希望执行的PL/SQL代码
  next_date IN date,--这是作业下一次运行的日期。默认值是sysdate.
  interval IN varchar2,--这是用来计算下一次作业执行时间的日期函数。默认值为NULL。
  no_parse IN booean:=FALSE)--这是一个标记。如果该参数设置为FALSE(默认值),那么ORACLE将分析与作业相关联的过程。如果该参数设置为TRUE,那么ORACLE将分析与首次执行的作业相关联的过程。
4、关于作业号码
取值来源于SYS.JOBSEQ序列,作业导入导出时作业号码保持不变
5、关于执行间隔
两种方式
A、两次任务之间间隔多少时间
sysdate+7,代表间隔七天;sysdate+1,代表间隔半小时
注意:间隔是指执行完到下一次执行,并不是指执行开始间的间隔
B、固定时间点
'next_day(trunc(sysdate),"MONDAY")+15/24',代表每个星期一的下午3点执行
'next_day(add_months(trunc(sysdate,"Q"),3),"MONDAY")',代表每季度的第一个星期四
6、作业队列锁
select t.SID 标识符,t.TYPE 锁类型,t.ID1 锁标识符,t.ID2 锁标识符2 from v$lock t where t.TYPE = 'JQ';
JQ锁的ID1列通常为0,ID2列是会话程序正在运行的作业的作业号码。
可以与DBA_JOBS_RUNNING视图进行连接,以获取更多的作业信息
7、删除作业
DBMS_JOB.REMOVE(作业号);
8、将作业标识为损坏
DBMS_JOB.BROKEN(作业号,true);
9、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running:列出当前运行的所有作业
二、管理表空间
1、字典管理表空间和本地管理表空间
本地管理的表空间使用位图(代替了数据字典)来跟踪已用的和空闲的空间。--从ORACLE8I开始有
默认的非SYSTEM的永久表空间是本地管理的。
2、创建表空间
AUTOALLOCATE选项:默认的,使ORACLE自动管理盘区。管理表空间的简化方法,会浪费空间。
UNIFORM SIZE选项:指定使用一个指定大小的统一盘区来管理。准确控制表空间。
表空间创建语句
create [temporary] tablespace tb1
datafile|tempfile '路径'
size 50M
extent management local|dictionary --该字句说明是本地管理还是字典管理
uniform size 128K|autoallocate --本地管理所有,在盘区位图中,每个128K的(如果该表空间块的大小为4K,等于32个ORACLE块)由一位(bit)来表示
segment space management auto|manual--如何管理在一个段中空闲的和已用的空间。
--MANUAL,默认值,使用段中的空闲列表管理空闲空间,传统方法。AUTO使用位图来管理段中的空闲空间,更简单、更有效。
blocksize 8k --为了使用此子句,必须设置DB_CACHE_SIZE和至少一个DB_nK_CACHE_SIZE初始化参数
default storage (--字典管理所有子名
initial 60k --第一个盘区
next 60k --第二个盘区
minextents 2 --第一次创建一个段时所分配的盘区数
maxextents 50 --确定一个段可以拥有的最大数。也可以指定为UNLIMITED。
pctincrease 0 --指定第二个盘区后的每个盘区增长的百分比
);
3、修改临时文件
alter database tempfile '' offline|online;--修改脱机和联机
alter database tempfile '' drop including datafiles;--取消并删除相应的操作系统文件
4、永久表空间与临时表空间的转化
字典管理的永久表空间可以改变为临时表空间,--alter tablespace tb1 temporary;
但本地管理的无法变为临时表空间
5、手动合并空闲空间
alter tablespace ... coalesce;
6、修改表空间的可用性
A脱机,可指定下列任何选项
NORMAL:数据文件不存在错误状态,正常脱机,设置检测点
TEMPORARY:暂时脱机,即使数据文件存在错误状态,设置检测点。只有在不能使表空间正常脱机时使用。
IMMEDIATE:立即脱机,在数据文件上不设置检测点,需要介质恢复。如果在非归档模式,不能使一个表空间立即脱机。
FOR RECOVER:使在恢复中的数据库表空间为表空间point-in-time恢复设置为脱机。
eg.alter tablespace tb1 offline normal;
B联机
alter tablespace tb1 online;
注意:以上语句不能用于临时表空间或其临时文件
7、只读表空间
使一个表空间只读防止对该表空间中所有表的更新,不管一个用户的更新权限级别。
alter tablespace tbs1 read only;
alter tablespace tbs1 read write;--使只读表空间可写
延迟只读表空间的打开:设置参数read_only_open_delayed为true
8、取消表空间
drop tablespace tbs1
including contents
and datafiles;
9、DBMS_SPACE_ADMIN
该包只适用于本地管理的表空间。
10、在数据库间传输表空间
约束条件:同一操作系统平台,相同字符集和本国字符集,名称不重复。不支持物化视图、函数索引、规定范围的REF

过程描述:
a、选择一个自含式(自包含)表空间集合
自含式表示没有从表空间集合内指向表空间外的引用。
调用DBMS_TTS包中TRANSPORT_SET_CHECK过程进行检查。
excute DBMS_TTS.TRANSPORT_SET_CHECK('tbs1',true);--第一个参数表空间名称,第二参数是否包含约束条件。
执行完后查看TRANSPORT_SET_VIOLATIONS,如果为空表明合法。
b、生成一个可传输表空间集合
将表空间置为只读:alter tablespace tbs1 read only;
用EXP生成输出文件:exp transport_tablespace=y
tablespaces=(tbs1,tbs2)
triggers=y
constraint=n
grants=n
file=d:expdat.dmp
c、传输该表空间
将表空间的数据文件和输出文件两者复制到一个目标数据库可以访问的位置
d、插入该表空间
imp userid='sys/system as sysdba'
transport_tablespace=y
file='d:expdat.dmp'
datafiles='d:EXAMPLE01.DBF'
tablespaces=(tbs1,tbs2)
tts_owners=(user1,user2)
fromuser= (user1,user2)
touser(user3,user4)
11、相关视图
v$sort_segment:查看一个临时表空间排序段的空间分配和回收情况,
v$sort_usage:标识出上面视图中各个段的当前排序用户
dba_free_space:用于监视表空间中的空闲空间
dba_free_space_coalesced:显示合并动作的统计情况。
v$tablespace:表空间名称和编号
dba_tablespace,user_tablespace:表空间说明
dba_segments,user_segments:表空间中的段的信息
dba_extents,user_extents:表空间中的数据盘区的信息
dba_free_space,user_free_space:表空间中的盘区的信息
v$datafile:所有数据文件的信息,包括所属表空间的表空间号
v$tempfile:关于所有临时文件的信息,包括所属表空间的表空间号
dba_data_files:显示属于表空间的文件(数据文件)
dba_temp_files:显示属于临时表空间的文件(临时文件)
v$temp_extent_map:所有本地管理的临时表空间中的所有盘区的信息
V$temp_extent_pool:对于本地管理的临时表空间,由每个实例缓存和使用的临时表空间的状态
V$temp_space_header:显示每个临时文件的已用/空闲空间

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/594892/viewspace-926672/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/594892/viewspace-926672/

你可能感兴趣的:(ORACLE管理学习第五天)