代码改变世界

Oracle dblink的连接模式的关系测试总结

2019-03-23 11:44 by 潇湘隐者, 28 阅读, 收藏, 编辑
摘要: 这篇主要介绍一下database link由于连接数据库的方式不同遇到的一些问题,我们知道连接ORACLE服务器的模式一般有两种方式:专用服务器连接(dedicated server)和共享服务器连接(shared server)。这次遇到的案例服务是dblink跟连接ORACLE方式有关,当然本质原因是什么呢,这也是我这篇文章在探讨的问题。下面通过案例来讲述一下具体情况: 我们先来搭建测试环...阅读全文

MySQL系统变量sql_safe_updates总结

2019-03-21 09:14 by 潇湘隐者, 24 阅读, 收藏, 编辑
摘要: MySQL系统变量sql_safe_updates总结 在MySQL中,系统变量sql_safe_updates是个非常有意思的系统变量,在Oracle和SQL Server中都没有见过这样的参数或功能。如果这个系统变量设置为1的话,意味着update与delete将会受到限制。个人臆测,之所以提供这个功能,一方面是要避免出现更新或删除数据时,忘记添加WHERE条件,导致数据被误更新或误删的情...阅读全文

SQL Server移除事务日志后sys.master_files依然存在记录问题

2019-03-19 15:38 by 潇湘隐者, 28 阅读, 收藏, 编辑
摘要: 在SQL Server中移除了事务日志文件后,使用sys.master_files检查时发现,对应的事务日志文件记录信息依然存在sys.master_files里面,只是状态state_desc为OFFLINE。需要经过一段时间,这条记录在这个系统视图才会消失。 DECLARE @db_name NVARCHAR(32);SET @db_name=N'TEST';SELECT f.dat...阅读全文

阿里云RDS for SQL Server测试吐槽

2019-03-12 12:53 by 潇湘隐者, 130 阅读, 收藏, 编辑
摘要: 最近测试了一下阿里云RDS for SQL Server,有些设计简直就是反人类,让人不得不吐槽一番。 1:控制台创建数据库时,数据库名不能包含大小字母。 如上截图所示,数据库名称不能包含大写字母,好吧,这个限制我认了。 但是使用“高权限账号”通过SSMS客户端连接数据库,可以创建包含大写字母的数据库。这个是完全不一致的行为? 实在不明白要弄成前后矛盾!。最坑爹的是,如果你用S...阅读全文

SQL Server作业报错特殊案例

2019-03-08 17:15 by 潇湘隐者, 89 阅读, 收藏, 编辑
摘要: 一个作业报错,报错信息如下,从错误信息根本看不出为什么出错,手工运行作业又成功了。一时不清楚什么原因导致作业出错。 MessageExecuted as user: NT SERVICE\SQLSERVERAGENT. ...eration. [SQLSTATE 01003] (Message 8153) Mar 6 2019 8:09AM [SQLSTATE 01000] (Mess...阅读全文

Variable SQLLOGDIR not found

2019-03-01 12:58 by 潇湘隐者, 66 阅读, 收藏, 编辑
摘要: 昨天在一数据库(SQL Server 2008 R2 SP3)上部署了一个作业,今天早上收到告警邮件,作业执行报错“Unable to start execution of step 1 (reason: Variable SQLLOGDIR not found). The step failed”,刚开始有点莫名其妙,后面检查发现出错的原因是因为在高级选项(Advanced)里面的output...阅读全文

ORA-279 signalled during: alter database recover logfile

2019-03-01 11:47 by 潇湘隐者, 53 阅读, 收藏, 编辑
摘要: 在RMAN的RECOVER还原过程中,RMAN界面正常,但是检查、刷新告警日志,发现告警日志里面有ORA-279,如下所示: alter database recover logfile '/u06/archivelog/2019_02_19/o1_mf_1_16228_g6oznpbv_.arc'Thu Feb 21 08:49:48 CST 2019Media Recovery Lo...阅读全文

Linux如何查找文件的创建时间

2019-02-27 10:32 by 潇湘隐者, 223 阅读, 收藏, 编辑
摘要: Linux的文件能否找到文件的创建时间取决于文件系统类型,在ext4之前的早期文件系统中(ext、ext2、ext3),文件的元数据不会记录文件的创建时间,它只会记录访问时间、修改时间、更改时间(状态更改时间)。 Access 是访问时间,文件数据的最后访问时间。例如读文件内容 Modify 是修改时间,文件数据的最后修改时间。例如使用VIM修改文件内容 Change ...阅读全文

ORA-02266错误的批量生成脚本解决方案

2019-02-25 17:09 by 潇湘隐者, 61 阅读, 收藏, 编辑
摘要: ORA-02266: unique/primary keys in table referenced by enabled foreign keys这篇博客是很早之前总结的一篇文章,最近导数时使用TRUNCATE清理主表数据又遇到了这个错误,发现还有其它解决方案: a) 禁用与主表相关的外键约束 b) TRUNCATE TABLE c) 启用那些外键约束。 在实际操作中...阅读全文

SQL Server查看索引重建、重组索引进度

2019-02-25 14:57 by 潇湘隐者, 154 阅读, 收藏, 编辑
摘要: 相信很多SQL Server DBA或开发人员在重建或重组大表索引时,都会相当郁闷,不知道索引重建的进度,这个对于DBA完全是一个黑盒子,对于系统负载非常大的系统或维护窗口较短的系统,你会遇到一些挑战。例如,你创建索引的时候,很多会话被阻塞,你只能取消创建索引的任务。查看这些索引维护操作的进度、预估时间对于我们有较大的意义,需要根据这个做一些决策。下面我们来看看看看如何获取CREATE INDEX...阅读全文

当心Azure跨区域数据传输产生额外费用

2019-02-22 10:15 by 潇湘隐者, 71 阅读, 收藏, 编辑
摘要: 最近同事发现Azure上一台虚拟机的费用环比增加了一部分。后面仔细检查发现费用来自数据传输, 因为这是早期部署的一台Azure虚拟机(Iaas),我们在本地生成备份,然后通过AzCopy到存储账号的Blob里面。但是Azure的虚拟机位于中国东部数据中心,而存储账号位于中国北部数据中心。以前由于数据量小没有留意,这次是由于数据量暴增才被发现的。 如果位于同一区域的数据传输是免费的。但是不通区...阅读全文

SQL Server 查找统计信息的采样时间与采样比例

2019-02-18 16:39 by 潇湘隐者, 147 阅读, 收藏, 编辑
摘要: 有时候我们会遇到,由于统计信息不准确导致优化器生成了一个错误的执行计划(或者这样表达:一个较差的执行计划),从而引起了系统性能问题。那么如果我们怀疑这个错误的执行计划是由于统计信息不准确引起的。那么我们如何判断统计信息不准确呢?当然首先得去查看实际执行计划中,统计信息的相关数据是否与实际情况有较大的出入,下面我们抛开这个大命题,仅仅从统计信息层面去查看统计信息的更新时间,统计信息的采样行数、采样比...阅读全文

SQL Server中是否可以准确获取最后一次索引重建的时间?

2019-02-18 11:03 by 潇湘隐者, 100 阅读, 收藏, 编辑
摘要: 在SQL Server中,我们能否找到索引的创建时间?最后一次索引重建(Index Rebuild)的时间? 最后一次索引重组(INDEX REORGANIZE)的时间呢? 答案是我们无法准确的找到索引的创建时间、最后一次索引重组时间,最后一次索引重建的时间。 其实就目前SQL Server的各个版本而言,还没有一个系统表或DMV视图有保存索引创建的时间,索引重建的时间、索引重组的时间。但是有些...阅读全文

Linux查看监听端口的脚本测试

2019-02-15 17:34 by 潇湘隐者, 224 阅读, 收藏, 编辑
摘要: 本文是按照lfree的博客(https://www.cnblogs.com/lfree/p/10368332.html)中的内容,进行学习、测试、总结的。有些知识点也是在阅读这篇博文时,发现不了解这方面的知识,遂网上搜索相关资料总结了一下。 1:Linux 设备里面有个比较特殊的文件:/dev/[tcp|upd]/host/port 只要读取或者写入这个文件,相当于系统会尝试连接:host...阅读全文

[转载]——说说IO

2019-02-15 14:02 by 潇湘隐者, 122 阅读, 收藏, 编辑
摘要: 本文转载自“和你在一起”的“说说IO“系列文章https://pengjiaheng.iteye.com/,总共分为8篇,特意整理、收录在此,支持原创、尊重原创,分享知识! 说说IO(一)- IO的分层 IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到IO。而IO性能的发展,明显落后于CPU的发展。Mem...阅读全文

SQL Server一致性错误修复案例总结

2019-01-11 12:07 by 潇湘隐者, 310 阅读, 收藏, 编辑
摘要: 今天遇到了一个关于数据库一致性错误的案例。海外工厂的一台SQL Server 2005(9.00.5069.00 Standard Edition)数据库在做DBCC CHECKDB的时候出现了一致性错误,下面总结一下处理过程。具体的一致性错误信息如下所示: Msg 8992, Level 16, State 1, Line 1 Check Catalog Msg 3853, State ...阅读全文

ORA-12520 TroubleShooting

2019-01-10 23:24 by 潇湘隐者, 181 阅读, 收藏, 编辑
摘要: 同事反馈他连接一个新搭建的测试数据库时,报“ORA-12520: TNS: 监听程序无法为请求的服务器类型找到可用的处理程序”错误,在解决他这个问题时,顺便分析、总结一下ORA-12520错误。下面重现一下这个场景: Oracle Client段的tnsnames.ora的配置如下: MY_TEST= (DESCRIPTION= (ADDR...阅读全文

MySQL:select command denied to user for table 'proc'案例

2019-01-08 16:44 by 潇湘隐者, 359 阅读, 收藏, 编辑
摘要: 使用EMS MySQL Manager Pro(3.4.0.1)连接MySQL 5.6.20时,报错:“SELECT command denied to user xxx@xxx.xxx.xxx.xxx for table 'proc' 很是纳闷,后面使用同样的权限,发现使用命令工具mysql -h xxxx -u username -p连接时不会报错。个人猜测是因为EMS MySQ...阅读全文

关于ORACLE数据库名以及数据实例名等几个重要概念

2019-01-06 23:22 by 潇湘隐者, 254 阅读, 收藏, 编辑
摘要: 在Oracle中有关数据库和数据库实例的几个重要概念,有时候如果理解不是很深或者对其疏忽、混淆了,还真容易搞错或弄不清其概念,下面就数据库实例名、数据库名、数据库域名、数据库服务名、全局数据库名几个概念,我们来梳理一下概念,总结归纳一下这些知识,首先,我们来看看官方文档对这几者的概念介绍: INSTANCE_NAME(数据库实例名) Property Description P...阅读全文

ORA-04030: out of process memory when trying to allocate 152 bytes (Logminer LCR c,krvtadc)

2019-01-01 21:51 by 潇湘隐者, 183 阅读, 收藏, 编辑
摘要: 今天使用LogMiner找回误更新的数据时,查询v$logmnr_contents时,遇到了“ORA-04030: out of process memory when trying to allocate 152 bytes (Logminer LCR c,krvtadc)”错误。查了一下My Oracle Support,发现出现ORA-04030错误的原因,特摘录在此。 如...阅读全文

There is already an object named '#xxxx' in the database.

2018-12-31 10:23 by 潇湘隐者, 163 阅读, 收藏, 编辑
摘要: 这个案例是前几天同事遇到的一个案例,在存储过程中“删除”了一个临时表,然后重新创建这个临时表时遇到“There is already an object named 'xxxx' in the database."这样的错误。下面简单演示一下这个案例(不用存储过程,而是直接用简单的SQL语句重现) CREATE TABLE #temp_test( id INT, name VARCHAR...阅读全文

SQL Server服务没有自动启动原因案例分析

2018-12-28 11:32 by 潇湘隐者, 547 阅读, 收藏, 编辑
摘要: 这个案例是前两天出现的,一直没有时间总结,25号凌晨4点去处理数据库的故障问题。远程连上公司的局域网,psping检查发现服务器的1433端口不通,数据库连接不上,但是主机又能ping通,登录服务器检查发现SQL Server的SQL Server (MSSQLSERVER) Service 等服务都没有启动.从Zabix检查也发现服务停了, 真是懵了,使用systeminfo命令检查系统的情况,...阅读全文

ORA-00904: "WMSYS"."WM_CONCAT": invalid identifier

2018-12-27 09:51 by 潇湘隐者, 244 阅读, 收藏, 编辑
摘要: 同事玩Docker,在Docker里面启了一个Oracle 10g Express版本,在测试过程中遇到了ORA-00904: "WMSYS"."WM_CONCAT": invalid identifier错误。 SQL> select * from v$version; BANNER--------------------------------------------------...阅读全文

Cannot connect to WMI Provider & Invalid class [0x80041010]

2018-12-25 10:42 by 潇湘隐者, 123 阅读, 收藏, 编辑
摘要: 数据库服务器(Virtual Machine)所在的Nutanix一台主机由于故障,VM自动切换到另一台主机,切换过程中VM会重新启动,但是早上检查的时候,发现点击SQL Server Configuration Manager进去时报如下错误: ”Cannot connect to WMI provider.You do not have permission or the server i...阅读全文

ORA-00471: DBWR process terminated with error案例

2018-12-21 17:13 by 潇湘隐者, 105 阅读, 收藏, 编辑
摘要: 每年年底,系统管理员都要组织一次容灾方案的测试、演练。会在一个与生产环境网络隔离的DR环境中,启动各个“生产环境服务器”,然后让各路人员参与其中测试、演练容灾方案是否可靠。这次演练中,一台Oracle数据库服务器启动的时候遇到了问题。如下所示,启动的时候遇到ORA-03113: end-of-file on communication channel错误。 [oracle@myln...阅读全文

Oracle database link中查询会开启事务吗?

2018-12-20 10:54 by 潇湘隐者, 361 阅读, 收藏, 编辑
摘要: 关于oracle database link,使用database link相关的查询语句是否会开启事务呢?我们知道,在数据库中一个简单的SELECT查询语句不会产生事务(select for update会产生事务)。如下测试所示: 我们首先准备测试环境,创建了一个database link: LINK_NODEFINE_TEST,然后我们开始测试 CREATE PUBLIC...阅读全文

ORA-02030: can only select from fixed tables/views

2018-12-19 14:07 by 潇湘隐者, 159 阅读, 收藏, 编辑
摘要: 有时候给一些普通用户授予查询系统对象(例如dynamic performance views)权限时会遇到“ORA-02030: can only select from fixed tables/views”,如下所示: SQL> grant select on v$session to test;grant select on v$session to test ...阅读全文

ORA-12537: Network Session: End of file

2018-12-18 17:04 by 潇湘隐者, 275 阅读, 收藏, 编辑
摘要: 最近开发组同事使用Azure的Function App访问公司内部的Oracle数据库时,偶尔会遇到“ORA-12537: Network Session: End of file”这个错误。关于ORA-12537的详细信息如下: [oracle@DB-Server ~]$ oerr ora 12537 12537, 00000, "TNS:connection closed" // *Cau...阅读全文

Failure sending mail: The user or group name 'xxx\xxxx' is not recognized.Mail will not be resent

2018-12-05 17:03 by 潇湘隐者, 147 阅读, 收藏, 编辑
摘要: 一批Reporting Service报表的订阅突然报如下错误: Failure sending mail: The user or group name 'xxx\xxxx' is not recognized.Mail will not be resent. 原因如下,因为开发这批报表的人(也就是报表的创建者)离职了,然后他的NT账号在DC里面被系统管理员删除了。自然就没有权限将订...阅读全文

DBA思考系列——凛冬将至,丧钟为谁而鸣!

2018-12-02 00:35 by 潇湘隐者, 802 阅读, 收藏, 编辑
摘要: 诸多迹象昭示着凛冬将至,大萧条终于正式在全国各地拉开了序幕,很多80后的国人没有经历过苦日子,也没有经历过真正的金融危机。这场经济危机必将摧毁一些无视经济能力,盲目购房,盲目消费的家庭或个人。个人对经济、就业的看法比较消极,最近层出不穷的一些坏消息也让我焦虑不安。自己也说不清楚为什么这么焦虑,也许是阅读全文