首页 | 摘要显示 | 上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 下一页

DBA Archives

Step XX Done, Next XX.sql

    将一个很复杂的数据迁移脚本, 分成了好多步, 并且中间互不相关的部份用并行来节约时间. 由于步骤太多, 又需要在限定的时间内准确地完成. 开发DBA按照我的要求, 整理了很多的SQL文件.

(A01 - A10).sql
(B01 - B10).sql
(C01 - C10).sql

    其中B和C可以走一条线, A是最慢的. 在做完第一次测试后, 感觉有个地方不爽, 由于是一个人并行去做, 每一步做完后, 总不知道下一步是什么? 得想一想才知道. 于是又给开发DBA做了一个建议, 在每一个SQL文件的最后, 加一个提示.

prompt Step XX Done, Next XX.sql

    改了后, 几个DBA再去测, 都发现感觉上爽多了, 时间上也应当有比较多的节省, 但不知道具体节约了多少分钟.

    服务意识也可以用于过程的优化中.

SQL*Plus的注释问题

    将下面的SQL语句存放到文件中, 或直接贴到SQL*Plus空口中, 会发现后面一个SELECT会被执行两次.

select sysdate from dual;
/* MyDUL */
select sysdate from dual;
/*MyDUL*/

    执行结果如下:

SQL>@cr.sql
SQL>select sysdate from dual;

20080711 14:24:32

SQL>/* MyDUL */
SQL>select sysdate from dual;

20080711 14:24:32

SQL>/*MyDUL*/

20080711 14:24:32

    估计是SQL*Plus工具的问题, 要确保中间有空格隔开, 或用两个减号的注释.

July 16, 2008

估低了P590的CPU利用率

    在oramon程序的AIX版本中, 增加了CPU利用率的显示, 以便更好地观察数据库服务器的运行情况, 如下所示:

www.alipay.com  Load SY/WT/US  Rq
07/16-08:45:51  1.64  8/21/15  18
07/16-08:46:01  1.78  5/20/12  20
07/16-08:46:11  1.90  7/22/16  23
07/16-08:46:21  1.91  6/21/13  23
07/16-08:46:31  1.92  5/22/12  14
07/16-08:46:41  1.78  4/21/11  10
07/16-08:46:51  2.05  5/21/14  19
07/16-08:47:01  2.28  4/21/11  12

    一直都相信通过libperfstat接口计算出来的值, 并且一直以为CPU利用率很低, 我们的P590够强大. 直到有一天, 用topas看时, 突然间注意到SYS和USER这两个值总是比我程序中输出的高一倍左右, 也就是oramon程序中显示的CPU利用率偏低了, 只有WIO是正常的. 问题在哪儿呢?

    原来设置SMP支持选项后, 在操作系统中一个物理的CPU被看成了两个逻辑CPU了, 相当于超线程的概念了. 这样做可以提升CPU的处理能力, 查网上资料, 有人分析说, 在Power 5的芯片上可以提升30%, 在Power 6的芯片上可以提升40%的性能. 而oramon程序中, 就是取了按逻辑CPU算的值, 而不是按物理CPU算的值, 因此利用率大约相差了一倍.

    在perfstat_cpu_total_t结构中, 我原来取的是下面四个值:

sys, user, idle, waits

    改成取另外四个值来计算就行了:

psys, puser, pidle, pwaits

    IBM的东西太不懂, 有人要自已编写AIX上的性能监控程序的话, 可以去搜索一下libperfstat, 或参考这个网页.

July 23, 2008

mv了N次才成功

    一不小心, 在Linux上生成了这样一个文件.

-ftmp_iw_user.txt

    试了很多下mv/cp命令, 都不行, 没有成功, 出现的错误提示也很怪, 搞不懂了.

$ mv *.txt tmp_iw_user.txt
mv: invalid option -- t
Try `mv --help' for more information.

    在前面加个目录试试?

$ mv "./-ftmp_iw_user.txt" tmp_iw_user.txt

    终于成功了.

tmp_iw_user.txt

    中间会想到, 用Windows就好了, 图形下改, 不用这么麻烦, 修改成功后又觉得Linux也很好.

August 13, 2008

小心看好你的数据

    今天收到一个恢复请求, 在QQ上和人聊了一通, 看情况是只有RMAN备份出来的文件, 没有数据文件, 需要恢复出数据来. 聊天内容如下:

d.c.b.a: 现在所有数据文件都丢了?
answer : 现在有的就是这些文件.
d.c.b.a: 要确定, 是不是全的, 最好是找出他们作备份的脚本看一下
answer : 这个恐怕很难
answer : 这个脚本是什么格式的?
answer : 一般存放在什么目录下?
d.c.b.a: 他们那边没有管理员的?
answer : 有,但是不能问...
d.c.b.a: why?
answer : 因为东西是down下来的. 明白了?

    这种事情当然是不能做了, 对方也知道说错话了, 马上就下线了. 从安全的角度来看, 数据的备份也需要分开来保存了, 以免人家轻松取得所有的数据.

上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 下一页

当前分类: DBA

Creative Commons License
本站版权: 共用创作 CC
署名-非商业性-相同方式分享
本站基于MT-3.36免费版
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql