摘要:
在工作当中遇到一个类似这样的问题:要对数据库账户的权限进行清理、设置,其中有一个用户Test,只能拥有数据库MyAssistant的DML(更新、插入、删除等)操作权限,另外拥有执行数据库存储过程、函数的权限,但是不能进行DDL操作(包括新建、修改表、存储过程等...),于是需要设置登录名Test的相关权限:1:右键单击登录名Test的属性.2: 在服务器角色里面选择"public"服务器角色。3:在用户映射选项当中,选择"db_datareader"、"db_datawriter"、"public"三个数据库角色 阅读全文
评论排行榜
MS SQL监控数据库的DDL操作
2013-04-27 23:35 by 潇湘隐者, 3110 阅读, 收藏,
摘要:
前言: 有时候,一个数据库有多个帐号,包括数据库管理员,开发人员,运维支撑人员等,可能有很多帐号都有比较大的权限,例如DDL操作权限(创建,修改,删除存储过程,创建,修改,删除表等),账户多了,管理起来就会相当麻烦,容易产生混乱,如果数据库管理员不监控数据库架构变更的话,就不知道谁对数据库架构做了啥改动(此处改动仅仅只DDL操作),尤其有时候,有些开发人员可能不按规章制度办事,绕过或忘了通知发布人员或DBA,直接去生产机做一些DDL操作,那么我们就需要对数据库架构某些更改的事件进行监控,如果能够监控并留下证据,这样既可以让DBA或相关管理人员知晓这些变更,有效管理数据库,也可以避免出现问题,. 阅读全文
ORACLE序列总结
2013-03-18 12:08 by 潇湘隐者, 37167 阅读, 收藏,
摘要:
序列介绍序列是一个计数器,它并不会与特定的表关联。通过创建Oracle序列和触发器实现表的主键自增。 序列的用途一般用来填充主键和计数。序列使用1.创建序列ORACLE序列的语法格式为:CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/ MINVALUE n|NOMAXVALUE}][{CYCLE|NOCYCLE}][{CACHE n|NOCACHE}]; 1)INCREMENT BY用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表Oracle序列的值是按照此步长递减的。 2)START WITH 定义序列的初 阅读全文
ORA-12154: TNS:could not resolve the connect identifier specified
2012-05-16 23:48 by 潇湘隐者, 10034 阅读, 收藏,
摘要:
在安装ORACLE安装的时候,报如下错误:ORA-12154: TNS:could not resolve the connect identifier specified。如下图所示: 折腾了很久才找到罪魁祸首:原来在安装数据库时,设置用户密码的时候里面包含了@符号,引起了这个错误,这个错误倒是有点诡异,应该是ORACLE连接DB时就把口令@后面的串当连接字用了。所以切记注意这个,否则很难发现问题。 阅读全文
SQL语言艺术实践篇——局外思考
2012-04-12 00:22 by 潇湘隐者, 1501 阅读, 收藏,
摘要:
今天有个同事问我一个问题,描述如下: 有一个日志信息表,对应同一个ID,可能有一条、两条、三条不同状态的记录。例如ID= 10001的日志记录可能有三条,一条记录状态为正确, 一条记录状态为错误, 一条记录状态是未知。也有可能只有其中一条记录或两条,现在的问题是,对应同一日志ID,我们只需要取一条记录,取数规则是:1:如果有状态为正确、错误、未知三条记录,我们只取状态为正确的记录。2:如果只有状态为正确、错误状态两条记录的,我们只取状态为正确的记录3:如果只有状态为错误、未知记录两条记录的,我们只取状态为错误的记录4:如果只有状态为正确、未知记录两条记录的,我们只取状态为正确的记录5:如果只有 阅读全文
ORACLE 常用函数——转换函数
2011-04-28 00:34 by 潇湘隐者, 12045 阅读, 收藏,
摘要:
------------------------------------------类型转换函数------------------------------------------------自动类型转换,ORACLE可以自动根据具体情况进行如下转换:*字符串到数值*字符串到日期*数值到字符串*日期到字符串EX:--*字符串到数值SELECT'3.14159'+20FROMDUAL;SELECT'3.1T'+20FROMDUAL;--报错:无效数字,即字符串必须能转换为数值类型才能进行操作--*数值到字符串SELECT'100'||124FROM 阅读全文
慎用SELECT INTO复制表
2010-10-12 12:18 by 潇湘隐者, 7887 阅读, 收藏,
摘要:
很多时候我们习惯于用SELECT INTO复制一个表或表结构,因为它方便,快捷,而且在某些情况下效率比INSERT INTO 效率要高一些。但是要注意: SELECT INTO 复制表或表结构的时候,只是得到了一个“外壳”,就像克隆人一样,只是得到了一个躯体,个人的意识、回忆都不会克隆的。像原表的主键、外键、约束、触发器、索引都不会被复制过来。这点要注意哦,在某些情况下,没... 阅读全文
养成随时注释的好习惯
2010-04-16 00:33 by 潇湘隐者, 682 阅读, 收藏,
摘要:
打从学习编程开始,就知道注释的重要性。逻辑比较复杂的代码;修改代码逻辑;或是加上新的功能等等,最好加上注释。在程序开发、代码维护时我也一直贯彻着这样的思想。可是有时候你还是会忽略它,有时候是因为赶进度,不想花费额外的时间注释;有时候是因为对逻辑理解比较透彻,觉得没有必要注释.....须不知对别人来说,这段代码的逻辑可能不甚了解,也许对你自己而言,几个月或是半年过后,你还能自信满满的说“我对这些逻辑一清二楚”吗? 今天我就遇到了这样一件事件。让我深刻的认识到了忽略注释的代价。今天早上老大叫我过去,过去才知道自己几个月前时候修改了一段代码,现在发现它带入了一些错误,老大也不了解我为什么这样修改,只 阅读全文
Oracle统计分析某个SQL的执行频率
2026-01-08 22:46 by 潇湘隐者, 63 阅读, 收藏,
摘要:
有时候因为业务增长或应用程序配置问题会导致一些SQL语句的执行频率出现飚增,下面这两个SQL语句就是用来统计某个SQL的执行频率/单位时间内的执行次数,分析SQL的执行频率是否出现异常。 按天统计SQL的执行次数 SET LINESIZE 255 SET PAGESIZE 60 COL SQL_ID 阅读全文
你真的会在SQL Plus中设置行宽吗?
2025-10-13 16:38 by 潇湘隐者, 72 阅读, 收藏,
摘要:
在使用SQL Plus命令行时,经常会要设置行宽(linesize),展示的格式才能美观一些.但是你真的对行宽设置都理解透彻了吗? SET LINESIZE 320 上面320表示的是字符的个数.这个命令的核心意义在于 控制 SQLPlus 输出的每一行的最大宽度/字符个数。因为你的屏幕或终端窗口的 阅读全文
ORACLE如何用一个脚本找出一个用户的授权信息?
2025-08-28 16:52 by 潇湘隐者, 105 阅读, 收藏,
摘要:
在平时的数据库运维管理过程中,我们可能会遇到很多权限管理相关的需求,例如,有时候需要给一个用户授予相关权限或回收相关权限,那么可能先要把用户授予的权限查询/例举出来, 有时候需要对比DEV/UAT环境,两个相同账号的权限是否不一致......,其实各种权限相关需求还是非常多的,这里就不一一例举了。工 阅读全文
SQL Server数据库直方图能设置阶梯数吗?
2025-03-25 15:59 by 潇湘隐者, 88 阅读, 收藏,
摘要:
SQL Server数据库直方图可以设置阶梯数(steps)吗? 有些文章翻译为步长,其它数据库中又称为桶数(buckets),这些只是不同的名称概念而已. 先说结论,在SQL Server数据库中无法干预或设定直方图的步长/阶梯数量. 另外, SQL Server数据库的直方图有点比较奇怪,它没有 阅读全文
SQL Server如何跟踪自动统计信息更新?
2025-03-20 10:07 by 潇湘隐者, 1209 阅读, 收藏,
摘要:
SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新统计信息"(Auto Update Statistics)这个选项,以便数据库能自动更新过期/过时的统计信息,因为过期/过时的统计信息可能会导致数据库生成一个糟糕的执行计划,SQL性能将会大打折扣 阅读全文
SQL Server CU补丁与GDR补丁区别
2025-03-19 22:42 by 潇湘隐者, 1048 阅读, 收藏,
摘要:
在SQL Server数据库中的补丁有GDR补丁和CU补丁,关于两者的区别以及一些疑问,下面简单总结一下: GDR(General Distribution Release)和CU(Cumulative Update)是SQL Server基线版本的两种不同更新服务选项。基线可以是RTM(Relea 阅读全文
Linux标准大页设置不合理案例
2024-07-22 22:51 by 潇湘隐者, 295 阅读, 收藏,
摘要:
Oracle数据库中如果标准大页设置不合理,可能导致物理内存被浪费掉。下面介绍一个案例: 查看标准大页的信息,如下所示: $ grep HugePages /proc/meminfoAnonHugePages: 0 kBShmemHugePages: 0 kBFileHugePages: 0 kBH 阅读全文
浙公网安备 33010602011771号