ORA-01187: cannot read from file because it failed verification tests

今天去DG备库上生成报告,然后给了一段提示:

ORA-01187: cannot read from file  because it failed verification tests
ORA-01110: data file 201: ‘/oradata/seven/temp01.dbf’

临时表空间坏了?查看一下大小,跟主库不一样,主库6G,备库只有50M,真是怪了。

SQL>SELECT FILE_ID,FILE_NAME, STATUS FROM DBA_TEMP_FILES;

ERROR at line 1:
ORA-01187: cannot read from file 201 because it failed verification tests
ORA-01110: data file 201: ‘/u03/oradata/AGX/temp01.dbf’

SQL> select name,bytes/1024/1024,status from v$tempfile;

NAME                           BYTES/1024/1024 STATUS


/oradata/seven/temp01.dbf                   30 ONLINE

直接开干吧,老外说可以让系统检查一下,我试了一下,没用:

SQL>ALTER SYSTEM CHECK DATAFILES;

删除临时文件:

SQL> alter database  tempfile ‘/oradata/seven/temp01.dbf’ drop;

Database altered.

SQL> select name,bytes/1024/1024,status from v$tempfile;

no rows selected

重新添加临时数据文件:

SQL> alter tablespace temp add tempfile ‘/oradata/seven/temp01.dbf’ size 30M reuse autoextend on;

Tablespace altered.

SQL> select name,bytes/1024/1024,status from v$tempfile;

NAME                           BYTES/1024/1024 STATUS


/oradata/seven/temp01.dbf                   30 ONLINE

jenkins增加sonarqube检查java代码

准备工作:

1、jenkins

jenkins的工作方法有两种,这里随意,哪种都可以,我是选择放在了tomcat里面,便于管理。

2、sonarqube6.7.7 LTS

这里说明一下为什么要选6.7.7这个版本,因为后来从7版本开始,好像就不支持MySQL了,只支持Oracle,PostgreSQL,MSSQL。之前的版本启动的时候又提示什么版本太旧,不是Long Team Support版,所以干脆就选择了6.7.7这个LTS版。

3、MySQL5.6

手上只有这个版本的包,又懒得去下载,就用这个了。

CentOS自带的Mariadb版本太低,SonarQube不支持,不然就用自带的了。

阅读更多

Oracle expdp:ORA-31634: job already exists

今天去服务器上拖备份文件的时候,发现备份文件没了,奇怪。然后就手工备份,结果Oracle就给了这个提示ORA-31634: job already exists。

这又是什么妖蛾子?按照网上提供的方法来一下:

PL/SQL或者Navicat连上去:

select ‘drop table ‘ || owner_name || ‘.’ || job_name || ‘;’

from dba_datapump_jobs

where state = ‘NOT RUNNING’

然后出现一大串,序号从1到99,这应该是job队列满了,清理吧,把所有列出来全干掉:

drop table YOURDATA.SYS_EXPORT_FULL_01 PURGE;

ORA-01102: cannot mount database in EXCLUSIVE mode

今天测试服务器的Oracle突然关闭了,测试组跟我说的时候我就直接上去startup了一下,结果Oracle的提示有点不对劲。

SQL> startup mount
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size 2260088 bytes
Variable Size 331350920 bytes
Database Buffers 729808896 bytes
Redo Buffers 5517312 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

这可让我觉得有点奇怪了。

逐网上找了下资料,发现有人的解决办法比较简单粗暴,直接删除/u01/app/oracle/product/10.2.0/db_1/dbs/lkEPPS文件,但是后来又出现其它错误。

有个老外写的方法比较靠谱,我这里使用的就是老外的方法,都是些简单的英语,记录下来备用。

阅读更多

nginx网址后自动添加斜线

原因:

公司的前端nginx,之前做的upstream负载,后来更新,直接放在了目录下面,所以之前用的地址xxxx.com/xxx就变成了xxxx.com/xxx/,但是大多数人收藏夹里放的是不带斜线/的。新地址因为放在了目录下面,实际上nginx是可以自动添加斜线的,但添加后的地址不正确,这里就要用的nginx的两个参数:

1、server_name_in_redirect on(默认),URL 重定向为: server_name 中的第一个域名 + 目录名 + /;
2、server_name_in_redirect off,URL 重定向为: 原 URL 中的域名 + 目录名 + /。

port_in_redirect off

如果port_in_redirect为off时,那么始终按照默认的80端口;如果该指令打开,那么将会返回当前正在监听的端口。

因为公司的nginx是443端口,原先在访问的时候自动把端口号弄上去了,所以就把port_in_redirect off掉就行了。

centos7安装oracle11gR2

最近频繁在centos7下安装oracle11gR2,网上各种文章,找到了这篇比较靠谱,其中有在安装过程中遇到的两个问题,比如error in invoking target install of makefile和error in invoking target agent nmhs,这篇里面都提到了解决办法。

地址: https://www.jianshu.com/p/2fda26a7edf1

图文安装地址: https://blog.csdn.net/qq_32786873/article/details/82110235

mysql 5.6 GTID主从增加从库

实际情况为:

一台mysql 5.6.38,运行了很久,binlog只保留7天。之前的从库出了故障导致无法同步,现在重新增加一台从库。

有了GTID,在同步的时候就不需要去binlog里找pos点了,但是在网上搜了一大圈,开始同步之后都都出现了Slave_SQL_Running: No,error-log提示主键问题,折腾了一晚上,最后还是用最简单的方法解决了,根本都不需要用网上的那些什么set global gtid_purged = ‘565132ec-c5c0-11e7-a1b1-0660aba819f4:1-38495535’;之类。

因为本身在GTID下,导出的数据库就已经帮你处理好了。

不多说,大致说下操作方法和步骤:

阅读更多