通过shell脚本查看procedure的信息
在一个schema中,可能含有大量的procedure, 有时候想查看具体的信息,一般得通过toad,plsql dev等工具来查看,有时候在尽可能摆脱图形工具的前提下,想能够尽快的查找一些信息,还是使用shell脚本更快,更准,更直接。可以使用如下的shell脚本来查找procedure的信息。以下的脚本可以查找是否有需要的prcedure信息。PR...
通过shell脚本查看package的信息
有时候想查看一个package的信息,但是对于package的名字不是很确定,比如只知道一个大概,知道一些关键字,这个时候通过图形工具是查找不到package的信息的,而且对于package的信息,我只关心package里面有哪些存储过程,哪些函数等,看看简单的参数情况就可以了,类似sqlplus的desc的形式。shell脚本的实现如下,以下...
通过shell检查分区表中是否含有默认分区
在大数据量的系统中,分区表是很常见的,分区有多种类型,可以根据业务来选择自己需要的分区,不过为了数据的兼容性,需要考虑对于分区表设定一个默认的表分区,如果数据在插入表分区的时候,没有符合条件的分区,就会插入默认的表分区中。这个可以根据自己的需要来设定,如果确实对数据有严格的要求,甚至可以要求不加入默认...
通过shell脚本来查看Undo中资源消耗高的sql
在查看undo的使用率的时候,在Undo_management为auto的时候,经常会看到undo自己在不断的伸缩扩展,自我调节。有时候看到Undo收缩的很紧,就想知道哪些sql语句在运行,可能有哪些潜在的问题。对于在线业务系统而言,如果某一条sql语句运行时间较长,而且消耗的undo资源极高的情况下,sql语句很可能是有问题的。可以通过如下...
通过shell脚本定位性能sql和生成报告
oracle的sql monitor是一个很有用的工具集。但是通过sql命令和反复去调用dbms_tune来传入参数等等操作感觉挺费事的。可以通过如下的脚本来定位sql monitor中的性能sql,发现一些潜在的性能问题。这个脚本可以定位正在sql monitor监控范围内的sql语句。MONITOR_OWNER=`sqlplus -silent $DB_CONN_STR@$SH_DB_SID <<ENDse...
使用shell脚本生成只读权限的sql脚本
目前做数据迁移,有8套不同的环境,为了保护环境,每个环境中的表,视图等开发都不能修改,只能通过连接用户去查询。每个环境中可能含有表,索引,序列,存储过程,函数等,所以一个一个写是不现实的,写了下面的动态脚本来自动生成相应的权限,然后创建对应的同义词。脚本会生成两个sql脚本,一个是owner用户赋予权限使...
sed+awk模拟简单sql查询
经常需要用sqlplus去查询一些数据字典类型的数据,这些数据量不大,而且需要环境之间都是一样的,所以就想使用离线查询的方式,把那些数据以平面文件的形式存放,然后通过系统级的操作来输出。以下使用 sed 和aw...
使用动态变量进行动态数据比较
现在有一个需求,输入一串数,输入的数个数还不固定,需要得到最小的那个数和对应的下标如果说传入的数的个数固定,直接用for循环来得到最值 其实也不难。使用编程语言java,c等都可以实现。使用动态变量可以很方便的初始化多个变量,对传入的数进行统计和比较。动态变量的初始化有如下几种形式:param_no=$##初...
使用shell脚本查看数据库负载情况
平时在查看数据库的问题时,会有种迷茫的感觉,如果没有任何人反馈问题,基本上没有主动查找问题的方向,awr,ash都是在得知问题发生的时间段或者一些时间戳来从历史记录中查找相关的信息,个人整理了如下的脚本,能够显示当天的时间段内数据库的负载信息,能够很好掌握数据库的忙闲情况。 来看一个简单的例子,比如我要查...
巧用shell生成数据库检查脚本
在生产环境中需要部署大量的数据变更。对于新增的表,需要注意权限和同义词等。但是手动去检查这些变更是否生效就很麻烦。而且也不易维护,比如写好了一个脚本,可能在过一段时间,有一些紧急变更,需要把这些变更加进来,可能就忘了更新检查脚本。考虑到检查的性能,不想查询数据,只需要保证能够正常访问表即可。所以写...
利用shell脚本生成动态sql
在一些分布式环境中,可能涉及到的数据库有很多,相关的数据库用户也不少,有些看似简单的变更可能需要在不同的库,不同的用户间要进行复杂的操作。现在我们有3套环境,一套是测试环境test,一套是准生产环境xprd,一套是生产环境prod,比如在prod上有5个库一共20个用户,某一个变更可能在这20个用户里面要进行一些的操作...
巧用shell脚本分析数据库用户
在数据库维护中,可能对于一个陌生的schema,需要了解它的一些情况,可以使用如下的脚本来很快得到一个报告,里面包含了详尽的信息。用户占用的空间,权限,角色和基本配置信息。NAME=`echo $1|cut -d. -f1`if [ -z "$NAME" ] then echo -e "User must be provided: \c"; read NAMEfisqlplus -s $DB_C...
巧用shell脚本生成快捷脚本
在升级的过程中,可能需要准备一些额外的脚本,比如说做数据迁移的时候为了考虑性能,需要做如下的额外工作:1.将部分表置为nologging2.将部分index置为nologging3.将部分foreign key constraint置为disable4.将部分trigger 置为disable在完成数据升级后,再置为logging,enable状态。但是在准备脚本的过程中,总是为...
使用shell进行日志分析
最近做数据批量加载的时候,是通过pl/sql嵌在shell脚本里执行的。脚本运行后生成的日志类似如下的格式Get Dump file for APP_TMP.TESTRESS_NAME_LINK...Elapsed: 00:00:00.64.DB details is accessible from source schema ....DB details is accessible from target schema ....Directory ext_datapump_dir...
数据库环境中的shell脚本应用
维护多个数据库,又没有EM,在各个数据库之间来回切换很是麻烦,今天参照一些资料写了如下的shell脚本。主要来讲dba的账户密码,ORACLE_SID都以环境变量的形式注入,然后在当前session中可以灵活的切...
ITPUB终于在firefox下显示漂亮了
以前一直很抵制ITPUB,在这里混了8年时间,从来没使用过博文,突然发现现在已经显示不像以前那么恶心了,以后准备开始使用。
试试windows live writer的效果
直接在itpub上写太痛苦了,不断的的失败,真是对一个专业级的技术网站的技术能力感到遗憾! CException 属性 "RpcApplication.itpub_bbsdb" 未被定义. /data/www/itblog_yii/framework/base/CModule.php(106) 094 /**095 * Getter magic method.096 * This method is overridden to support accessing ...
DBA之路
2013年5月开始学习ORACLE,至今有一年的时间了,简单回顾一下这个学习的历程,同时做些心得与总结。 2013年是我迷茫的一年,在建行做项目,做到不知道要做什么了。 是继续做C架构设计,还是要像老外一样继续做C开发?但无论哪种,身体感觉都有些吃不消了。 要么去做项目经理...
介绍一个自己写的crs_stat脚本
这是一个我自己写的脚本,主要是方便自己去查看(因为拷贝过来以后排版很乱,所以直接用图片来显示了) 这是我们在使用RAC,或者在单机安装上ASM之后看到的结果 上面是oracle11g 11.2.0.4在oracle linux 6.5 上显示的结果: [grid@oel64~+ASM ~]$ uname -a Linux oel64.localdomain 3.8.13-16.2.1.el6uek.x86_64 ...
DBA的日常工作
检查数据库状态 确认所有的INSTANCE状态以及listener状态正常,登陆到所有数据库或例程,检测ORACLE后台进程: $ ps –ef|grep ora $ lsnrctl statusSQL> select status from v$instance;检查文件系统如果文件系统的剩余...