oracle 数据同步复制故障解决
故障解决:oracle10g 数据库复制同步
呵呵。oracle我是个菜鸟,没花功夫研究它,但我还是兼任dba,目前oracle全部是由以前的dba创建的,oracle确实好。基本没有出过问题,我也就基本不管它了,可是由于自己粗心大意,在一次修改服务器地址时候,数据库里的tns...这个配置文件忘了修改,结果导致同步失败,等我发现的时候,发现已经失效,结果我花了2天时间,才得以解决。。。
先说说问题的发现
我有2台服务器,分别放置于不同机房,系统都为linux,数据库都为oracle10g,俩台数据库之间定时同步数据,有一次我更改了一台服务器地址,后来发现oracle同步出现故障,故障为broken 的值为Y,FAILURES=16,经过google ,说是broken =Y,FAILURES=16就是表示此job 失效,就是不再执行。
故障解决:
经过了无数次的google。。。。。我解决过程如下:
首先用oracle帐号登陆进数据库
sqlplus / as sysdba
然后查询dba_jobs情况
select job,next_date,next_sec,failures,broken from dba_jobs;
于是我运行
execute dbms.job.run(这里是停止了的job-id号)
发现无法运行。
这时发现failures 为16 , broken 为 Y
经过google,job如果由于某种原因未能成功之行,oracle将重试16次后,还未能成功执行,将被标记broken为Y(说明此工作将标记为破,而FLASE说明此工作将标记为未破)
现在看来这个job为破了,那就先将它改为未破
execute dbms.job_broken(id号,false,next_date);
说明一下:
id号:是停止了job所标示的唯一号
false:表示将broken 设置为false,意思就是未破啦
next_date:表示下一次此job运行的时间。
运行以上命令后,发现提示一下:
提示错误如下:
ORA-23421: job number 109 is not a job in the job queue
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_IJOB", line 529
ORA-06512: at "SYS.DBMS_JOB", line 258
ORA-06512: at line 2
通过查询,才明白,如果你是以sys登录数据库的话,如果运行其他用户的job,必须使用SYS.DBMS_IJOB,如果是当前用户登录运行当前用户的job,就用SYS.DBMS_JOB,这我才明白。重新输入上述代码::
execute sys.dbms_ijob.broken(id号,false,next_date);
输入后完成,显示成功
然后提交 commit;
这时在查询job表的broken,发现那个为破的job,现在以改为未破 N。
接下来在运行execute dbms_ijob.run(id)
发现自动停止,在察看又发现broken 又变为
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
oracle行转列通用过程(转)
环境oracle 10g
工作关系,常做些行转列报表,报表通常不是在大数据集合上处理.
所以写了个过程.
本过程比较适合在于需要动态输出报表的地方,例如web中.
不是很完美,但已经可以解决绝大部分的问题.
create or replace function func_RowToCol(
viewName Varchar2,
grpCols Varchar2,
colC ......
1.约束
作用:
约束用于确保数据库数据的完整性,在oracle数据库中,可以使用约束,触发器和应用代码(过程,函数)3种方法实现数据完整性,这3种方法中,因为约束易于维护,并且具有最好的性能,所以实现数据完整性首选约束.
分类:
约束的种类有:not null,unique,primary key,foreign key,check
Not null确保字段值不能为空
......
我们假设是数据库管理员,为了数据库的安全,我们需要知道当前有多少连接数,最大支持多少连接数,可以用以下语句查询
select username,count(username),machine,status from v$session
&n ......
ORACLE触发LGWR日志写进程的条件
当某个事务提交时
当重做日志缓冲区中变化的记录超过1MB时
当重做日志缓冲区中所存的记录已超过缓冲区容量的1/3
在DBWR将数据库高速缓冲区中修改过的数据块写到数据文件之前
每3秒钟
......