linux相关的东东,来自dbanotes

原贴:http://www.dbanotes.net/MT/mt-search.cgi

Search this site

Matching entries matching “linux” from DBA notes

Fotolog_logo_182x40_000000.png

尽管是世界上最大的图片服务网站, Fotolog.com 在国内的名气并不是很响亮, 每当提到图片服务, 很多人第一个会想起 Flickr. 但实际上 Fotolog 也的确是很猛的, Alexa 上的排名一直在 Flickr 前面, 目前注册用户超过 1100 万. 而前不久也卖了一个好价钱, 9000 万美金. 算下来的话, 1 个注册用户大约 9 美金. Yupoo 的刘平阳可以偷着算算自己的网站如果卖给老外是怎样一个价格了.

在前不久的 MySQL Con 2007 上, Fotolog 的 DBA Farhan Mashraqi 披露了一些技术信息.(PPT下载)

与其他大多数 Web 2.0 公司普遍用 Linux 不同的是, Fotolog 的操作系统用的是 Solaris . Solaris X86 也是免费的, 估计是维护人员更熟悉 Solaris 的操作系统而作出的选择吧.

数据库当然是使用 MySQL. 有32 台之多, 最开始的存储引擎是 MyISAM ,后来转向 InnoDB. 对于 DB HA , 使用 DRBD (介绍),在 Solaris 上用 MySQL ,有个优化技巧是关于 time(2) 系统调用的,通过调用比 gethrestime() 更快的 gethrtime(3C) 来提高性能。可以通过设置 LD_PRELOAD (32位的平台) 或 LD_PRELOAD_64 来做到。详细信息可以参考Sun 站点上的这篇 MySQL 优化文章,很有参考价值。

存储也是值得一说的,Fotolog 用的是 SAN,还是比较贵的 SAN: 3Par. 这个产品可能绝大多数 DBA 是比较陌生的,该产品原来主打金融市场,现在也有很多 Web 公司使用,一个比较典型的客户代表是 MySpace。3Par 的最大的特点就是 Thin Provisioning。Thin Provisioning 这个词有的人翻译为"自动精简配置",在维基百科的定义:

Thin provisioningis a mechanism that applies to large-scale centralized computer disk storage systems, SANs, and storage virtualization systems. Thin provisioning allows space to be easily allocated to servers, on a just-enough and just-in-time basis.

说白了就是对空间分配能够做到"按需分配"。有些扯远了。

--EOF--

| | Comments (5) |

昨天晚上和 Laura 出去吃饭,吃过饭走回来,路蛮远的,慢慢忍不住了,人有三急,可路边找不到厕所。忍啊忍,来的时候记得路边有家小书店,书店里估计有厕所,走啊走,忍啊忍,总算看到书店了,进去假装买书,想用人家厕所还担心不给用,于是挑了一本书,然后(装作)随口问道 "有洗手间嘛?" 服务员一指: 前面就是。急匆匆进去,傻眼,真的是"洗手"间 -- 只能洗手。

同事 Z 早晨就在公司测试能不能把 Linux 的系统时间调整到 1970 年以前,问他为什么要这么做,他告诉我,周日在西湖边遇到了灵异事件:当他走到西湖某个点的时候,手机时间突然显示为 1912 年,而他的手机操作系统是 Linux 的,还说过了那个地点,时间就突然正常了。我说,时光倒流? 那你赶紧回那个点再测试一下? 他的回答:当时就想回去了,可考虑到民国史不熟,今天在网上学习一下再去。要不万一回到 1912 年咋办?

--EOF--

| | Comments (8) |

今天参加 AIX 的技术培训,听了一些关于 CPU 调度的算法,倒也都是些基本知识,回想讲课内容的时候倒让我想起 Linux Kernel 的 I/O Scheduler 来。

这篇 Choosing an I/O Scheduler for Red Hat Enterprise Linux 4 and the 2.6 Kernel 是必须的参考资料。相比 Linux 2.4 Kernel 的一种 IO 调度器,2.6 做了很多改进,共有四种 IO 调度器。

Deadline scheduler

Deadline scheduler 用 deadline 算法保证对于既定的 IO 请求以最小的延迟时间,从这一点理解,对于 DSS 应用应该会是很适合的。

Anticipatory scheduler

Anticipatory scheduler(as) 曾经一度是 Linux 2.6 Kernel 的 IO scheduler 。Anticipatory 的中文含义是"预料的, 预想的", 这个词的确揭示了这个算法的特点,简单的说,有个 IO 发生的时候,如果又有进程请求 IO 操作,则将产生一个默认的 6 毫秒猜测时间,猜测下一个 进程请求 IO 是要干什么的。这对于随即读取会造成比较大的延时,对数据库应用很糟糕,而对于 Web Server 等则会表现的不错。这个算法也可以简单理解为面向低速磁盘的,因为那个"猜测"实际上的目的是为了减少磁头移动时间。

Completely Fair Queuing

虽然这世界上没有完全公平的事情,但是并不妨碍开源爱好者们设计一个完全公平的 IO 调度算法。Completely Fair Queuing (cfq, 完全公平队列) 在 2.6.18 取代了 Anticipatory scheduler 成为 Linux Kernel 默认的 IO scheduler 。cfq 对每个进程维护一个 IO 队列,各个进程发来的 IO 请求会被 cfq 以轮循方式处理。也就是对每一个 IO 请求都是公平的。这使得 cfq 很适合离散读的应用(eg: OLTP DB)。我所知道的企业级 Linux 发行版中,SuSE Linux 好像是最先默认用 cfq 的.

NOOP

Noop 对于 IO 不那么操心,对所有的 IO请求都用 FIFO 队列形式处理,默认认为 IO 不会存在性能问题。这也使得 CPU 也不用那么操心。当然,对于复杂一点的应用类型,使用这个调度器,用户自己就会非常操心。

那么如果跑数据库应用,那个更好一些呢? 我们看Choosing an I/O Scheduler for Red Hat Enterprise Linux 4 and the 2.6 Kernel一文中的测试结果:

scheduler.jpg

对于数据库应用, Anticipatory scheduler 的表现是最差的。Deadline 在 DSS 环境表现比 cfq 更好一点,而 cfq 综合来看表现更好一些。这也难怪 RHEL 4 默认的 IO 调度器设置为 cfq. 而 RHEL 4 比 RHEL 3,整体 IO 改进还是不小的。

哪一种方式更好? 很难说,每一种方式都有特定的应用对它是最适合的。就像上面的 as 好像表现比较差,如果是 CPU 密集型的应用呢?

Tip:
Q:如何确认当前用什么 IO 调度器?
A: 过滤 /var/log/boot.msg 文件, 查找 "io scheduler", 看到了么?

在 操作系统上可以查到的相关文档:
/usr/src/linux/Documentation/block/as-iosched.txt
/usr/src/linux/Documentation/block/deadline-iosched.txt

这篇文章应该只是一篇草稿...

--EOF--

| | Comments (1) |

oracle11g_logo.gif

上一篇 在 RHEL 5 上安装 Oracle 11g 还是比较粗糙的。对照官方手册 Oracle Database Installation Guide 11g Release 1 for Linux 还是遗漏了一些内容的。

 

关于 Oracle Inventory 用户组

图形界面起来后,先是判断 Oracle Inventory group 这个玩意儿(通过 oraInst.loc). 如果默认目录权限有问题,会有如下提示:

11g_installer_2.png

这个提示信息其实没什么,点击 OK 即可。然后会提示手工输入可替代 Inventory 地址。

OSASM 用户组

如果使用 ASM,则最好创建一个 OSASM 组:

# /usr/sbin/groupadd asadmin
创建实例前修改 Shell 限制
修改 /etc/security/limits.conf 文件. 添加内容如下:
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536

修改(或创建) /etc/pam.d/login ,内容如下:

session    required     /lib/security/pam_limits.so
session required pam_limits.so

 

还差一步,修改 /etc/profile , 内容如下:

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

 

NFS 上跑 11g

mount nfs 文件系统上有几个参数是强制性的 : hard , rsize, wsize, actime=0(或者 noac). hard 方式是 10g 遗留下来的后遗症。

想到其他的再继续补充...

--EOF--

| | Comments (2) |

期待已久的 Oracle 11g 终于发布正式可以提供下载了。第一个发布的平台果然是 Linux 版本。几年前都是 Solaris 第一个。可见操作系统领域市场的变迁。

11g 的软件介质不小,单个文件,1.7G,这个文件是个大杂烩,包含了一大堆的组件。在 RHEL 5 上安装相对还是比较顺利。先需要看看我以前写的 10g 安装攻略。有时间的话,也不仿移步访问一下这篇:RHEL 上安装 Oracle 的注意事项

环境变量的变化

ORA_NLSxx 环境变量必须(?) 用 ORA_NLS10 ,以前在 10g 上还兼容的 ORA_NLS33 不能继续用的。

export ORA_NLS10=$ORACLE_HOME/nls/data

否则建库的时候会报告 ORA-12075 错误。

核心变量的设置
修改 /etc/sysctl.conf,追加如下内容:
# First line:SEMMSL SEMMNS SEMOPM SEMMNI
kernel.sem=1055 32000 100 128
kernel.shmmax=2147483648
kernel.shmall = 2097152
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.conf.default.rp_filter = 0
net.core.optmem_max = 65535
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 262144
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000

RHEL 5 默认安装几乎不用作额外配置,当然,要关闭 seLinux 和防火墙。./runInstaller 后图形界面起来,检查的时候也会报告 warning 信息,比如 libaio-devel 没有安装什么的。如果只是测试目的,倒是不用非那么多心思。

关于一些界面的变化,可以看我的 Yupoo 相册. 个人评价是 Oracle 对安装流程还是做了不少改进,有的地方相比 Oracle 10g 交代的更清楚一点。

--EOF--

| | Comments (7) |

Oracle 似乎越来越想直接填补 OS 与 RDBMS 之间的技术缝隙。之前的 ASM 已经向存储层跨了一大步,可以说是 Oracle 自己的 LVM 软件,而且,应该说也占据了一定的市场。然后是 OCFS (Oracle Cluster File System)更进一步--用于集群的文件系统,OCFS 的表现似乎还需要观察(主要是还不够稳定)。现在,Oracle 又准备开发新的文件系统了。这个项目名字叫做 Btrfs

这个 Btrfs 的特性中列表:

     
     
  • Extent based file storage (2的64次方 max file size)
  • Space efficient packing of small files 【 vs ZFS: Built in compression】
  • Space efficient indexed directories
  • Dynamic inode allocation
  • Writable snapshots
  • Subvolumes (separate internal filesystem roots)
  • Object level mirroring and striping 【对象级别的镜像与条带】
  • Checksums on data and metadata (multiple algorithms available)
  • Strong integration with device mapper for multiple device support 【似乎 Oracle 对当前 Linux 系统的 LVM 软件并不满意】
  • Online filesystem check 【 vs ZFS: Always consistent on disk】
  • Very fast offline filesystem check 【对于大文件系统十分有效】
  • Efficient incremental backup and FS mirroring 【 vs ZFS: Fast native backup and restore】

 

【】内是我的注释或猜测。看得出来,Btrfs 应该参考了 Sun ZFS 的很多设计思想,而 Btrfs 的设计目的是面向数据库的,所以有很多独特的面向数据库的特性在里面。Btrfs 目前还在设计中,所有关键特性都实现并且成熟稳定恐怕还真是有待时日,Oracle 软件代码的质量那可真是叫人没话说--可不是好的让人没话说。

或许很多人已经忘记了 Oracle 多年以前失败的 Raw Iron 项目,但现在,Oracle 似乎在用搭机木的方式重新实现这个目标。

--EOF--

| | Comments (12) |

最近会议比较多,下周一到周四要跑到上海参加甲骨文全球大会(Oracle Open World)

对于一个 DBA 来说,每次 OOW 的技术讲座肯定比那些到处派发的小奖品更加吸引人。刚才总算有空仔细看了一下本次 OOW 的技术讲座列表。我对如下几个主题比较感兴趣:

  • Rich Niemiec 讲座序号 720: Oracle数据库11g的最佳新功能(一)
  • Rich Niemiec 讲座序号 721: Oracle数据库11g的最佳新功能(二)

Oracle 11g 最早也要到 8 月份才可以发布,不过现了解一点新功能过把瘾还是不错的。

顺便说一下,Rich Niemiec 接受了 Alibaba DBA 团队的邀请,将于 OOW 之后在杭州举办一场 Tuning at Block Level 的技术演讲。如果有杭州的朋友感兴趣,可以联系我。给你预留座位。技术方面国外过来的人物,Rich Niemiec 算是这次 OOW 比较大的腕儿了。如果你不知道他是谁,可以忽略这一段。

其他感兴趣的主题有:

  • 讲座序号 276: SQL Server向Oracle数据库迁移案例研究
  • 讲座序号 221: Oracle数据卫士----开创数据可用性和数据保护的新纪元 (数据卫士, 就是 Data Guard,翻译的挺好......)
  • 讲座序号 228: 如何利用 Oracle TimesTen 内存数据库大幅提高数据库管理软件的响应速度
  • 讲座序号 222: 超大型数据库备份和恢复策略
  • 讲座序号 238: Linux用户当然之选(Oracle Linux配置管理)
  • 讲座序号 215: 利用Oracle Database Vault选件保护数据

 

Oracle OTN 中文网还有个 OTN Lounge,我需要参加的。主要是个陪衬 :) 基本上国内这几个 ACE 凑齐了。对于这次活动,可以参见 eygle 的介绍

30 号晚上 ITpub 有个采访。主题是 《ITPub 5大 ACE 点评 Oracle 11g 数据库》. 其他的时间我还没有安排呢。或许去看看同学。对了,如果有朋友准备加入我们团队,可以直接和我联系 :)

周四我可能就必需要回到杭州了。

--EOF--

| | Comments (6) |

翻出以前写的这则: 恢复 EXT3 Superblock 的正确方法 , 补充几点内容。

1) 获取超级块位置

前文说过超级块的位置,对于一个未知的 Ext3 文件系统,也可以用 fsck 模拟对设备的格式化,输出的内容中会列出 Superblock 的位置。命令开关是 "-N".
Testdisk是一款超强的开源文件系统恢复工具,通过它也很容易检查到超级块的信息以及如何恢复,很关键的一点是,这个工具能检查到"可用"的超级块信息

有关分区表信息

有的时候,也有可能是分区表信息损坏。fdisk -l /dev/hdx 会提示该设备上没有任何分区信息。gpart 这个小工具恢复分区表比较有效。当然,前面介绍的 Testdisk 也能做到这一点,如果该设备上只有一个文件系统,那么直接 fdisk 处理一下也是可行的。

恢复 Ext 文件系统上删除的文件

Linux / Unix 没有 Windows 回收站这个概念,rm -rf 有的时候会造成一定的灾难。个别的时候,e2undel 能派上用场。

--EOF--

| | Comments (1) |

Linux 和Solaris是同源亲家。Linux这小老弟,近年来在这块跑得快些。可是 Solaris 路走多了,不需回头走冤枉路。
-- Sun中国工程研究院院长王星耀. 推荐阅读《Solaris 内核结构(第2版)》中文版序

很难确定过去几年来谷歌出色的表现,多大程度上是埃里克管理技能的结果,多大程度是他们当初灵机一动的结果--这个灵机一动,开发出了历史上最为成功的产品之一。
--华尔街分析师 Henry Blodget 评价 Google CEO 施密特 (Eric Schmidt)

怎样形容互联网呢?想象一下,从前有些商人是专门靠在沙漠里卖水赚钱的,可如今,沙漠开始下雨了
--周奕. (前不久才知道他是周筠老师的弟弟)

我们今天坐在这里,就在这一时间,世界各地仍在上演着人间惨剧。这让我们感到心碎,我们之所以没有采取任何行动,并不是我们没有同情心,而是因为我们不知道如何去做
--比尔·盖茨哈佛演讲

目前发现的问题员工主要是北京员工,主要是因为北京员工抗压能力很弱,不愿意吃苦。
--大旗网周春兰

几乎任何人都不可能提出理由证明中国股票价格不高。不过,就历史的市盈率和股息收益率来看,上海证券交易所的股价似乎并不比纳斯达克高多少
--汇丰投资管理集团新兴市场业务全球主管狄圣莱(Deseglise Christian)

| | Comments (7) |

MySQL 应该给 Google 发感谢信: Google 在 Google Code 上发布的 Google Mysql Tools 使得 MySQL 在性能、可管理性、稳定性上都增色不少。

在该项目的首页将这个工具集分为三部分:

* mypgrep.py - a tool, similar to pgrep, for managing mysql connections
* compact_innodb.py - compacts innodb datafiles
by dumping and reloading all tables
* patches - patches to add features to MySQL 4.0.26 and MySQL 5.0.37

这份介绍似乎已经不能完全概括 Google Mysql Tools 了。现在的重点似乎是补丁包部分。根据版本号分为 MySQL4 与 MySQL 5,MySQL 5 的 Patch 现在很少,而 MySQL 4 部分内容真的比较丰富,关键改进列表:

* SemiSyncReplication - block commit on a master until at least one slave acknowledges receipt of all replication events.
* MirroredBinlogs - maintain a copy of the master's binlog on a slave
* TransactionalReplication - make InnoDB and slave replication state consistent during crash recovery
* UserTableMonitoring - monitor and report database activity per account and table
* InnodbAsyncIo - support multiple background IO threads for InnoDB InnoDB 异步IO的支持相信对性能会有很明显的提升
* FastMasterPromotion - promote a slave to a master without restart

MySQL 在联机备份方面是弱势,倒是期待 Google 也能在这个方面做出改进(我非常好奇对于 Google Checkout 数据库是如何备份的).

在 Code 上的另外一个 关键项目 Google Perftools 中的 TCMalloc 对 MySQL 的性能也有很大的改进,相信国内很多出色的 Web 2.0 公司都已经用到这个东西了吧。TCMalloc : Thread-Caching Malloc 号称是目前最快的 Malloc ,对于解决 MySQL 遇到的 Malloc 扩展问题有很大的影响。

没有 Google 的支持,相信 Firefox 不会有现在这么大的影响力。有了 Google 的支持, MySQL 会发展多快 ?

--EOF--

| | Comments (6) |

这篇 Bash Shell Shortcuts 的快捷键总结的非常好。值得学习。下面内容大多数是拷贝粘贴与总结.

CTRL 键相关的快捷键:
Ctrl + a - Jump to the start of the line
Ctrl + b - Move back a char
Ctrl + c - Terminate the command  //用的最多了吧?
Ctrl + d - Delete from under the cursor
Ctrl + e - Jump to the end of the line
Ctrl + f - Move forward a char
Ctrl + k - Delete to EOL
Ctrl + l - Clear the screen  //清屏,类似 clear 命令
Ctrl + r - Search the history backwards  //查找历史命令
Ctrl + R - Search the history backwards with multi occurrence
Ctrl + u - Delete backward from cursor // 密码输入错误的时候比较有用
Ctrl + xx - Move between EOL and current cursor position
Ctrl + x @ - Show possible hostname completions 
Ctrl + z - Suspend/ Stop the command
补充:
Ctrl + h - 删除当前字符
Ctrl + w - 删除最后输入的单词 
ALT 键相关的快捷键:
平时很少用。有些和远程登陆工具冲突。
Alt + < - Move to the first line in the history
Alt + > - Move to the last line in the history
Alt + ? - Show current completion list
Alt + * - Insert all possible completions
Alt + / - Attempt to complete filename
Alt + . - Yank last argument to previous command
Alt + b - Move backward
Alt + c - Capitalize the word
Alt + d - Delete word
Alt + f - Move forward
Alt + l - Make word lowercase
Alt + n - Search the history forwards non-incremental
Alt + p - Search the history backwards non-incremental
Alt + r - Recall command
Alt + t - Move words around
Alt + u - Make word uppercase
Alt + back-space - Delete backward from cursor 
// SecureCRT 如果没有配置好,这个就很管用了。
其他特定的键绑定:
输入 bind -P 可以查看所有的键盘绑定。这一系列我觉得更为实用。
Here "2T" means Press TAB twice
$ 2T - All available commands(common) //命令行补全,我认为是 Bash 最好用的一点 
$ (string)2T - All available commands starting with (string)
$ /2T - Entire directory structure including Hidden one
$ ./2T - Only Sub Dirs inside including Hidden one
$ *2T - Only Sub Dirs inside without Hidden one
$ ~2T - All Present Users on system from "/etc/passwd" //第一次见到,很好用
$ $2T - All Sys variables //写Shell脚本的时候很实用
$ @2T - Entries from "/etc/hosts"  //第一次见到
$ =2T - Output like ls or dir //好像还不如 ls 快捷
补充:
Esc + T - 交换光标前面的两个单词

很多来自GNU 的 readline 库。另外一份总结也很好

记忆是所有技术人员的敌人。一次要把所有的都记住是不可能的。针对自己的使用习惯,对少数快捷键反复使用,短期内就会有效果。

你还知道那些好用的快捷键 ? 补充一下 ?

--EOF--

| | Comments (4) |

原谅我最近的更新频率吧。上回说的基本是 19 日上午的事情,再来说说下午的情况

吃过午饭,赶回人民大会堂。下午的技术演讲已经开始了。我参加的是操作系统的部分。进入会场,第一场章文嵩博士关于 LVS 的讲座已经接近尾声。我胡乱拍了几张照片后发现了阿北。到了提问时间,阿北问了一个关于 LVS 一般会遇到 IO 瓶颈还是 CPU 瓶颈(大意如此)。这个问题提问过后,有个自称是在电信做手机视频工作的朋友走过来和阿北聊了几句,我在旁边介绍说,这就是豆瓣的阿北啊,那个兄弟似乎没听说过,坐在阿北旁边的一个兄弟这时候也转过头来聊了几句,他是 51.com 的,我听说 51.com 买了几十台 EMC 的存储设备用来存储会员上传的视频,一问,这位仁兄很自豪的确认,没错,一天数据量就达到 1T 了。可惜互联网不是单靠数据量取胜,否则这位仁兄更该骄傲了。

第二场是雷鸣的《Linux平台下的高性能系统设计》,演讲内容和 Linux 其实关系不大,如果说成 "Web 高性能系统设计" 也很切题。一场讲座听下来,感觉雷鸣经验的确非常丰富。可能别人觉得挺空洞,不过他举的几个例子倒是对我挺有启发。

下一场则是关于 .net 的了,阿北说没意思,于是走到会议室外面聊天。博文视点的方舟还有 InfoQ 的泰稳也在外面,方舟对 Python 非常着迷,几乎是见人就推荐 Python 的好,刚好豆瓣堪称是国内最成功最大的 Python Web 应用...

最后我和阿北聊起了豆瓣,其实聊的内容有些类似于采访的形式了,基本上是我问,阿北在答。如果能把整个聊天的内容都记录下来,我相信肯定比那些外行的记者采访要精彩一些。豆瓣的经营理念可以说绝对是特立独行的,而且,不功利,从这一点上看,与国内所有的互联网公司经营理念都不同。开始和阿北接触,感觉他是个不善言谈的人,但是围绕豆瓣说开来后,简直是滔滔不绝,到了最后,我只得心里感叹我对豆瓣了解的还太少了。这次和阿北一起来的是 hongqn,他在豆瓣上的 Logo 很容易让人记住:带口罩的。

4 点多,各自准备回去休息一下。我在路边打车,足足等了有 30 分钟,晚上约阿北和 Hongqn 吃饭,结果...我又迟到了,在杭州两年多了,还不如刚来杭州的人熟悉地形呢,丢人。

吃过饭后,和他们两位一起去参加晚上在卡萨布兰卡酒吧的"大侠风尚"网络工程师沙龙,听信了一个出租车司机的话,"没多远", 沿着湖滨路走了整整半个小时,才算看到了湖边的酒吧招牌,我这个带路的,又丢人一次,我路过多少次,都没有注意到这里有个酒吧。

看到了 Rasmus Lerdorf 和 Jeremy Zawodny ,在里面悠闲的喝着啤酒。过了一会儿, Lerdorf 拿着个相机,这拍拍,那拍拍的,这个时候终于没人打扰他了。

其实工程师到酒吧,谈的也都是技术。几位平时就相互很了解的做 DBA 的朋友,见了面还是谈数据库 :) .这次总算见到了高春辉,上次在北京住的地方离他很近,不过时间不凑巧。其实我俩还算半个同乡,他是沈阳人,我是吉林的。老高给我免费培训了一下他的 ECSHOP,现在回想起来,我还是觉得这个产品很有市场,一定会被某个 C2C 大站点看上。

酒吧还看到了不少新老同事,好几位前同事辞职创业,在搞一个很有趣的项目,暂时替他们保密一下。本来和王皓说好这个礼拜天去上海看胡德夫的演唱会,又食言了,他至少给我推荐过二十场我感兴趣的演唱会,可是我...一场都没去过,尤其是上次 Roger Waters 的,我那个后悔啊,谁让我总加班呢??

Yupoo 也来了两位朋友,小橘子,还有他们的内容总监。小橘子送我一个 Yupoo 的 小纪念品,挺好玩的。对了,已经和他们约好,过一段时间参加他们举办的摄影活动去。

 

--EOF--

| | Comments (12) |

Oracle 10g R2 的 Data Pump 是一个好工具,弥补了传统 export/import 工具的很多不足。相关信息可以参考一下我以前对 Data Pump 的介绍

最近在 Linux 平台上经常遇到 ORA-39095 错误。这个错误。这个错误号,文档的解释:

ORA-39095:Dump file space has been exhausted: Unable to allocate string bytes
Cause: The Export job ran out of dump file space before the job was completed.
Action: Reattach to the job and add additional dump files to the job restarting the job.

这个解释只针对一般情况。我遇到的这个案例,目录的空间还有很多,可是也一样报错了。而且,一般在第 100 个 导出文件出错(更正:%U参数是2位,定长的,最大99)。开始以为是 Bug,可是遍查 Metalink,发现和 ORA-39095 错误有关只有两条信息,和我遇到的情况不符。

偶然在阅读 Oracle Database Utilities 手册的时候,发现了这一段话:

Because each active worker process or I/O server process writes exclusively to one file at a time, an insufficient number of files can have adverse effects. Some of the worker processes will be idle while waiting for files, thereby degrading the overall performance of the job. More importantly, if any member of a cooperating group of parallel I/O server processes cannot obtain a file for output, then the export operation will be stopped with an ORA-39095 error. Both situations can be corrected by attaching to the job using the Data Pump Export utility, adding more files using the ADD_FILE command while in interactive mode, and in the case of a stopped job, restarting the job.

真是孤陋寡闻了,我的并行度用的是 4 ,减小这个并行度,该错误不再出现。

You can supply multiple file_name specifications as a comma-delimited list or in separate DUMPFILE parameter specifications. If no extension is given for the filename, then Export uses the default file extension of .dmp. The filenames can contain a substitution variable (%U), which implies that multiple files may be generated. The substitution variable is expanded in the resulting filenames into a 2-digit, fixed-width, incrementing integer starting at 01 and ending at 99. If a file specification contains two substitution variables, both are incremented at the same time. For example, exp%Uaa%U.dmp would resolve to exp01aa01.dmp, exp02aa02.dmp, and so forth.

--EOF--

| | Comments (0) |

文件完整性校验是安全审计必不可少的一个流程。在不同操作系统的数据库服务器上部署 Tripwire 这样的工具是个麻烦事情(前提是使用非商业软件)。在 Linux 服务器上,我以前测试过 integrit ,参见 integrit - Tripwire 的替代品 。如果操作系统是 AIX , 那么 Samhain 可以作为一个替代方案。

在 AIX 5.3 上编译安装后,提示信息值得看看:

 samhain has been configured as follows:
System binaries: /usr/local/sbin
Configuration file: /etc/samhainrc
Manual pages: /usr/local/man
Data: /var/lib/samhain
PID file: /var/run/samhain.pid
Log file: /var/log/samhain_log
Base key: 812826721,276349012

You can use 'samhain-install.sh uninstall' for uninstalling
i.e. you might consider saving that script for future use

Use 'make install-boot' if you want samhain to start on system boot

 

 

make install-boot 可以作为启动 daemon 安装.

/etc/samhainrc 是配置文件,可以参考 Samhain 文档 进行配置。之后即可 运行 /usr/local/sbin/samhain -t init -p info 进行数据库初始化。-p 这个参数后面可以跟 warning, cri(critical) 等参数,打印不同级别的信息。Samhain 这个工具唯一让我感觉不好的地方就是文档说明比较晦涩。配置选项什么都还可以,命令行解释连个例子也不给,还需要摸索半天。

命令行说明: samhain -t check #检查数据库 samhain -t update #更新数据库 -p info 可以看到相关信息

注意配置 /etc/samhainrc 的时候,默认可能是设定了程序作为 Daemon 启动,最好修改一下,否则运行几次,后台一堆 samhain daemon 在跑。

初始化--> 更新 --> 检查--> 列出变更信息

这应该是类似工具的统一使用思路。只是实现细节上略有差异。

现在在这一堆类似的软件中,号称支持 AIX 的就有 Tripwire 开源版本AIDE 等,但是安装编译几乎很难顺利的通过,网上也很少能够找到相关支持信息。对于这几个软件之间的差异,可以参考 Samhain 上的比较表格(注意有的信息可能比较旧了)

--EOF--

| | Comments (0) |

这几天一直忙着折腾系统,抽空安装了好几台大大小小的服务器上的 Oracle,简单说说在 AMD 64 机器(RHEL 4) 上部署 Oracle 的注意事项。

首先, Werner Puschitz 的 Oracle 安装指导肯定是要看看的,特别注意其中要求的安装包,glibc-devel 包 32 位与 64 位都是需要的。查询语句如下:

rpm  --queryformat "%{NAME}-%{VERSION}.%{RELEASE} (%{ARCH})/n" -q make /
       binutils /
       gcc /
       cpp /
       glibc-devel /
       glibc-headers /
       glibc-kernheaders /
       compat-db /
       compat-gcc /
       compat-gcc-c++ /
       compat-libstdc++ /
       compat-libstdc++-devel /
       gnome-libs /
       openmotif21 /
       setarch 

 

第二个必需要注意的地方是 gcc 工具的处理,与 32 位操作系统略有不同:

mv /usr/bin/gcc /usr/bin/gcc.orig
mv /usr/bin/g++ /usr/bin/g++.orig
ln -s /usr/bin/x86_64-redhat-linux-gcc32 /usr/bin/gcc
ln -s /usr/bin/x86_64-redhat-linux-g++32 /usr/bin/g++

 

$LD_ASSUME_KERNEL 环境变量要设定:

export LD_ASSUME_KERNEL = 2.4.19
这个变量如果不设定的话,安装的画面会一直 Hang 在那里。

 

有的兼容软件可以在 Oracle Compatibility 项目主页上下载,compat-libcwait 与 compat-oracle 这 2 个包是必须的。

Oracle 的安装还是一如既往的麻烦,考虑到每台机器还要打 Patchset,然后是一堆过渡性补丁,绝对是体力活。

--EOF--

| | Comments (4) |

先前说过 GNU 核心工具,类比了鸠摩智掌握了小无相功,就可以把 72 绝技耍得有模有样。这里的问题是,72 绝技秘笈在哪里 ? 如何去学 72 绝技呢?

林林总总的 Unix-like 操作系统文档都是可以找到的,如果把这些文档都看一遍恐怕是个大工程。我这里的建议是寻找差异化,推荐一篇很好的参考文档: Unixguide,建议打印下来,留在案头参考。多看几遍,起码对于不同 Unix 之间的差异有个大致的了解。不过可能没有人要同时面对这么多的操作系统要去搞, 有的时候可能只是从 Linux 转向 AIX,或是 Solaris 向 Linux 之间的转换,那么可以看一些迁移文档,比如 Solaris to Linux Migration: A Guide for System Administrators,都是完全可以在网上获取的。掌握差异化往往是节省学习成本的好方法,当然也是蒙人的好办法。

掌握差异化的过程中,或许可以进行一定程度上的总结,向回看,这些差异化有很多是因为 SysV 与 BSD 风格的不同带来的,颇有些武侠小说中佛家与道家武功对比的味道。站在一个更高的角度,比如 Unix 历史图,则令人又另有一番感触。

武侠小说中往往追求正统, 速成的东西大多被归结为邪门武功一类的,学习恐怕也是这样,决不能因为知道"一二三”如何写的就联想到"万"该划一万笔,走捷径或许只能解决一时问题,回头基础的东西还是要学,比如操作系统原理的课程。

未完, 等有机会继续扯...这个【扯淡系列】

| | Comments (1) |

关于 Crontab ,维基百科上的词条 Crontab非常好。可惜这个地址在国内不用代理访问不到。

虽然关于 Crontab 的介绍到处都是,详细读了一遍这个词条,收获还是有的。Crontab 这个名字来自 "chronos",一个古希腊语, “时间”的意思.

常见陷阱
每个SA、DBA 或者是普通的 Unix 用户,在第一次使用 Crontab 的时候都会遇到问题. 运行 Crontab 的常见错误包括如下几种:

1) 出于测试目的新创建了一条 Cron JOB, 时间间隔必须超过两分钟,否则 JOB 将调度不到。如果必须忽略这两分钟的载入配置时间差,可以通过重新启动 Cron Daemon 做到。

2) 从 Crontab 中启动 X Window 程序需要注意的事项:所以要么在程序前初始化 "DISPLAY=:0.0", 要么在应用程序后面追加参数 --display :0.0

3) 命令中的 % 必须做转义处理: /% .我个人的意见是不要在命令行里带这个参数,干脆写到脚本里,然后调度该脚本即可。

其实我倒是认为使用 Crontab 最常见的一个问题往往是因为环境变量不对。经常会看到论坛里有人问:为什么我的 Crontab 创建了不执行? 准备创建一条 Cron JOB 的时候,很多人都喜欢在命令行下运行一遍,因为这个时候环境变量是随着 Shell 自动带进来,在 Crontab 中则可能因为找不到正确的环境变量,JOB 就不能执行。这个小问题就像出天花,一次教训之后就都记得了。

必须使用的一则技巧
每条 JOB 执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。所以每条 JOB 命令后面进行重定向处理是非常必要的: >/dev/null 2>&1 。前提是对 Job 中的命令需要正常输出已经作了一定的处理, 比如追加到某个特定日志文件。

附: Crontab 的格式说明如下:

* 逗号(',') 指定列表值。如: "1,3,4,7,8"
* 中横线('-') 指定范围值 如 "1-6", 代表 "1,2,3,4,5,6"
* 星号 ('*') 代表所有可能的值

Linux(开源系统似乎都可以)下还有个 "/" 可以用. 在 Minute 字段上,*/15 表示每 15 分钟执行一次. 而这个特性在商业 Unix ,比如 AIX 上就没有.

# Use the hash sign to prefix a comment
# +---------------- minute (0 - 59)
# |  +------------- hour (0 - 23)
# |  |  +---------- day of month (1 - 31)
# |  |  |  +------- month (1 - 12)
# |  |  |  |  +---- day of week (0 - 7) (Sunday=0 or 7)
# |  |  |  |  |
# *  *  *  *  *  command to be executed

 

| | Comments (6) |

Matrix 似乎提前来到我们身边。从 06 年开始,陆续看到多次关于 Second Life(SL) 的报道。因为自己的笔记本跑不起来 SL 的客户端,所以一直没有能体会这个虚拟世界的魅力。今天花了一点时间,读了几篇相关的文档。

RealNetworks 前 CTO Philip Rosedale 通过 Linden 实验室创建了 Second Life,2002 年这个项目开始 Alpha 版测试,当时叫做 LindenWorld。

2007 年 2 月 24 日号称已经达到 400 万用户(用户在游戏中被称为 "Residents",居民)。 2001 年 2 月 1 日,并发用户达到 3 万。并发用户每月的增长是 20%。这个 20%现在看起来有些保守了,随着媒体的关注,增长的会有明显的变化。系统的设计目标是 10 万并发用户,系统的复杂度不小,但 Linden 实验室对SL 的可扩展能力信心满满。

目前在旧金山与达拉斯共有 2000 多台(现在恐怕3000也不止了吧) Intel/AMD 服务器来支撑整个虚拟世界(refer here)。64 位的 AMD 服务器居多。操作系统选用的 Debian Linux, 数据库是 MySQL。通过 Tim O'relly 的这篇 Web 2.0 and Databases Part 1: Second Life ,可以了解到一点关于 SL 数据库建设的信息。在 Second Life 中每个地理区域都是运行在服务器软件单一实例上的,叫做"模拟器"或者简称是 "sim",每个 Sim 负责 16 英亩的虚拟土地。当用户在相邻的 Sim 间移动,实际上是从一个处理器(或是服务器)移动到另一个。根据这篇访谈,用户当前所在 Sim 的信息,以及用户本身的账户信息是存储在一个中心数据库上的。

Second_Life_db_arch.png


SL 的客户端软件的下载使用了 Amazon 的 S3 服务。

一点感想:MySQL 真是这波 Web 2.0 大潮中最大赢家之一啊

--EOF--

| | Comments (9) |

这段时间在邮件列表中讨论最多的一个话题就是 DST(Daylight Saving Time)。这个 DST 我们以前称之为"夏令时",不过英文的叫法似乎更直接(日光节省时、节能时),更能引起人们重视--节约能源。

啥是 DST?
美国加拿大实行 DST 的时间是 3 月的第二个星期天早晨两点开始到 11 月的第一个星期日的早晨两点。三月第二个个星期日早晨两点所有时钟向前回拨一个小时,到 11 月 DST 截止再拨回来。我查了一下,以前似乎不是强制的,这和现任总统小布什签署的 Energy Policy Act of 2005 法案 有关。而 2007 年是改方案实行的第一年。

Daylight Saving Time , DST.gif

很明显,对于计算机操作系统与数据库来说,这样折腾来折腾去的不可能靠人手工去调整时间,所以很多欧美软件产商纷纷推出软件补丁来解决这个问题。规模之大足以让人想起千年虫的事件。

DST 与 Oracle
Oracle 数据库的调整可以从 Oracle 站点上的这个指导开始: Oracle Database Daylight Saving Time Update Guide。因为需要打新的软件补丁,数据库必需要进行重新启动。所以很多在线应用必需要忍受这次调整带来的影响。
DST 影响中国么?
我国因为取消了夏令时制度,这可能是因为能源问题虽然更加紧迫,但因为时间变来变去给人们带来的麻烦更多而取消的吧。具体的原因我不清楚,谁知道麻烦告诉我一下。如前所述,国内的 DST 问题实际上是不存在的。当然,如果你的服务器是放在美国或者加拿大,或者是面向这两个地区的用户,就需要评估一下影响了。
关于夏令时
我国曾于1986年到1991年每年从四月的第二个星期天早上2点钟,到九月的第二个星期天早上2点钟,在这段时期内,全国都将时间拨快1小时,实行夏令时。从九月的第二个星期天早上2点钟起,又将拨快的时间重新拨回来,直到第二年四月的第二个星期天早上2点钟。
Linux 怎么应对 DST?

Linux 厂商会有一个官方指导(比如 Redhat 的 DST 指导 )。如果是个人 PC,不妨参考这个:Switching your Linux systems to the new DST

-EOF--

| | Comments (6) |

监控 Linux 服务器的时候,经常在 /var/log/messages 文件中看到类似如下的信息:

fooServer ntpd[7250]: can't open /etc/ntp/drift.TEMP: Permission denied

 

快速解决:

编辑 /etc/ntpd.conf 文件,找到这一行:

driftfile /etc/ntp/drift
修改为:
driftfile /var/lib/ntp/drift
更多信息参考 这里

 

这个问题最容易在 RHEL 服务器上遇到,碰上两次了,记录一下备忘。

--EOF--

| | Comments (0) |

Internet Archive(IA) 这个站点大家应该都不陌生。IA 旨在建立所有互联网站点的"档案库",如果说 Google 是互联网的数据库的话,那么 IA 就是互联网的数据仓库了,定期对每个 Web 页面保存快照,数据量之大可想而知。

先看看 IA 每天需要面对的处理能力:
存储超过 850 亿个 Web 页面;
每天大约 600 万次的下载;
Wayback Machine 收到大约 1000 万次点击,每秒钟要处理 100-200 个点击;
每天10万次左右通过 URL 查找;
每天 400 万次返回请求;
存储的内容包括本文、音频、视频...等各种 Web 可见的格式。

显然 IA 需要的是一种前所未有的存储解决解决方案--廉价、可靠、低功耗...总之用起来要省钱。IA 的志愿者不得不考虑自己动手建立符合他们需要的存储系统,这下子可不简单,2004 年,第一个 100GB 容量的近线存储投入使用 。IA 的志愿者之一 Saikley 干脆抽身而出成立了 Capricorn Technologies 公司,专为类似组织提供存储解决方案。前面提到的 100TB 容量的产品即为该公司 GB 系列的产品。现在 IA 已经采用 PS(PowerStore) 系列的 PetaBox,是量身定做的,装机容量 1.5T,目前容量已经超过 3PB(怕是远远超过 3PB 了)。PS 系列产品每节点原始容量可以达到 3T,使用日立 Deskstar 硬盘,仅仅占 1U 的机柜空间。IA 也在站点上介绍了定制的这台 PetaBox 的一些规格要求以及参数

Capricorn Technologies PS 系列旗舰产品

PetaBox 也是 Linux 在企业级应用取得成功的一个范例。

PetaBox 存储产品给存储界带来了不小的震撼。每 GB 的成本仅仅是 2 美元。这还是 2005 年的价格,现在应该更便宜了。搜索了一下,这家公司目前还没有进入中国。

PetaBox 系统通过一个集中式的 PXE 启动服务器运行在 Debian 或是 Fedora Linux ,通过 Nagios 进行整个环境的监控。 管理成本也并不高--每 PB 一个人。

--EOF--

| | Comments (4) |

"说出 10 个 Linux 基本命令?"

这是当年我在毕业求职的时候遇到的一个面试题。没有难度。如果说法换一下,"说出 10 个 GNU 核心命令",即使我能蒙出来 10 个,怕也会有错误。

GNU 核心工具(GNU Core Utilities)指的是 GNU 操作系统基本的文件、Shell、文本维护工具。

The GNU Core Utilities are the basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every operating system.

GNU 核心工具 包括 fileutilsShellutilstextutils 三个部分。其中 fileutils 只有 22 个命令,有三个命令我居然从来没有用到过,分别是 mkfifo(Creates FIFOs)、shred(Destroy data in files)、vdir(Long directory listing)。Shellutils 有 35 条命令,其中也有我从来没有注意过的命令,比如 pinky(Lightweight finger);textutils 工具中也有用的极少的工具,而且用的时候也往往有一些坏习惯,textutils 有 26 条命令,注意 VI/VIM 并不在其中。

初学 Unix/GNU Linux 的时候往往觉得老虎吃天,无从下口。这里有个小小的建议:从这个 GNU 核心工具开始,逐步掌握包含的三类几十条命令。对于类 Unix 操作系统你就可以拿出去蒙人了,呵呵,象 Unix 操作系统速成? 这有点像《天龙八部》中鸠摩智学会了小无相功,就能把少林 72 绝技耍的像模像样有些类似。当然,仅靠这一点还不足以行走江湖,有时间咱再继续说。

--EOF--

| | Comments (7) |

最近 IBM developerWorks 中国 刊载了一篇 《UNIX 高手的 10 个习惯》,尽管这个标题有点标题党的味道(英文名字不过是 UNIX tips: Learn 10 good UNIX usage habits),但是从内容上看还是一篇好文章。

先看看这10个好习惯都是什么:

  1. 在单个命令中创建目录树
  2. 更改路径;不要移动存档
  3. 将命令与控制操作符组合使用
  4. 谨慎引用变量
  5. 使用转义序列来管理较长的输入
  6. 在列表中对命令分组
  7. 在 find 之外使用 xargs
  8. 了解何时 grep 应该执行计数——何时应该绕过
  9. 匹配输出中的某些字段,而不只是对行进行匹配
  10. 停止对 cat 使用管道

 

如果换个角度,我们可以从中得到 10 个坏习惯。Unix 新手可能或多或少都会有这些毛病。就拿我自己来说,最后的三条的毛病现在就有。..grep 计数的话往往来个 |wc -l , 或者是 cat .. | grep 。这 10 条经验中,有些好习惯我倒是有的,比如第三条的"将命令与控制操作符组合使用", 如果有几十上百次手工编译 Linux Kernel 代码的话,对这一条肯定会潜移默化形成好习惯。

有这样一种说法"习惯是行为不断重复制造出来,并根据自然法则养成",习惯比较容易养成,可究竟是好习惯还是坏习惯,这是一个问题啊。

--EOF--

| | Comments (5) |

Oracle 10g 的 Data Pump 是个不错的新特性,因为新(其实 10g 也发布好几年了),所以也存在不少问题。

比如 EXPDP 的 EXCLUDE 参数,expdp help=y 输出的内容是这样说明的:

     
     
EXCLUDE Exclude specific object types, e.g. EXCLUDE=TABLE:EMP.

可是实际上用这样的格式却是不正确的,会得到一个错误提示信息:

     
     
ORA-39071: Value for EXCLUDE is badly formed.

正确的格式是啥? 如果第一次遇到或许还有些不知就里,莫明其妙。在 ITpub 上有个讨论,有朋友贴的文档给出了正确的语法:

     
     
EXCLUDE=TABLE:"IN ('TABLENAME1', 'TABLENAME2')"

对于 EXCLUDE/INCLUDE 参数还要注意的是二者不能共用。此外,Linux 和 Windows 下的命令行可能要对转义符号注意一点。

这个语法问题存在好久了,应该算是文档的 Bug ? Oracle 还没有进行修正。

EXPDP 我还遇到另外一个问题,生成的文件超过 99 个就会报错。有谁遇到过没?

--EOF--

BTW: 最近看到有朋友批评我写的东西没意思,其实首先要明确一点,我写的东西基本上是比较简单的所谓"技术", 另外我也不知道写什么有意思,众口难调,而且,写多了我也腻。

| | Comments (8) |

在 Red Hat Enterprise Linux Server 上安装 Oracle 的时候,如果误打误撞顺利的话可能一个错误都碰不到,如果不顺利可能每一步都有槛。以下是几个小建议,可能会让一些朋友少一点麻烦。

1. 安装 OS 时候请选择 "Install Default Software Servers"
很多朋友在安装操作系统的时候会选择 Custom 模式安装软件包, 这样看上去似乎会灵活一些,但是也带来潜在的极多麻烦。数据库软件依赖的包如果缺少的话,再次安装就麻烦了--软件之间的依赖性非常让人闹心的。RHEL 又没有对 YUM/ APT 等自动解决依赖性工具的正式支持。
2. 参考 Oracle Validated Configuration
Oracle 这个服务很好。每个配置清单都是经厂商验证过可行的,参考性比较大。尤其是关于当前版本的临时 Patch 参考,更是必需要着重处理。
3. OS 安装文件 .iso 在服务器上放置一份
对数据库来说,一般都是远程操作服务器,如果临时需要安装文件,总不能跑到机房再把光盘扔里面吧? 这时这个 iso image就有用场了。如果上面说的第一条是定制安装 OS 的话,那么几乎就会用到安装光盘. 很多人要找安装包就从网上 rpmfind.net 之类的地方随便找个 RPM 包安装,强烈反对这样做。

另外:Werner Puschitz 的安装参考要超过 Oracle 的官方指导。必读。

几个小小建议,行家眼里不值一哂。

--EOF--

| | Comments (6) |

Oracle 这只大鲨鱼胃口越来越好了。LAMP (Linux, Apache, MySQL, PHP) 一直以来被视为一个非常完美的组合形式,现在 Oracle 或许有了想把 LAMP 中的 "M" 替换为 "O" -Oracle 的想法。LAOP, LAOP? 现在这还是我的猜测,起因是看到了这篇 Drupal + Oracle: Inside the OraDrup Project

现在 OraDrup 项目还只是刚刚起步,Oracle XE 的确拉近了使用者与 Oracle 之间的距离,这个易于部署的版本一改 Oracle 过去"重"的形象,多少有点"轻量级"的意思,在中小应用上开始抢 MySQL 的地盘。LAOP 中的 O 有点牵强,却也是可以为之。

LAOP 中的 "P" (PHP)呢? Oracle 对 PHP 也是下了不少力气的。与 Zend 的倾力合作时间也不短了,Oracle 在 PHP 这一块的技术社区也逐渐做了起来。

至于 Linux 和 Apache ,对 Oracle 来说也是必争之地,苦心经营了多年。尤其是 Linux 服务器这一块,甚至不惜与多年的合作伙伴 Red Hat 交恶

Oracle 会花多大力气来争夺这最关键的一环还真不好说,也或许只是一些 Oracle 技术爱好者的一厢情愿(或许更多是我的猜测:))。

再过一段时间没准 LAOP 这个缩写就流行起来喽,谁知道呢。

--EOF--

| | Comments (6) |

RHEL 4 上,默认 top 命令的显示有了一点小变化:如果是 SMP 机器 ,只显示 CPU 的概要信息。

其实很多用户还是喜欢看到 CPU 的细节数据的,要恢复旧的显示习惯,只需要输入数字 1 即可打开到 SMP 显示模式。输入大写的英文字母 I 则显示 Irix/Solaris 模式。

小技巧:在输入 1 后,再输入一个大写的 W 即可在当前用户默认路径下保存一个 .toprc 文件,下次启动 top 命令就不用费事了。

这个变化和 procps 版本有关,还不确定是否是因为 RHEL 的 Bug -- 虽然 RHEL 与 procps 相关的 Bug 挺多。

--EOF--

| | Comments (6) |

OTN 上下载文件,有的时候是比较烦人的事情。估计是出于负载均衡的原因,直接使用浏览器看到的地址还要经过几次 http 302 跳转才可以看到。而这个跳转是要带着 Session 走的,如果使用多线程下载工具就有可能到一个很小的错误页面文件。新版本的 FlashGet 就有这毛病。

如果准备安装的服务器在远程,参考这里的方法,用 Wget 直接下载其实也并不费事。

现通过浏览器获知该数据文件的 URL 地址。然后来个投石问路看看具体的跳转情况:

     
     
$ wget --limit-rate=150k / http://download.oracle.com/otn/linux/oracle10g/ / 10201/10201_database_linux_x86_64.cpio.gz http://download.oracle.com/otn/linux/oracle10g/ / 10201/10201_database_linux_x86_64.cpio.gz => `10201_database_linux_x86_64.cpio.gz' Resolving download.oracle.com... 213.35.100.1 Connecting to download.oracle.com[213.35.100.1]:80... connected. HTTP request sent, awaiting response... 302 Found
Location: http://download-
west.oracle.com/otn/linux/oracle10g/10201/ 10201_database_linux_x86_64.cpio.gz [following] http://download-west.oracle.com/otn/linux/oracle10g/10201/ 10201_database_linux_x86_64.cpio.gz
=> `10201_database_linux_x86_64.cpio.gz' Resolving download-west.oracle.com... 206.204.21.139 Connecting to download-west.oracle.com[206.204.21.139]:80... connected. HTTP request sent, awaiting response... 302 Found
Location: https://profile.oracle.com/jsp/realms/otnLogin.jsp?
remoteIp=218.108.233.1&globalId=&redirectUrl=http%3a%2f%2fdownload-
west.oracle.com%3a80%2fotn%2flinux%2foracle10g%2f10201%
2f10201_database_linux_x86_64.cpio.gz [following] --16:11:01-- https://profile.oracle.com/jsp/realms/otnLogin.jsp? remoteIp=218.108.233.1&globalId=&redirectUrl=http%3a%2f%2fdownload- west.oracle.com%3a80%2fotn%2flinux%2foracle10g%2f10201% 2f10201_database_linux_x86_64.cpio.gz => `otnLogin.jsp? / remoteIp=218.108.233.1&globalId=&redirectUrl=http:%2F%2Fdownload-
west.oracle.com:80%2Fotn%2Flinux%2Foracle10g%2F10201%
2F10201_database_linux_x86_64.cpio.gz' Resolving profile.oracle.com... 141.146.8.116 Connecting to profile.oracle.com[141.146.8.116]:443... connected.
HTTP request sent, awaiting response... 200 OK Length: 4,106 [text/html]

输出实在是有点恶心,我在适当的地方做了换行处理。要在第二个 Location 处下手:

https://profile.oracle.com/jsp/realms/otnLogin.jsp?remoteIp=218.108.233.1&globalId=&redirectUrl=http%3a%2f%2fdownload-west.oracle.com%3a80%2fotn%2flinux%2foracle10g%2f10201%2f10201_database_linux_x86_64.cpio.gz

在这个地址后添加 &username=YOURPASSWORD&password=YOURPASSWORD&submit=Continue . YOURUSERNAME/YOURPASSWORD 是在 OTN 上的用户名与口令。然后提交如下的命令即可:

     
     
wget --limit-rate=128K --post-data="https://profile.oracle.com/jsp/realms/otnLogin.jsp? / remoteIp=218.108.233.1&globalId=&redirectUrl=http%3a%2f%2fdownload- / west.oracle.com%3a80%2fotn%2flinux%2foracle10g%2f10201% / 2f10201_database_linux_x86_64.cpio.gz / &username=YOURUSERNAME&password=YOURPASSWORD&submit=Continue" / https://profile.oracle.com/jsp/reg/loginHandler.jsp

如果嫌输出麻烦,可以在最后 -o downloadOracle.log . 新开一个终端窗口 tail -f downloadOracle.log 就可以观察下载进度了。

要养成随时用 Unix 的习惯思考问题,还真是一个需要时间的事情 :)

--EOF--

| | Comments (9) |

手边有一份 2005 Winter TopTen Award Winners的报告,包含了一些关于世界上排名前几位的 VLDB 的信息。VLDB,超大数据库,其实叫做"狂大数据库"倒是也很贴切。

如果不区分操作系统环境,Yahoo! 力拔数据仓库一项的头筹,单个数据库数据大小接近 100T 。采用的是 Oracle 数据库,部署在 Unix 上, 存储是 EMC 的设备。这是 2005年的数据,雅虎现在每日接近 40 亿 PV,这个数据仓库现在应该远超 100T 了吧。 电信巨头 AT&T 的数据仓库屈居亚军。Amazon 的两个数据仓库也不小,数据量多达 24773 GB,是用 Oracle RAC 实现的,部署在 Linux 操作系统上。

OLTP Top 10

我比较关心 OLTP 数据库的情况。下面这个图表是包括所有操作系统环境的 OLTP 数据库情况。前 10 名中只有两个采用了集群,而且都是集中式集群(Centralized/Cluster)。其余8个席位都采用了 SMP 架构,而且大多是集中式(Centralized)。分布式超大 OLTP 的成功案例看来并不多(只有 1 例,另外有一例是Federated)。让 Fenng 稍微有些惊讶的是 SQL Server 占了三个席位,数据量最大接近 8T 。整个表看来,数据库类别、所用的软件平台还真的比较平均。并非我想象的完全是 DB2/Oracle+Unix 的格局。

世界上 Top 10 OLTP 数据库

Unix 上 OLTP TOP 10


下表是使用 Unix 操作系统 OLTP TOP 10。好家伙,几乎清一色的 Oracle。DB2 不见踪影,只有 Sybase ASE 还算争气,占了一个席位。 9 个 Unix 平台上的 Oracle OLTP DB,只有两个使用了 RAC ,其他都是 Centralized/SMP。

 

到现在为止,都还没有看到互联网站点的身影。

| | Comments (23) |

(现在是广告时间)

如果你对海量数据有较强的分析处理能力,能够透过数据发现一些潜在的问题;
如果你有超强的逻辑推理能力,能够敏锐的寻找到支持你论据的特征值,还原案发现场
如果你对 SEO 或者点击器有一定的了解,做过这方面的探索研究或者是实践;
如果你曾经是一名站长,厌倦了江湖争斗,希望成为网络秩序的捍卫者...

那么你就是我们最合适的人选,我们诚邀你加盟我们(雅虎中国)的竞价防作弊Team,还我们的客户一个明亮纯洁的广告投放空间。

如果你不具备以上的条件,只要你有一颗正直的心,同时有希望成长为一个经验丰富的网络安全卫士的决心和勇气。当你具备以下技能后,你仍然可以加入我们的队伍。

1. 1 年以上工作经验。
2. 半年以上 Linux 使用经验。
3. 开发语言:Perl/PHP/Shell,熟练掌握其中至少1种。
4. 了解 HTML/JavaCcript 网站制作技术,具有网站制作、开发经验。
5. 有过海量(百万以上)数据统计、分析经验更佳。
6. 有一定的沟通能力,具有协同工作经验。

来吧!惩恶扬善,维护世界和平的重任就落在你的肩上了!

此时此刻,非你莫属!
感兴趣的朋友给我发电子邮件吧: dbanotes@gmail.com

--EOF--

| | Comments (8) |

今天升级 foobar2000 的时候,忽然想起来一个问题:在今天还有人用超级解霸的么? (一个音频工具,一个视频工具,我也不知道怎么就联系上了)

曾几何时,超级解霸就是媒体播放工具的代名词,梁肇新也是那个年代的 IT 传奇英雄。从一些媒介上能看出来,这个大脑袋的梁肇新是一个 Windows 编程高手,也是一个非常偏执的人,不过对于技术趋势并没有很好的感觉。我还记得他曾经说过的 "Linux 是假技术"论,搜了一下,当初梁肇新是这样说的:

从一开始,我就认定,Linux 不会走得太远,我认为它注定只是一种炒作,一种'假技术'。一种技术要有前途,必须满足下面的三个要素:兼容性、开放性和标准性。Linux 的致命缺陷在兼容性上面。所以,我断定,Linux 不会有什么前途。

现在把这段话再拿出来看,几乎和笑话一样。"兼容性、开放性和标准性",超级解霸是符合的么? 相反,几乎没有什么高精尖技术而仅仅是封装开源产品的暴风影音等同类产品倒是占据了更多的市场。看一下国外,和超级解霸几乎一个模式的 DivX 折腾折腾还上了市。

尽管这个产品拥有"消除毛刺、断点续播、数字音频、P2P播放、数字影院等数十项专利技术",从用户的角度上看,我倒认为,超级解霸最大的一个缺点就是糟糕的界面--一种华丽的土气(如果是 foobar2000 这样的朴素反而是另外一回事)。多少个版本延续花里胡哨的土界面,这种设计理念倒有点和梁肇新的偏执脾气类似。

前一段时间有传言:超级解霸将可能被收购。尽管会有什么"进军网络媒体"之类的豪言壮语,但要想恢复往日的荣光几乎是不可能的了。被收购几乎意味着一种放弃,很难看到有哪一个曾经风光的通用软件被收购后重放光彩,还是提前纪念一下这个曾经的传奇软件吧。

--EOF--

| | Comments (23) |

(插播一则新闻:竞拍这本《Don’t Make Me Think》,我出价 RMB 85,留言的不算--不会有恶意竞拍的吧? 要 Ping 过去才可以,失败一次,再来)

Craigslist 绝对是互联网的一个传奇公司。根据以前的一则报道:

每月超过 1000 万人使用该站服务,月浏览量超过 30 亿次,(Craigslist每月新增的帖子近 10 亿条??)网站的网页数量在以每年近百倍的速度增长。Craigslist 至今却只有 18 名员工(现在可能会多一些了)。

Tim O'reilly 采访了 Craigslist 的 Eric Scheide ,于是通过这篇 Database War Stories #5: craigslist 我们能了解一下 Craigslist 的数据库架构以及数据量信息。

数据库软件使用 MySQL 。为充分发挥 MySQL 的能力,数据库都使用 64 位 Linux 服务器, 14 块 本地磁盘(72*14=1T ?), 16G 内存。

不同的服务使用不同方式的数据库集群。

论坛

1 主(master) 1 从(slave)。Slave 大多用于备份. myIsam 表. 索引达到 17G。最大的表接近 4200 万行。

分类信息

1 主 12 从。 Slave 各有个的用途. 当前数据包括索引有 114 G , 最大表有 5600 万行(该表数据会定期归档)。 使用 myIsam。分类信息量有多大? "Craigslist每月新增的帖子近 10 亿条",这句话似乎似乎有些夸张,Eric Scheide 说昨日就超过 330000 条数据,如果这样估计的话,每个月的新帖子信息大约在 1 亿多一些。

归档数据库

1 主 1 从. 放置所有超过 3 个月的帖子。与分类信息库结构相似但是更大, 数据有 238G, 最大表有 9600 万行。大量使用 Merge 表,便于管理。

搜索数据库

4 个 集群用了 16 台服务器。活动的帖子根据 地区/种类划分,并使用 myIsam 全文索引,每个只包含一个子集数据。该索引方案目前还能撑住,未来几年恐怕就不成了。

Authdb

1 主 1 从,很小。

目前 Craigslist 在 Alexa 上的排名是 30,上面的数据只是反映采访当时(April 28, 2006)的情况,毕竟,Craigslist 数据量还在每年 200% 的速度增长。

Craigslist 采用的数据解决方案从软硬件上来看还是低成本的。优秀的 MySQL 数据库管理员对于 Web 2.0 项目是一个关键因素。

--EOF--

| | Comments (8) |

作为电子商务领头羊的 eBay 公司,数据量究竟有多大? 很多朋友可能都会对这个很感兴趣。在这一篇
Web 2.0: How High-Volume eBay Manages Its Storage(从+1 GB/1 min得到的线索) 报道中,eBay 的存储主管 Paul Strong 对数据量做了一些介绍,管中窥豹,这些数据也给我们一个参考。

站点处理能力

  • 平均每天的 PV 超过 10 亿 ;
  • 每秒钟交易大约 1700 美元的商品 ;
  • 每分钟卖出一辆车A ;
  • 每秒钟卖出一件汽车饰品或者配件 ;
  • 每两分钟卖出一件钻石首饰 ;
  • 6 亿商品,2 亿多注册用户; 超过 130 万人把在 eBay 上做生意看作是生活的一部分。

在这样高的压力下,可靠性达到了 99.94%,也就是说每年 5 个小时多一点的服务不可用。从业界消息来看,核心业务的可用性要比这个高。

数据存储工程组控制着 eBay 的 2PB (1Petabyte=1000Terabytes) 可用空间。这是一个什么概念,对比一下 Google 的存储就知道了。每周就要分配 10T 数据出去,稍微算一下,一分钟大约使用 1G 的数据空间。

计算能力

eBay 使用一套传统的网格计算系统。该系统的一些特征数据:
  • 170 台 Win2000/Win2003 服务器;
  • 170 台 Linux (RHES3) 服务器;
  • 三个 Solaris 服务器: 为 QA 构建与部署 eBay.com; 编译优化 Java / C++ 以及其他 Web 元素 ;
  • Build 整个站点的时间:过去是 10 个小时,现在是 30 分钟;
  • 在过去的2年半, 有 200 万次 Build,很可怕的数字。

存储硬件

每个供货商都必须通过严格的测试才有被选中的可能,这些厂家或产品如下:
  • 交换机: Brocade
  • 网管软件:IBM Tivoli
  • NAS: Netapp (占总数据量的 5%,2P*0.05, 大约 100 T)
  • 阵列存储:HDS (95%,这一份投资可不小,HDS 不便宜, EMC 在 eBay 是出局者) 负载均衡与 Failover: Resonate ;


搜索功能: Thunderstone indexing system ;
数据库软件:Oracle 。大多数 DB 都有 4 份拷贝。数据库使用的服务器 Sun E10000。另外据我所知, eBay 购买了 Quest SharePlex 全球 Licence 用于数据复制.

 

非常有意思,根据eWeek 的该篇文档,昨天还有上面这段划掉的内容,今天上去发现已经修改了:

架构

  • 高分布式
  • 拍卖站点是基于 Java 的,搜索的架构是用 C++ 写的
  • 数百名工程师进行开发,所有的工作都在同样的代码环境下进行

可能是被采访者看到 eWeek 这篇报道,联系了采访者进行了更正。我还有点奇怪原来"两层"架构的说法。

其他信息

  • 集中化存储应用程序日志;
  • 全局计费:实时的与第三方应用集成(就是eBay 自己的 PayPal 吧?)
  • 业务事件流:使用统一的高效可靠消息队列. 并且使用 Cookie-cutter 模式用于优化用户体验(这似乎是大型电子商务站点普遍使用的用于提高用户体验的手法)。

后记

零散作了一点流水帐。作为一个 DBA, 或许有一天也有机会面对这样的数据量。到那一天,再回头看这一篇电子垃圾。

更新:更详细信息请参考:Web 2.0: How High-Volume eBay Manages Its Storage。可能处于 Cache 的问题,好几个人看到的原文内容有差异

--EOF--

应用服务器


应用服务器有哪些特点呢?
  • 使用单一的两层架构(这一点有点疑问,看来是自己写的应用服务器)
  • 330 万行的 C++ ISAPI DLL (二进制文件有 150M)
  • 数百名工程师进行开发
  • 每个类的方法已经接近编译器的限制
| | Comments (6) |

Oracle 的 Unbreakable Linux

Uploaded by Fenng(Refer).


Larry Ellison 在 Oracle Open World 大会上宣布提供企业级别的 Linux 支持服务,"Unbreakable Linux" ,在 Oracle 公司公布的新闻稿上这么写着:

Oracle starts with Red Hat Linux, removes Red Hat trademarks, and then adds Linux bug fixes.

Currently, Red Hat only provides bug fixes for the latest version of its software. This often requires customers to upgrade to a new version of Linux software to get a bug fixed. Oracle's new Unbreakable Linux program will provide bug fixes to future, current, and back releases of Linux. In other words, Oracle will provide the same level of enterprise support for Linux as is available for other operating systems.

 

也就是说,Oracle 在 Red Hat 的 RHN 之外提供一个同样性质的服务,价格更低($99 per system per year)。红帽子公司会怎么想? 这不摆明了坑人么... 自从 Red Hat 收购 Jboss 之后, Oracle 对红帽子的觊觎之心路人皆知。Oracle 的这个计划 FUD 的意味很浓,似乎就是要给红帽子公司压力,打击客户对 Red Hat 的信心,进而找机会收购它。

另外,Oracle "Unbreakable Linux" 的迁移战略也将展开,据说要协助客户从 "AIX、Solaris、HP/UX、Windows、遗留主机 或者 TRU64" 迁移到 Linux 上来,这是一个非常得罪人的活,不知道 Oracle 的目的何在。颇有讽刺意味的是,HP、IBM 居然加入了这个项目。

我个人的看法:

1) 这件事情对开源软件业界没什么积极的影响;
2) Oracle 提供的这个服务质量好不到什么地方去, 看看他们数据库服务器的一堆一堆的 Patch 就知道了;
3) Oracle 可能不会对 Novell 的 SuSE 下手

题外话,我觉得 Oracle 在进行连番收购之后,居然财务报表仍然那么好看,似乎耐人寻味。

--EOF--

| | Comments (3) |

昨天很震惊的看到一则关于 OpenSouce 的消息: Linux ReiserFS 文件系统即将陨落

里面关于 ReiserFS 文件系统创建者 Hans Reiser 的消息太让我震惊:Hans Reiser 被怀疑杀害了他的俄罗斯裔妻子 Nina Reiser 。而且似乎警方已经掌握了足够的证据。颇有些社会新闻的色彩,现在发生在了开源软件界。如果最后 Hans Reiser 被证实有罪的话,的确是开源软件的一大损失。

ReiserFS 一向以高性能著称,不过稳定性一直是一个很大的问题。Hans Reiser 被捕的消息传出 ,Novell 旋即(本来可能还在游移不定)宣布旗下的 SuSE 企业版将不再将 ReiserFS 作为默认的文件系统,转而使用 EXT3,的确,在稳定性和性能之间衡量,很多人都会选择前者。SuSE 是唯一一个把 ReiserFS 作为默认文件系统的发行版,这次的倒戈几乎宣布了 ReiserFS 的死刑。

 

Digg上关于此事很多网友也都表示震惊,并有人贴出一个时间表(我添加了一点):


1997: Hans Reiser 成立 Namesys
1998: Hans Reiser found online a beautiful russian woman.
1999: The woman comes to the USA and they married (she loved him)
1999: She cheats on him
2000: They have children
2000: She cheats on him
2001: She cheats on him / ReiserFS 被纳入到 Linux Kernel 2.4.1
2002: He realizes she doesn't love him, she realizes she can now stay in USA
2002: She cheats on him
2004: They divorce
2005: She wants $130.000
2006: He murders her.

 

不管怎么样,ReiserFS 见证了一段开源软件乃至互联网的历史。Hans Reiser 也会被人记住。

Kerneltrap 以前有一个对 Hans Reifer 的访谈

--EOF--

| | Comments (3) |

多户人家擅自合用一条宽带线路共同上网,属于违法行为
--茂名市公安局

买你一度电管我接几个灯泡?
--有用户对茂名市公安局的上述规定的评论

真正就个人来讲,马云是95年开始,是我们第一拨做互联网的人当中,公认的口才好的人。是不是跟我一样好我不敢说,但肯定跟我差不多
--雅虎中国新任总经理谢文

中国Linux开发最大的问题是没有建立起Linux社区,因而就不能充分利用开源社区的资源
--中国开源软件联盟主席陆首群

在反流氓软件这个事情上百度一直在积极的做一些事情,百度搜霸是绿色软件,百度与反流氓软件联盟的目标是一致的.
--百度客户端软件部产品经理王瑀峰

| | Comments (5) |

这个周四开始,阿里巴巴公司会在浙江大学举办面向应届生的招聘会。时间安排:

10月19号 13:30 面试官宣讲 16:00-18:00 笔试
10月20号 9:00-17:00 面试
10月21号 9:00-17:00 面试

 

这次招聘也有 DBA 招聘计划,阿里巴巴 DBA 团队的技术实力在业界有很高声誉,对新人来说有相对更好的成长环境。举双手欢迎牛人加盟,请关注校园海报。感兴趣的同学填表的时候注明 DBA 意向吧。

此时此刻,非你莫属!

针对毕业生的开发 DBA 职位描述
-------------
*) 跟踪、支持开发项目
*) 设计、或根据《数据库设计规范》审核schema
*) 开发、测试环境建立
*) 工程师疑问解答
*) 项目 Webtrace 维护
*) 数据库开发优化与建议
*) 制作《数据库设计说明书》

职位要求:
-------------
1. 计算机专业,本科,数学功底扎实
2. 至少精通一门语言;有项目经验;掌握数据库基本理论优先
3. 熟悉 Linux 系统
4. 酷爱技术,勤于钻研
5. 善于沟通和团认合作,诚信。

上面的要求应该会灵活对待。如果因为时间问题没有参加笔试,我想应该还是有机会的,是技术牛人就成 :)

计划中我可能会去参加招聘会。

关于一些评价的信息请参考 论坛上的讨论.

--EOF--

| | Comments (8) |

Geek, 现在似乎是一个非常流行的词汇。国内有人翻译为"奇客", 也有人翻译为"极客"。

虽然很多次看到文章介绍 Geek,但还是有些模糊。究竟什么是 Geek ,什么人算是 Geek 呢?

先看看金山词霸的"美国传统词典"中收录的定义:

1)An odd or ridiculous person.(畸形人,怪人一个奇怪或不可思议的人)
2)A carnival performer whose show consists of bizarre acts, such as biting the head off a live chicken.(疯狂的杂耍演员一个狂欢节的表演者,表演内容包括奇怪举动,如把活鸡的头咬下来)

 

词源起于中世纪日耳曼方言"Geck"和"gek".

 

很明显,金山词霸没有与时俱进,这个含义不是我们想要的。查看一下手边的《韦氏词典》,

a personal often of an intellectual bent who is disapproved of

哦 ,这本韦氏是 96 年世界图书出版社在国内的第一版......

还是看《黑客大辞典》(Mirror)中的定义吧

A person who has chosen concentration rather than conformity; one who pursues skill (especially technical skill) and imagination, not mainstream social acceptance. Geeks usually have a strong case of neophilia. Most geeks are adept with computers and treat hacker as a term of respect, but not all are hackers themselves — and some who are in fact hackers normally call themselves geeks anyway, because they (quite properly) regard ‘hacker’ as a label that should be bestowed by others rather than self-assumed.

 

One description accurately if a little breathlessly enumerates “gamers, ravers, science fiction fans, punks, perverts, programmers, nerds, subgenii, and trekkies. These are people who did not go to their high school proms, and many would be offended by the suggestion that they should have even wanted to.”

Originally, a geek was a carnival performer who bit the heads off chickens. (In early 20th-century Scotland a ‘geek’ was an immature coley, a type of fish.) Before about 1990 usage of this term was rather negative. Earlier versions of this lexicon defined a computer geek as one who eats (computer) bugs for a living — an asocial, malodorous, pasty-faced monomaniac with all the personality of a cheese grater. This is often still the way geeks are regarded by non-geeks, but as the mainstream culture becomes more dependent on technology and technical skill mainstream attitudes have tended to shift towards grudging respect. Correspondingly, there are now ‘geek pride’ festivals (the implied reference to ‘gay pride’ is not accidental).

 

这里定义的大致意思说, Geek 是非主流的,边缘人,追求技术、技巧能力与想象力,因为他们在技术方面的能力有的时候被当作黑客(很明显,与黑客是不同的)。Geek 可能包括游戏玩家、放荡不羁者、科幻迷、朋克、固执者、程序员、Nerds、Subgenii 或者是 Trekkies.(从这一点上看,Geek 的范围要比 Nerds 大,另,上面最后两个词我也不知道啥意思). Geek 最初是贬义,现在逐渐是中性词。

在 Google 中通过 define 语法查找的Geek 结果如下:

# A term similar to nerd, but slightly less pejorative in tone.

(类似 Nerd, 通常贬义)

# To quote from The New Hacker’s Dictionary, a computer geek is “one who eats (computer) bugs for a living. One who fulfills all the dreariest negative stereotypes about hackers: an asocial, malodorous, pasty-faced monomaniac with all the personality of a cheese grater. Cannot be used by outsiders without implied insult to all hackers. A computer geek may be either a fundamentally clueless individual or a proto-hacker in larval stage. Also called ‘turbo nerd’ or ‘turbo geek. ...
这也不知道引用什么时候的《黑客大辞典》. Geek 就是专门 Debug 的?

# In computers and the Internet, a geekis a person who is inordinately dedicated to and involved with the technologyto the point of sometimes not appearing to be like the rest of us (non-geeks).Being a geek also implies a capability with the technology. Although historically,computer and Internet programming and hacking has been a male thing, thereare now many "girl geeks." The term "hacker" generally connotes competence more strongly than "geek" does. ...
www.infoprovider.com/infobase/g.html
(女 Geek 也是有的,Hacker 的计算机"功力"要比 Geek 强.)

# The sort of person who would get really excited at the prospect of using a text editor on a 900 megahertz workstation to write out the definitions of technical terms.
www.scotsmist.co.uk/glossary_g.html
(在功能强劲的计算机工作站上用文本编辑器定义技术术语的那些家伙)

# An intellectual who is bent on a particular profession; especially within the computer feild. Social interests are deeply rooted in Sci-Fi.
www.cem.uvm.edu/util/html/definitions.php
(那些智力挺高,某方面知识挺牛--尤其是计算机领域,深受科幻文化影响.)

# Short for computer geek, an individual with a passion for computers, to the exclusion of other normal human interests. Depending on the context, it can be used in either a derogatory or affectionate manner. Basically, geek and nerd are synonymous.
www.angelfire.com/anime3/internet/programming.htm
(计算机 Geek , 对计算机有激情, 对别的没兴趣, 可褒义,可以贬义)

# Traditionally, someone whose fascination for technology overwhelms all other pursuits, with all the negative stereotypes this implies; in short, a NERD.
www.research-hosting.co.uk/data/hosting-terms/web-hosting-terms-g.asp
(迷恋技术超过其他,与 Nerd 同义)

# Traditionally a term of derision, geek has come to have a more positive connotation in this computer age. Technically adept people now frequently refer to themselves as geeks, in a mixture of self-deprecation and pride.
www.websightsolutions.com/faq_gloss.html
(老 IT 一般叫自己 Geek ? 一半自贬,一半自豪)

# a carnival performer who does disgusting acts
# eccentric: a person with an unusual or odd personality
wordnet.princeton.edu/perl/webwn
(这个在金山词霸中看到了)

# A geek is a person who is fascinated, perhaps obsessively, by technology and imagination. Geek may not always have the same meaning as the term nerd (see nerd for a discussion of the disputed relation between the terms).
en.wikipedia.org/wiki/Geek
(Wikipedia 的介绍,干啥迷啥,尤其是迷恋技术、想象力。几乎与 Nerd 同义. 个人感觉这个定义太保守了)

维基百科中文中没有"奇客"的词条,倒是有"极客"的词条:

极客是英文单词 "geek" 的音译。这个词在美国俚语中意指智力超群,善于钻研但不懂得与人交往的学者和知识分子,含有贬义。但近年来随着互联网文化的兴起,这个词在保留了智力超群和努力的本意的同时,又被用于形容对计算机和网络技术有狂热兴趣并投入大量时间钻研的人。其贬义成分也正在慢慢减少。

 

这个要比维基百科英文词条灵活了一些。

看了这么多,虽然有点晕,不过基本上算是搞清楚了。我的理解是,判断一个人是 Geek 而不是 Hacker ,看看他对技术是否有抵达本质的理解与精通。判断一个人是 Geek 而不是 Nerd , 看他对一件事情的迷恋程度。 Nerd 可能只对某种东西过度痴迷,而 Geek 可能会对一切新鲜玩意儿都弄来搞搞。Nerd 可能个人形象不那么好, Geek 看起来或许会好一点。

Nerd 会在 Slashdot 流连忘返,而 Geek 或许每天都看 Engadget。Hacker 呢? IRC 里去找找看, 运气好你能碰到一个,但那些自称是 Hacker 的,其实都不是。

埋头写 Linux 上的驱动程序的人,可能是一个黑客; 明明很别扭,也要用 Linux 而不用 Windows 的人,可能是一个 Geek; 那些正利用 Linux 进行复杂数学运算的,大多数是 Nerd .

在国内,Geek 这个词正在逐渐让人厌烦(或许就像 Hacker 这个词的命运), 很多商业站点开始打造什么 "Geek 一族" 的活动,无疑会给 Geek 文化带来很大的混淆。

用不了多久,很多人会因为太反感而说出来:"你说谁是 Geek ? 你才 Geek,你们全家都 Geek呢!" 之类的话。尤其是当你看到陈天桥、丁磊、张朝阳、汪延...等也被人叫做 Geek 的时候。

--EOF--

另:车东关于 Nerd 的一篇 Blog

| | Comments (20) |

今天重感冒,写不了新的了,把以前的修改稿贴上来。每个人都有一个爱因斯坦那样的小板凳。旧稿参见 第一版

以出品 Nmap 而为业界知名的 Insecure.Org 网站日前发布了 《100 个最佳网络安全工具》(Top 100 Network Security Tools) 2006 版。在 2000 年与 2003 年,该站点曾经做过两次类似的活动,都在业界产生了深远的影响。

Tip: 新的产品列表增加了 5 种图标指示(包括是否支持 Max OS X),看起来更加一目了然。

第一名自然是 Nessus ,连续三次稳座第一名的交椅,这是了不起的成绩。虽然现在 Nessus3 已经不再开源,但是仍有免费版本可用,加上不可替代的强大扫描功能,仍然是许多安全人员心中的最佳。
第二到第四名分别是:Wireshark、SnortNetCat。对 Wireshark 或许有的朋友会稍感陌生,其实就是网络协议分析工具Ethereal。这里面有点小插曲,Ethereal 的主要开发者 Gerald Combs 跳槽到CACE 技术公司,但是他并没有这个产品的商标,于是乎一个新的名字 Wireshark 产生了。很多用户可能会觉得有点奇怪:怎么 Ethereal 原站点上看不出端倪? 个人觉得这样的更名多少有一点品牌损失。
相对 2003 年的评选结果,这次前四名的位置都没有变化,足以说明优秀的开源产品是能够经得起考验的。
接下来我们看到漏洞利用和测试平台 Metasploit Framework 在过去这几年中异军突起,一跃而至第五名。
最近微软收购的 Winternals Software公司的产品 Sysinternals ,排在 24 位。Sysinternals 系列工具在 Windows 平台上几乎是无可替代的,这是一个一直被开源阵营忽视的产品。
一路看下来,很多老牌的安全工具名列其中。等等,在第 34 位我们发现了谁?万能的 Google!Google强大搜索能力是一柄双刃剑:安全人员用来查找安全信息,心怀叵测者则用来发现可以利用的网络漏洞。把 Google 当作一款工具工具决不为过。或许,下一次排名的时候Google的位置还应该靠前。

完整性检查检查工具 Tripwire 比上次下降了 22 位,排名 37 。也难怪,Tripwire 昂贵的商业版让普通用户可望不可及,而开源替代工具( AIDE,integrit 等)又的确不够优秀,相信很多公司的主机完整性检查也都是安全环节中最弱的一环。可以看到的希望是发展缓慢的 Tripwire 开源版本最近终于开始支持 Linux 之外的平台,能否有更好表现,还要拭目以待。

匿名浏览工具 Tor 榜上有名,排名 59 。因为一些国家或地区的网络审查逐渐严格,这一类工具市场很大。列表里还提到一个跨平台的 Tor 实现:Vidalia。不过在这里笔者要向大家推荐 TorPark (http://torpark.nfshost.com/)。无需任何特殊的配置即可进行匿名网络冲浪了。

安全相关的操作系统工具值得注意的是 Knoppix 最新上榜,排名60。排在了第65名 OpenBSD 的前面,不过排名更好的是 BackTrack,BackTrack 则偏重于安全。

网络监控工具 Nagios 第一次上榜。第 67 位。这个工具目前在国内的一些网站应用也比较广泛,能够有效的监控大量主机服务状态,相信下一次应该还可以靠前一些。虚拟软件 VMware 也在榜上,89。利用 VWware 快速的搭建测试环境,对于安全研究人员便利了许多。

第 100 名是 MBSA (Microsoft Baseline Security Analyzer),终于有了一件微软土生土长的产品,不容易啊。个人觉得微软的 Windows Defender 对于国内饱受流氓软件骚扰的用户来说更为重要。

整个兵器谱看下来,最多的一类是嗅探工具(Packet Sniffers),共有 11 款。 网络脆弱点扫描工具与密码破解工具次之,各有 10款。此外这两年随着无线网络的普及,关于无线网络安全的工具也有增多的趋势。

这个结果是 3243 位 Nmap 用户投票选出的,权威性应该不容置疑。如果有疑问,那就是: Nmap 应该排在什么位置?


相关网址:http://www.sectools.org/ 。查看完整的列表与相关信息。

--EOF--

| | Comments (5) |

Dingdong 的相册看到, 点击这个(地址http://www1.ap.dell.com/content/products/compare.aspx/tower_servers_cn?c=cn&l=zh&s=bsd).

第一步: 选择PowerEdgeTM SC430, 点"自选配置",继续.

第2步,选网上价格 RMB 8,998.47的那台,点"定制并购买", 继续

第3步,操作系统选择linux,可减去7072元.

第4步,选择1年的硬件维护服务,可减727元

第5步, 选择英文文档,还可以省242.19

最后,价格已经是 955.89 元了,含税. 一直继续并填写你的资料,完成购买就可以了,不用急着付钱(不过我怕Dell赖帐,已经付了!)

会有销售代表会和你联系,别忘了打印订购单.

Updated 我收到的 Dell 确认邮件:

我们已收到您的网上订单, 但并不构成戴尔已经接受您的订单。您可以通过附件查看您的订单详情。大约在一个工作日内,我们将通过电子邮件,传真或电话与您联系并确认订单...

看来 Dell 如果选择 "不接受我的订单" 赖帐的话用户的也是没有办法的。事态如何发展,还要观望。

最新的消息:

8月7日中午13时许,DELL网站中的PowerEdge? SC430服务器的价格计算系统出现故障。这台原价8000多的服务器,删减一些软件配置和服务后,最后价格居然不到900元。直至16:00,DELL 才发现该漏洞,此时已经有约7000台被网友们疯狂定购。目前DELL没有发布官方处理结果。

 

-EOF-

| | Comments (18) |

生活帮看到 一个开源的GTD系统-Tracks的介绍。去 Tracks 的网站上看了看,感觉是一个不错的 GTD 工具。决定在 Dreamhost 主机上尝试一下。

0.规划

准备起用一个单独的域名 GTD.dbanotes.net。相关文件安装在用户目录下的 gtd.dbanotes.net 目录。

1.准备环境

Tracks 使用 Ruby On Rails 开发的,所幸的是 Dreamhost 现在已经内建支持 Ruby On Rails 了。对于这一项几乎不需要任何额外的操作。

再确定数据库信息。创建一个单独的 MySQL 用户,然后记录该 DB 的主机名字等信息。

2.安装配置
在 Tracks 网站下载安装文件,当前的稳定版本是 1.041。解压所有文件到 gtd.dbanotes.net 目录下,安装指导也在,非常详尽,需要仔细阅读。然后参考文档作如下操作

cp config/database.yml.tmpl config/database.yml
cp config/environment.rb.tmpl config/environment.rb 

把目录 log.tmpl 重命名为 log。编辑文件 tracks/config/database.yml 把 'production' 与 'development' 这两个段需要的信息填入。'test' 段则不要修改。

编辑 config/environment.rb ,找到 change-me 修改为其他的。这个字段是用来加密密码的"盐",默认不改其实问题也不是很大。

在 gtd.dbanotes.net 目录下运行命令:

rake migrate

如果这个操作没有错误,Tracks 就可以跑起来了。

如果有必要,修改 安装目录下或者 public 目录下的 .htaccess 文件进行 URL 重写。

为了安全起见,把除了 public 目录之外的目录文件属性设为 700 。

参考我的 GTD.

3.后记
Tracks 这个东西内建了 WEBrick 这个 Web 服务器,所以如果你的机器支持 Ruby ,完全可以跑在本地 Windows 或者 Linux 或 Mac OS X 等各种操作系统上。这样使用体验会更好一些(我在 Dreamhost 上搭建的速度有些慢)。

Updated: 查看Tracks 截图效果 。如果需要测试用户请发送电子邮件给我: dbanotes@gmail.com .

-EOF-

| | Comments (7) |

突然发现我笔记本上的 7-Zip 不干活了. 随便选择一个目录, 右键 "add to archive" 之后什么反应都没有.

搜索了半天, 没有找到任何有效的信息. 这几天笔记本就频繁出问题. 先是 Windows 登陆特别慢. 输入密码后, "正在加载个人设置" 要等将近两分钟。

查杀木马, 病毒, 没发现。

注册表翻了个底朝天, 最后还真找到点问题: npkcrypt 服务启动失败. 据说这个 npkcrypt 是 QQ 的的键盘加密程序, 有病毒的性质。还是上次找一个同学的联系方式,临时安装了一下 QQ ,没想到就中了招. 把这个问题解决掉. 登录慢的问题还是没有解决.

最后只得怀疑显卡驱动程序有问题。Log 里能看到: ati2mtag BIOS TV signature not found 之类的字样.


Windows 用一段时间总会有这些莫名其妙的问题, 一向自认为自己还算有点安全意识, 可还是防不胜防.

什么时候用 Linux 作桌面工作站或许会好一些 ?

今天很巧, 好几个同事的笔记本都出了问题,有硬盘坏的,有风扇坏的,难道都是天热的问题 ?

不管这么多了,明天随团队黄山 Outing. 有三天的时间可以离开电脑,离开网络。放松一下.

| | Comments (17) |

软件的智能 和 软件的弱智 常常只有一线之差。
--一网友对 微软拼音 2003 的评价

要生产多少台彩电和冰箱才能相当于一辆汽车?不造汽车就是傻瓜......如果我们还依靠彩电和其他类似行业,那么广东9%的经济增幅就难以得到保证.
--广东省省长黄华华今年早些时候在一次政府工作会议上的反问。来源

搜狗 Toolbar 是“流氓”了一些。 不过,搜狗拼音输入法一定不会再有“流氓”的事情发生。
--搜狐公司研发中心总监王小川

| | Comments (2) |

上一篇.

4) Bruce Perens 为 Open Source 定义的第一作者.他说话的样子很有趣--好像在打着饱嗝说话. 表情比较丰富. 我在 Blog 中曾经提到过他: Bruce Perens 领衔编辑 Open Source Series 的图书. 感兴趣的可以下载来看.

5) 国外的 Linux 用户组的活动是实打实的.Install feasts 上很多爱好者抬着自己的台式机就来折腾了.国内似乎很少出现这样的情况, 更多的时候在国内没有这样的对 Linux 爱好者的免费午餐.

6) 有记者问 ESR, Open Source / 自由软件运动 所提倡的"Share"精神是否意味着这有些类似Communist ? ESR 对此给的回应是"一派胡言...Communist 是强迫人共享的意识形态.Bruce Perens 给我的回应是"马克思不会去发明东西来帮助邻居...公有不是 Communist 的产物"

7) LinuxWorld 大会给自由软件基金会颁发了一个 "Linus Torarlds 大奖", 颁奖人是 Linus , 领奖人是 RMS , RMS 无奈的说这就有些像"给义军舰队颁发 Han Solo(星球大战的主角) 奖"一样滑稽. 众人哄堂大笑. (更为有趣的是, Linus 的小女儿居然还在台上玩耍呢)

8) 结尾处,居然听到一首 'The Free Software Song'. 词作者是 RMS. :)

| | Comments (7) |

看了半部的 Revolution OS, 枯燥而有趣的一部电影。

虽说这片子从头到尾几乎都是对众多顶级黑客的采访,但仔细看下来倒真的找到了很多以前不为注意的一些关于自由软件运动 / 开源软件运动的一些被忽略的细节, 并不乏味.

1) RMS(Richard Matthew Stallman) 回忆了一件早期黑客时候他反对对操作系统设置密码的故事(对,而不是那个一再提起的"打印机"故事。), RMS 认为设置密码导致普通用户的一些权利被剥夺。或许这也是非常反对"开源软件",而坚持强调"自由软件"的自由含义的原因, 电影的中间部分有他的一段非常强硬的关于坚持"自由软件"的演讲.

2) HURD 的失败原因可能有很多, 但 RMS 的话语之间无疑承认了他们对这个操作系统的预期过高, HURD 的微内核结构并不适合开源软件(哦,我用的也是"开源"这个字眼)的开发模式. 而 Linus 的 'tried-and-true' 方法"不赖", 超过了 RMS 的预期.

3) Linus 承认 Linux 最初的一些设计思想来自 SunOS.而没有更多的提及 Minix; 他对自己的评价是个中庸的词汇:"工程师", 而评价 RMS 为"哲学家", 似乎包含一丝嘲讽.

| | Comments (1) | TrackBacks (2) |

"收购专业户" Oracle 的收购举措总能吸引足够的眼球. 早在几年前喊出收购 PeopleSoft 的时候, 业界都认为是不可能的事情. 没想到最后居然就啃下了这块硬骨头. 现在 Oracle 放出风来准备收购一家 Linux 厂商, 估计又要有一场好戏看了。

Oracle 这个时候喊出来收购 Linux,实际似乎有点晚.SuSE Linux 应该是 Oracle 最好的潜在目标,可惜现在是 Novell 旗下公司,买 SuSE 还要搭送一个 Novell ,这似乎不是一个好买卖.要说现在这个局面,其实也多少和 Oracle有点关系. 当年的 SuSE 在支持 Oracle 方面的力度和技术不比 红帽子差. 可 Oracle 进入这场游戏之后市场就变了, Oracle 助力红帽子, 很快一家独大. RedHat 最近又成功吃下了 Jboss, 隐隐然已经有开源软件王者之气, Oracle 要想买下红帽子, 难.

再说 SuSE, 在服务器市场可以说是起个大早,赶了一个晚集, 最后居然被没落贵族 Novell 收至麾下。Novell 倒也大张旗鼓的折腾了一阵子, 不过市场不给面子,叫好不叫座. Novell一方面想让自己的目录服务器/群件等产品在 Linux平台上起死回生, 另一方面又拼命提高 SuSE 的易用性--倒是更想在桌面市场分得一杯羹, 总让人感觉在开源上, 定位还不够准确,立场不够坚定. Oracle 如果收购 Novell, 倒也不是没有可能,不过 Oracle 看中的只是 Linux, 对于 Novell 的整条产品线未必感兴趣.

| | Comments (4) |

"情结"这个词有点小资,不过对于笔记本我倒是始终有一种偏爱.

接触笔记本最早可以追溯到大学的时候,同学小北卖给我一台 ThinkPad ,记不清什么型号了,4M 内存, 只能用 Dos, 键盘还漏电,用了一会儿手就酸麻. 500RMB, 我折腾了几天, 忍受不了, 跑到电脑城 450 卖掉了,穷学生,50 块钱感觉损失挺大.

没过多久, Linux 就进入我的视线,如果那个小笔记本还在我身边,没准我现在是一个 Linux 下的程序员了.

大学中最不能忍受的一件事情就是白天没有电,到现在仍然想起来恨恨的,曾经自己攒了一点钱攒了一台PC, 结果电压不稳,一会儿关机一下, 跑到学院收发室待了好几天.后来被逼无奈,忍痛卖给了系里的一位老师.

当时的梦想就是工作之后能有一台笔记本多好阿!

好不容易熬到了毕业,到了公司之后好几个月没有固定的电脑用.和同事小赵两个人共用一台(这可是老牌的IT国企, 几年过去了,回头一看,还是不死不活的).后来经理Q开恩, 终于领到了一台笔记本. 牌子是"伦飞(TwinHead)"的, 这个牌子在上学的时候没少在计算机世界的广告彩页上看到. 只能说那个平面广告做的真好. 配置是 PII 233, 4G 硬盘. 192M 内存. 01 年阿, 这个配置也真说得过去... 就这样,一起进公司的同事还是蛮羡慕的. BIOS 版本太低, Windows 2000 都安装不上,刷 BIOS!总算成了, 之后把没有用的文件全删掉, 虽然只有 4G 硬盘, 也安装了 Oracle 8i Server 版. 凑合着能学习,做点实验. 电池没有用了,接触还不良, 谁碰电源我跟谁急. 网卡接触也不好,每天到公司第一件事情就是找个厚一点的技术资料压上. 真怀念这台笔记本,我用它作了很多事情.

| | Comments (22) |

最近 CSDN 关于开源软件的一个新闻(旧闻?!)是 SYS-CON 的"读者选择奖". 国内很多喜欢拿来主义的 IT 新闻站点都纷纷报道,甚至真把这个奖提升到"软件工业奥斯卡"的高度来对待--看来中国人真是想奥斯卡想疯了.(所谓软件奥斯卡,不过是 SYS-CON 自吹自擂而已)

就我个人来说,一般对关于开源软件奖项只关心两个:一个是最佳图书,一个是最佳 Linux 数据库.可看选出来的结果,最佳图书是:The Linux Home Networking eBooks (Linux Home Networking) . 我 Google 了一下这本书,第一页居然没有发现相关信息.最佳 Linux 数据库居然是 Sybase Adaptive Server Enterprise (ASE) (Sybase).

这个"读者选择奖" 有 1.7 万多读者参与投票. 读者当然是 SYS-CON 的读者.我不知道有多少个中文开源用户参与了投票.就中文用户来说, 最佳 Linux 上的数据库无疑是 MySQL . 据我所知,国内在 Linux 上用 Sybase ASE 的用户恐怕掰着手指头都数得过来.看来"软件奥斯卡"和电影奥斯卡一样,喜欢搞冷门.

| | Comments (1) |

刚才在线学习了一下 Oracle Secure Enterprise Search Administration Tutorial. 目前 Oracle 还不提供 Secure Enterprise Search 10g 的下载, 所以只能看看联机教程过点干瘾.

安装相对比较简单, 和普通的数据库安装很相似.类 Unix 服务器上需要修改核心参数, 最后系统会直接安装一个 DB 到服务器上.

Oracle Secure Enterprise Search 在 Linux 上安装时核心参数的设定

从教程中可以得知搜索引擎的基本由三部分构成:

Oracle数据库服务器 --管理存储与源数据以及搜索索引.

数据库 Listener --监听 Oracle Net 连接.

搜索中间层 -- 监听来自 HTTP 的请求. 我从 URL 中判断其实是一个 HTMLDB . Secure Enterprise Search 的管理工具也通过这个中间层来进行.

| | Comments (1) |

前几天遇到一个 Linux Ext3 文件系统超级块(Superblock)错误问题.

.... bad superblock on /dev/hda4
一个同事做的恢复, 结果把数据都抹掉了. 后来想想, 当时的直接 fsck 的恢复方法不对. 正确的方法应该是这样的:

 

1 获取错误的出错磁盘(或者设备)块的大小.
有很多种方法可以得到. 比如,

# tune2fs -l /dev/hda4
其实大多数情况下是 1 K.

 

2 对当前的出错磁盘备份.
恢复超级块(Superblock)的过程其实也是一个有风险的过程.能做备份就做好备份. 如果有其他空闲设备, 用 dd 命令把该设备上的内容备份起来.

3 一般来说, 超级块错基本上也就是主超级块错, 在 Ext2/Ext3 文件系统创建的时候, 会同时在屏幕上提示我们在已经在几个地方备份了超级块.那么怎么发现这些超级块在什么地方呢? 我们看看帮助信息:

-b superblock
Instead of using the normal superblock, use an alternative
superblock specified by superblock. This option is normally
used when the primary superblock has been corrupted. The loca-
tion of the backup superblock is dependent on the filesystem's
blocksize. For filesystems with 1k blocksizes, a backup
superblock can be found at block 8193; for filesystems with 2k
blocksizes, at block 16384; and for 4k blocksizes, at block
32768.

Additional backup superblocks can be determined by using the
mke2fs program using the -n option to print out where the
superblocks were created. The -b option to mke2fs, which spec-
ifies blocksize of the filesystem must be specified in order for
the superblock locations that are printed out to be accurate.

If an alternative superblock is specified and the filesystem is
not opened read-only, e2fsck will make sure that the primary
superblock is updated appropriately upon completion of the
filesystem check.

4 开始恢复.如果文件系统块大小为1K, 则我们可以用如下命令恢复:
# /sbin/fsck.ext3 -b 8193 /dev/hda4

如果这个备用块(8193)也有问题,那么 可以尝试 24577(8192*3+1) ,或者是 40961 (8192*5+1).

 

| | Comments (0) |

如果Linux还要保持其快速的发展,必须调整生产关系 -- 即GPL公约对她的限制
--中科红旗软件公司副总裁白柯、"Linux 领域的资深专家"

进攻基本靠走 / 传球基本靠瞅 / 停球基本靠手 / 过人基本靠吼 / 防守基本靠搂 / 射门基本没有 / 吓的门将直抖
--网友这样评论中国足球

有全球最顶级风险投资基金的支持,有成功的企业家,有来自各大公司的精英,有最具创新能力的草根
--某个"数字风格"域名的公司认为公司会成功

| | Comments (3) |

最近的 Oracle 产品消息:Oracle Database XE 推出正式版。正式版本在 32-bit 的 Linux 和 Windows 上可用.

  • Installs using native installers
  • English (single byte character set) and International (Unicode) versions available with support for 10 major languages
  • Supports up to 4GB of user data
  • May be installed on a multiple CPU server, but only executes on one processor in any server
  • May be installed on a server with any amount of memory, but will only use up to 1GB RAM of available memory
  • Fully upgradeable to other Oracle Database 10g editions
  • Oracle Text for efficient text-based searches

这个免费版本可以直接平滑升级到 Oracle 的其他版本,而且部署简单,能让开发人员迅速入手。不得不让人深深感到 Oracle 为了争夺客户煞费苦心.

| | Comments (8) |

最近 Oracle 频繁收购开源厂商, 也有消息说 Oracle 也曾经试图收购 MySQL 未果, 一连串的事情引起了开源界的恐慌,估计也让不少开源爱好者都很闹心,今天居然在 CSDN 头条上看到了没有了MySQL,我们使Linux还能干什么这样的观点:

我宁可看到微软收购 Redhat、Mandrake等,也不愿看到 MySQL 被收购,因为在这之后将可能是 PostgreSQL 的覆灭,到了那时,我们还有什么理由继续使用 Linux 呢?

没错,这居然是 CSDN 的头条新闻. 这不知道这位开源爱好者怎么会作出这个有些可笑的结论.有必要讨论一下了。
 
被收购并不意味着会修改软件许可证方式.假定现在 MySQL 现在已经被某个大厂收购, 那么并不意味着这家收购方会冒天下大不韪,收购方可能会继续采用当前的许可模式,这样对那些期待免费使用的最终用户来说没甚么影响; 开源运动的实际推动者还是那些千千万万的软件爱好者,这一点不是以某个公司的意志能转移的。

修改软件许可方式不一定不是免费的. 我不知道那些 MySQL 的爱好者与使用者是重点关心软件价格的免费还是代码的开放, 据我的观察, 国内的 MySQL 最终用户中,直接因为某项功能而 Hack MySQL 源代码的少之又少,更多的都是直接拿来应用. 如果我的这一判断出入不大,那么 MySQL 被收购后不再开源,用户未必就一下子跑光了。

MySQL 不是唯一的开源数据库. 放眼望去,PostgreSQLIngresFireBird等等优秀的开源数据库产品还有很多; 除了流行程度, 软件功能和 MySQL 相差都不大; 即使收购方扼杀了 MySQL; 广大开源用户还是有的"吃"。

MySQL 本身的血统并不那么高贵. MySQL 本来就是由商业公司在背后运作, 甚至本身的技术也多少依赖于开源软件界。如果说他被更大的商业公司收购的话,只能说他的商业运作成功,修成正果而已。咱何必奢求?

更多厂商的推出免费数据库. Oracle 推出了免费的 Express Edition DB, IBM 紧跟对手推出免费的 DB2 Express-C, SybaseEnterpriseDB 等厂商也都有免费或开源的 DB 产品推出, 即使没有了 MySQL,我们的选择只会更多. "死了张屠户,也不用吃混毛猪".

如果这些理由还没有解除你的顾虑, 现在我们看看数据库之外的东西。

| | Comments (14) |

如果要想迅速的得到 Linux 环境中的日志报告信息, Logwatch 是一个很好的工具.

一般的 Linux 系统中可能都默认安装了这个工具.几乎不需要额外的配置就可以简单的用起来.

# logwatch --print

这条命令将会把昨天的日志信息简要的打印出来. 比如用户登录失败信息、SSH 登录信息、磁盘空间使用等.

单独查看某个服务,比如 SSH 登录信息:

# logwatch --service sshd --print

这条命令可以查看使用说明:

# logwatch --help

最新版本的 LogWatch 默认有 70 多种 Log 的配置信息. 如果要对自己的特殊 Log 做监控, 定制也是比较容易的。简单记录一下:

| | Comments (7) |

非常常见的一个 Unix/Linux 命令错误信息: The parameter list is too long.

$ find /backup/* -ctime 2
ksh: /usr/bin/find: 0403-027 The parameter list is too long.

find: 0403-027 The parameter list is too long 这个错误信息很让人迷惑: 难道该目录下文件太多了么? 其实不是的, 问题出在那个 "*" 上,Korn Shell 默认把 * 作为 Metadata 处理,进行了扩展,进而这条语句备错误的解析.我的操作平台是 AIX 5.3. 我不确定这是和这个平台的 Korn Shell 有关.

使用 ls / grep / find 等命令时侯因为通配符的使用, 一不小心就会遇到这样的错误.可以通过对对象添加引号来禁止扩展

| | Comments (2) |

根据 NewsForge 消息, 继 EMC 旗下的 Vmware 公司发布免费的 Vmware Player 之后,最近又将发布一款入门级的 VMware Server,面向 x86 与 x86-64 服务器, 用以吸引潜在的客户。Vmware Player 相对 Vmware Workstation 只具有有限的功能,而即将发布的 Beta 版本的 VMware Server 功能上不打折扣的:包括监控特性 与 Intel 的 Virtualization Technology (VT) 以及虚拟 SMP 技术.但是不会包含 VMware ESX Server 具有的高级管理工具.

Vmware 此举恐怕也是不得已而为之:竞争对手太多了.

开源的有 XEN. 已经得到 SuSE 这样的 Linux 厂商明确支持.新版本的 OpenSuSE 已经捆绑了 XEN. OpenVZ (SWsoft 企业级产品的 Virtuozzo 开源版本) 最近也逐渐得到一些厂商的支持,比如 RedHat 和同样支持 XEN 的 Novell.

非开源软件,Vmware 要面对微软的 Virtual PC以及 SWsoft 的 VSWsoft irtuozzo . 在 Windows 平台也有实现.(最近发现 SWsoft 已经杀入中国市场.并且发展的有声有色)

| | Comments (4) |

自由软件基金会日前宣布, Tridge(Andrew Tridgell) 因为在 Samba 项目的贡献而获取 2005 年 "2005 Free Software Awards".

Tridge 其他的贡献还包括 rsync 工具以及对 Linux Kernel 的代码贡献. 2005 年, Tridge 写了一个针对 BitKeeper 自由软件的客户端, 并通过 对BK协议的反向工程最后使得 BitMover 公司去除了对该软件的使用限制. Tridge 的行为在开源软件社群中曾经引起轩然大波, Linus 曾经公开批评[more]过 Tridge:

最终结果是,那些不赞成 Tridgell 做法的人们受到了损失,这个软件对任何人都没有价值,它赶走了BitKeeper,而后自己又要黯然离场......

不过 Linux Kerner 现在代码维护工具是 Linus 发起的新项目 Git .

关于 Samba 的历史可以从 Wiki 条目 SAMBA 得到一些, 亦有一篇 Samba的诞生 是某次对 Tridge 的访谈, Tridge 回顾了开发 Samba 过程中的感受.

| | Comments (1) |

Oracle XE 目前的技术信息相对还是比较少的,Tom 主持的 XE 论坛也登录不了,大多数时候都是页面打不开,页面打开了,也告诉我没有注册,注册了后告诉我没有权限查看。还是自己捉摸好一点。

如何为 Oracle 10g XE 创建一个新的数据库实例 ? 看了上一篇 Oracle XE 自带的数据库如何创建 的解释之后就容易很多了.

如果是 Windows 平台, 首先确保没甚么重要数据在当前的这个 XE 实例中. 然后调用 oradim -delete -sid xe 删除当前的系统服务(就是 Windows 服务).

然后运行 D:/oraclexe/app/oracle/product/10.2.0/server/config/scripts 中的 XE.bat 批处理即可.速度相对还是比较快的.

| | Comments (1) | TrackBacks (1) |

简单的说了一下Oracle 10g XE 的字符集问题, 我们接下来看看 Oracle 10g XE 自带的数据库如何创建的.

老实说,最开始在 Windows 上安装 XE 的时候,步骤非常简单,还以为 Oracle 已经掩盖了全部细节呢,安装之后浏览一下相关目录就清晰多了.我把 XE 安装到 D: 盘,在 D:/oraclexe/app/oracle/product/10.2.0/server/config/scripts 目录下有如下文件:

2006-01-24  20:47             1,783 cloneDBCreation.sql
2006-01-24  20:47               321 CloneRmanRestore.sql
2006-01-24  20:48             2,410 init.ora
2006-01-24  20:48             2,177 initXETemp.ora
2006-01-24  20:47               929 postDBCreation.sql
2006-01-24  20:47               780 postScripts.sql
2006-01-24  20:47             1,334 rmanRestoreDatafiles.sql
2006-01-24  20:47             1,424 XE.bat
2006-01-24  20:47               716 XE.sql

XE.bat 批处理文件完成如下事情:添加需要的操作系统用户; 创建相关目录存放 Oracle 数据文件;设定 Oracle 环境变量主要是 SID 名字;调用 Oradim 命令创建 XE 的实例; 然后调用 XE.sql 脚本.

XE.sql 脚本首先定义 XE 实例的用户需要用到的密码,然后用 orapwd.exe 创建密码文件, 这些步骤都和普通的 Oracle 创建实例的脚本非常相似.接下里就有意思了:XE.sql 调用 CloneRmanRestore.sql , CloneRmanRestore.sql 调用 rmanRestoreDatafiles.sql.

| | Comments (3) | TrackBacks (2) |

有朋友问我关于 Oracle 10g XE 的字符集问题[比如这位]。这个问题首先要看 Oracle XE 的安装文档,当前的 XE 有有两种字符集之分:Western European 与 Universal 。

  • 西欧(Western European) 数据库用 WE8MSWIN1252 字符集创建,适合单字节的拉丁文,HTML DB 的界面是英文。当前的 Beta 版本都用的这个字符集。所以有的朋友在导入数据的时候会遇到问题。
  • Universal 创建数据库的字符集是 AL32UTF8 . HTML DB 可以是双字节文字,比如中文. 要在正式版才可以提供。

那么是不是当前测试版本的 XE 不支持中文存储 ? 其实不是的。参考这个XE NLS_LANG 注册表设定图示 把 字符集设定为 WE8MSWIN1252,或者是 在命令行设定 NLS_LANG 为 AMERICAN_AMERICA.WE8MSWIN1252, 还是可以输入中文并显示中文的。参考这个图. 而在 HTML DB 的界面下,可能显示乱码。需要把 IE 的语言首选项中的英文放到中文前面。

| | Comments (0) | TrackBacks (2) |

此前我曾经在 利用开源工具实现自己的TPC-C 中介绍过 Hammerora , 经过了一段时间的发展, Hammerora 这个工具也已经有了一些变化。如果你正在寻找一款 Oracle 压力生成工具准备用来测试你的 Oracle 数据库, Hammerora 是一个非常好的选择。

这款工具是用 Tcl/Tk 写的(国内能用 Tcl/Tk 的人似乎非常少).其工作原理很简单:

......解析 Oracle 的 Trace 文件,并把它们转化为 OraTcl 程序,然后在 Oracle 数据库中用多个用户并发的对用户的事务进行“回放”。我们知道,Oracle 的 Trace 文件能够翔实的记录用户对数据库的操作。这样 Hammerora 能够保证对用户环境的真实模拟。

 

这个工具的优势:

  • 开源软件,用户可以添加自己需要的功能。而那些商业软件连 UI 字体修改一下都几乎是不可能的。
  • 开源软件,成本更低。相比之下 LoadRunner 之类的工具太庞大了,而且 License 费用不菲。
  • 基于 Oratcl 与 Oracle 交互。可以真实反应 SQL 在数据库中的运行信息。而本身的开销很小。

 

| | Comments (0) |

一时好奇,看看这些大网站的 Web 服务器信息(操作系统/Web 服务器/应用服务器软件).

Google
哪些软件做 Web Server?
除了有两个节点操作系统看出来是 Linux 外,其他的都是未知的. Web 服务器用的都是 GWS ? 我估计是 Google Web Server 的缩写.

Yahoo!
操作系统都是 FreeBSD. 其他的都不可知.Yahoo! 的网络安全据说是一级棒!

微软
操作系统全是 Windows 2003(如果使用 Linux 会被笑死) , 看来 Windows 2000 已经退出微软自己的舞台.Web 服务器用的是Microsoft-IIS/6.0.

eBay
操作系统用:Windows Server 2003 /2000, Web服务器用 Microsoft-IIS/6.0 (5.0). 对这个检测有些怀疑.eBay 大规模使用 Windows ?

GNU.org
操作系统全是 Debian Linux(没错,Debian 是 GNU 正宗传人). Web 服务器: Apache/1.3.31 (Debian GNU/Linux) mod_python/2.7.10 Python/2.3.4 , 也有的配置是:Apache/1.3.26 (Unix) Debian GNU/Linux mod_python/2.7.8 Python/2.1.3.GNU.org 对 Python 用的比较多的.

看看国内的一些公司.

阿里巴巴
操作系统是 Linux . Web 服务器: Apache/1.3.29 (Unix) mod_alibaba/1.0 Resin/2.1.13 .
(+mod_gzip/1.3.26.1a). mod_alibaba 模块估计是专门定制的.

Sina
操作系统是 FreeBSD. Web 服务器都是 Apache/2.0.54 .

百度
操作系统是 Linux , Web 服务器: Apache/1.3.27. 整齐划一.

搜狐
操作系统居然是 SCO UNIX ,Web 服务器信息: Apache/1.3.33 (Unix) mod_gzip/1.3.19.1a
看来业界传闻"Sohu 的技术力量最差"并不夸张.

网易
操作系统:Linux. Web 服务器信息: Apache/2.0.5x

这些数据是在Netcraft得到的.

| | Comments (20) | TrackBacks (1) |

面临的需求:在两个服务器之间进行安全的文件同步。首选的方法用 rsync ,如何与 SSH 集成在一起呢 ? 我以前还真的没试验过。到 del.icio.us 上查找. 现在如果查找技术文档,del.icio.us 成了我的首选资料库,只要被人收录的文章,基本上质量都不错。

实现起来还是相对比较简单的。

1 安装 rsync.
我的操作系统是 AIX ,到 IBM 的站点下载软件.可以直接用 RPM 工具包远程安装。

2 创建公钥并配置

为了避免每次都询问口令(假定 OpenSSH 已经安装就绪),需要创建密钥。用 ssh-keygen 工具。然后把公钥添加到 rsync 的 Server 端相关用户目录下的 .ssh/authorized_keys 文件中。

关于这个过程,前几天看到一段很浅显的解释,稍加改编一下:

SSH 告诉远程 Server 端的 sshd ,它想使用 RSA 认证协议...远程的 sshd 会生成一个随机数,并用我们先前拷贝过去的公钥对这个随机数进行加密。然后, sshd 把加密了的随机数发回给正在 本地服务器上运行的 ssh 。接下来,我们的 ssh 用 专用密钥对这个随机数进行解密后,再把它发回给远程服务器,类似于声明一下:“瞧,我真的有匹配的专用密钥;我能成功的对您的消息进行解密!”最后, 远程 sshd 得出结论,既然人家真的有该专用密钥,就应当让人家登录。因此,我们有匹配的专用密钥这一事实授权我们访问远程服务器
| | Comments (4) |

看了 车东 对《让你免于失业的十项开发技术》回顾,想想到了年末,作为一个技术人员也要盘点一下技术方面的东西才是。现在看三年前的语言更有一种别样的味道。

10.SQL / XQuery
对于我的技术背景来说,目前最重要的要数 SQL 了。目前关系数据库仍是最被广泛采用的数据组织形式之一,只要和数据库进行交互,没有一定的 SQL 基础是不行的。虽然基本的 SQL 只有几条语句,但是要用好,用正确,并不是很容易的事情。而将来随着 XML 的盛行 , XQuery 亦有机会大行其道。故且看之。

6.Regular Expressions 正则表达式
正则表达式是现在很多语言的一个潜在标准。我把它理解为程序语言中的世界语,虽然不是完全恰当。正则表达式也是计算机文化的基石之一。比如,我们最常用的工具之一搜索引擎人人都会用,但不是人人都能用出来奥妙。真正掌握了正则表达式才会体会出来更多的内容。这也是我自己明年需要重点加深掌握的一个技术点。

1.XML
数据组织形式的标准。随着 Web 2.0 涌现的的更多服务,让 XML 潜移默化中被更多的用户接手并使用.

5.JavaScript / Perl / Shell / Ruby
JavaScript 在 05 年获得了第二春,但我还是认为这只是其回光返照而已。我更看好的是 Perl 或者类似这样的 "胶水" 语言,我们面对的信息世界太复杂,需要有一种可以把这些千奇百怪的应用结合在一起的那么一种语言技术。Perl 可担当重任。而 Shell / Ruby(Python) 等也仍然在各自的领域内发挥重大的作用。金庸的小说中,独孤九剑很神奇,能够抵挡天下任何兵器幻化出来的武功,精通了 Perl 或许也可以达到计算机领域的这种境界。

一个不可忽略的前提是正则表达式在"胶水"语言中起到不可替代的作用。

 

2 Web Services / SOA (类似层出不穷的概念还会继续变化)
如果说 Perl 是胶水,那么 Web Services 就是那些铆合在各个应用上的材料了. BPEL 在今后的几年中会创造一些机会。

9 Linux/Windows (OS)
Linux / Unix 带来的计算机文化无疑影响一个程序员的道路。愈加华丽的 GUI 和神秘的命令行终端或许会带来程序员世界两级分化的可能。

| | Comments (7) |

今年到了新单位之后,一部分工作职责是和安全有关(到了岁末回顾一下整体安全问题做的并不尽人意呀)。所以,不可避免的要比以前多接触一些安全工具。这个 Top 75 Security Tools 列表是一个不错的起点,我应付的环境没有那么多的平台,没有那么复杂的环境,自己又不是专业安全技术人员,所以根本用不到那么多。

Nessus --安全漏洞扫瞄
国内很多安全公司的扫瞄工具都是用的 Nessus 的漏洞样本。有的甚至干脆就是把 Nessus 改头换面一下就当成自己的专有产品出来“乎悠”客户了。Nessus 可以的给出一个网络环境内的主机安全情况,。但是有的时候细节信息不那么全面,甚至会有误导。比如针对 Oracle DB 的一些漏洞扫瞄,发现了具备该漏洞的个别条件就判断漏洞的存在,稍有些武断。话虽然这么说,Nessus 目前仍是不可替代的。最近 Nessus 3 发布了,版权形式也有了变化。相信 很快就会有一些 Nessus 的GPL 版权下的 fork 软件出现。这个软件我用在 Linux 环境下。

Nmap -- 端口扫瞄 / 其他安全工具的基础
虽然很多软件都号称自己是“瑞士军刀”,但在网络安全方面,Nmap 是当之无愧的的“瑞士军刀”。前面说的 Nessus 就是依赖于 Nmap 的。很多安全工具的扫瞄功能都是以 Nmap 的存在为前提。再做一些网络方面的 Trouble shooting 的时候,Nmap 会大派用场。Windows 下 和 Linux 下都是频繁用到。

| | Comments (1) |

你的 Firefox 用了多少插件? Listzilla 可以列出已经安装的主题与扩展插件.输出格式可以为文本、vB 代码、HTML 文件。和半年前相比,现在我的 Firefox 上用的扩展插件列表变化了好多。现在的 Firefox 已经可以取代 IE 绝大部分工作了。有的插件用了之后甚至是 Maxthon 都没办法提供的。当前我用的插件还是感觉多了一些.Kamus 也写了一篇关于 Firefox 插件的 Blog ,不过图片好像没有显示出来,我干脆来个文字版.

| | Comments (8) | TrackBacks (5) |

一年多以前,我写过一篇 探讨把工作视窗转换到Linux上的可行性 的 Blog.今天翻出来这篇文章看了看。结合自己日常使用的实际情况,发现还是有很大难度。

先说说这一点中我观察到的 Linux 针对中文用户的变化. 首先是输入法方面, SCIM 搬了几次家之后,还在继续发布新的版本。并且已经被 SuSE 等主流 Linux 操作系统接受。第二个关于Linux 的发行版。关于 SuSE 的,Novell 把 SuSE 标准版贡献了出来,成立了一个新的 OpenSuSE 项目(参考),随着 OpenSuSE 10 的发布,给中文社区带来了不小的影响。而 SuSE 的易用性一向也是为人所称道。此外,在浏览器方面, 这一年中 Firefox 取得了极大地成功。那些一向敌视微软的厂商给了 Mozilla 项目足够大的支持,使得 Firefox 一下子成了今年的软件明星。很多人都乐观地认为 Firefox 将是微软 IE 的杀手.办公软件方面,随着 Ajax 的风靡一时,出现了很多在线办公软件(比如,Writely),这给脱离微软的 Office 带来了更多的可能。而 Linux 平台上的一些软件对我的吸引力还是很大的,比如 Nessus / Nmap (虽然 Windows 版本也有)

那么,时机成熟了么?

对于我来说,还是不现实!

| | Comments (20) |

这是一则旧闻. Oracle 公司宣布将使用 Sun 公司的 Open Solaris 10 操作系统作为 x64 架构的首选开发平台.此前的32位平台上的开发,Oracle 最近几年首选的操作系统平台是 Linux(硬件是Dell) .这从Oracle发布软件补丁的顺序可以看出来.最近一两年,Oracle 的 Linux平台的软件或者补丁总是会先发布.而之前,如果我记的不错的话,应该是基于 HP-UX 平台的产品先发布.Oracle 表示,将在基于 Open Solaris 平台上同时支持 AMD Opteron 与 Intel Xeon 以及 Sun 的 UltraSparc 三种芯片.

 

Sun 最近一两年在操作系统市场上一直是走颓势.高端有竞争对手 AIX ,低端有 Linux 的繁荣的冲击. Sun 干脆把 Solaris 开源,希望挽回一些失地,暂时看来还是有一定效果的.相信这次 Oracle 也是很看中不需要软件许可证费用同时还可以得到 Sun 技术支持这一点.

当然,如果说仅仅一个 开源就让 Oracle 投怀送抱,也未免太简单了一些. 之所以选择 Sun, Oracle 也有很大一部分原因是背 Dynamic Tracing (DTrace) 诱惑的 (参见). Sun 刚推出 Dtrace 的时候,我以为不过是一个性能调整的工具而已,最近参加了一次 Dtrace 的培训,发现 Sun 已经把 Dtrace 做成了一个性能 Tuning 的框架.甚至作了语言上的扩展.用户可以通过一些自定义的脚本对软件进行性能上的分析.而这样的产品应该是 Oracle 所梦寐以求的. Dtrace是内建到 Solaris 核心的,虽然 Sun 表示将把 Dtrace 开源,但是移植到 Linux 平台上不知道要等多久了.

| | Comments (2) |

公司名称:阿里巴巴公司
招聘需求:数据仓库 ETL 开发工程师一名
工作地点:杭州

学历要求:大专或以上
工作年限:两年以上

职位要求:

  • 1、计算机相关专业,熟悉 Oracle 数据库、Linux 系统;精通 PL/SQL 编程;熟悉 Shell 编程;
  • 2、精通数据仓库的 ETL 的开发;
  • 3、有 Oracle DBA 经验;
  • 4、有银行、金融、电子支付的数据仓库实施、数据挖掘经验者优先;
  • 5、较好的沟通理解能力,性格乐观、态度踏实、积极上进。

欢迎加盟!如有兴趣,请在简历中注明期望薪资,发送 e-mail至 :jyzhang8@gmail.com 亦可通过 MSN Messenger 交流: jyzhang8#hotmail.com (请替换#为@).

此时此刻,非你莫属!If not you ,who? If not now ,when?

| | Comments (7) |

看来真的是免费的午餐越来越多了. 打开 OpenRSS 居然看到一堆和 Oracle 的免费数据库有关的新闻.这是真的! Oracle 居然也推出了一个免费(Free,价格的Free)的 Database 版本: Oracle Database 10g Express Edition .

Oracle 10g Express Edition (XE) 集成了 Oracle HTML DB 2.1 ,便于开发基于 Web 的应用. 当然,这个免费是肯定有功能限制的:只能用于单处理器,最多处理 4G 用户数据.并且支持的内存也不能超过1G. 但是可以肯定Oracle将会逐步放宽这些限制. 联想到 10 月份 Oracle 收购芬兰的数据库技术开发商 Innobase , 看起来 Oracle 是对 MySQL 这一块中小数据库的市场有兴趣不小: 先挖掉 MySQL的半块墙角,然后抛出个半成品探探开源的路.

目前已经有Linux 平台与Windows平台的 Beta 版本可以下载.

| | Comments (8) | TrackBacks (2) |

当初不知道谁的馊主意,现在公司笔记本的采购都是 Dell,之前刚规定说不准采购 IBM 笔记本了,说以后保修有问题--以前采购的都是水货. 可问题是在我之后还是有很多人可以拿到 IBM 的笔记本.

今天同一个部门的同事的笔记本也拿到手了.本来提交的是 Latitude,结果拿到手的就是 Inspiron,现在这个 600M 根本没办法用,热得烫手.搞得兄弟们到处找外接键盘.采购部根本就不考虑员工提出的意见 ......

想重新安装系统.但是就是一个现象:黑屏.不论怎么折腾,用 Windows 2003 / Linux 的盘都是 OK 的.只要是 XP 的盘(换了 N 张)就不能出现安装画面.中午给 Dell 的客服打了 45 分钟电话,基本上没起什么作用.

| | Comments (3) |

如何打开 OpenSuSE 10 RC1 freetype2 的 Bytecode Interpreter? SuSE 9.3 以前的 Bytecode Interpreter 默认都是关闭的。如果需要激活该特性,需要重新编译 freetype2 : 下载软件RPM 源代码包 ,然后修改 SPEC 文件 rpmbuild -bb ...重新编译一下(参考这篇文档)。但这个方法对 OpenSuSE 10 来说不适用了:

On SuSE 10.0, freetype2 is already compiled with the Bytecode Interpreter enabled so you do not need to take care of it.
而且,还有个需要注意的地方:
In SuSE 10.0, it's a little tricky. The checkbox "Use anti-aliasing for fonts" as no effect if unchecked and it's not considered as a bug by the maintainer.

需要编辑 /etc/fonts/suse-hinting.conf 在 78 行处 :

<test name="pixelsize" compare="less_eq">	 
     <double>0</double> 	 
 </test>	 

把 double 标记中间的 0 换成 18.

| | Comments (0) |

在 SuSE 上安装 Oracle 始终是个很简单的事情(参考我以前写的安装指南).有朋友说反复安装不成功.我自己测试了 OpenSuse 上的安装.对OpenSuSE 此前我介绍了一点. 现在的OpenSuSE 还是很缺少文档,而且似乎开发社区的交流也不够活跃.

首先下载 OpenSuSE 10 RC1 .安装比较简单.但是记得要安装开发工具等内容. 安装完后建立 oinstall 组和 dba 组,建立 oracle 用户.并加入到这两个组中.首选组是 dba 组.如果对命令行不熟悉,直接用 YaST2 好了.然后修改 Oracle 的环境变量:

 

$ vi ~/.bashrc 
添加如下内容:
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/products/10.2.0/db_1
export ORACLE_SID=test
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 

上面只是必须的环境变量.可以根据自己的实际目录还设定.接下来需要作的事情是修改核心参数. SuSE 上没有 /etc/sysctl.conf 文件。可以自己编辑一个。内容如下:

kernel.shmall = 2097152 
kernel.shmmax = 2147483648 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
fs.file-max = 65536 
net.ipv4.ip_local_port_range = 1024 65000

然后 使用 # sysctl -p 确定一下。在这里要注意的一点是在系统重新启动之后不能自动读取刚才创建的文件。 需要调整一下:

#chkconfig boot.sysctl on
| | Comments (6) |

最近看到一篇文章,提到 OCFS 将成为第一个添加到正式 Linux Kernel 中的集群组件:

Coming in future stable Linux kernel releases will be the Xen virtualization technology; Fuse, which makes it possible to implement a fully functional file system in a user-space program; and version 2 of the OCFS (Oracle Cluster File System), which will be the first clustering component to be added to the public kernel, Novell's Kroah-Hartman said.
| | Comments (2) |

忽然间觉得有一些事情本来挺好,可是随着这东西的流行就会变得很俗气.如下:

  • 去西藏 好像自己不去西藏西藏就不存在了似的.一定要去西藏,不管用什么方式,步行、自行车、汽车,想到的方式用上。为什麽要去西藏?据说西藏是个圣地么
  • 看王小波 听别人说这书不错,自己也去看;虽然不喜欢王小波的写作风格,也假装自己喜欢,然后说:王小波的图书对自己影响很大--好像前二三十年没有什么影响过他
  • 写Blog 人人都Blog啦,所以自己也要搞一个。但这并不俗气,俗的是文章从来不是自己写的,Copy + Paste 就完成。
| | Comments (1) |

Oracle宣布发布 OCFS2. OCFS2 正式支持SuSE Linux Exterprise Server 9 (SP2+) 和 RHEL 4 ,都是 Linux Kernel 的2.6 核心,对 2.4 kernel 不支持。OCFS2 比 OCFS 来说是一个大进步。但是高版本居然不兼容低版本,给使用 OCFS 的用户升级带来了很大的难度。

  • Node and architecture local files using Context Dependent Symbolic Links (CDSL)
  • Network based pluggable DLM (distributed lock manager)
  • Improved journaling / node recovery using the Linux Kernel "JBD" (journaled block device) subsystem
  • Improved performance of meta-data operations (space allocation, locking, etc)
    改进了元数据操作的性能
  • Improved data caching / locking (for files such as oracle binaries, libraries, etc)
| | Comments (0) |

今天第一个看到的有意思的消息是 Novell 宣布 OpenSuse 计划.Novell 把 SUSE LINUX Professional 9.3 已经贡献了出来,当前在该站点上就是可以下载的.Novell 此举的目的应该是对抗 Redhat 的 Fedora 计划.相比之下,Novell 更雷厉风行一些.SuSE Linux 爱好者这下子有福了!

另一个不错的消息是网际快车(FlashGet)推出了 1.7 版本,而且针对中文用户免费了(去掉了广告条).免费而不是开源!不需要注册(只能运行在简体中文操作系统上)! 为什么不开源呢? 或许这样一款成熟的产品已经不需要开源社区的贡献了,也或许作者需要赚点美金,还奢求什么呢? 作者已经够大度了! 不满足总是不幸福的根源,为了幸福,要学会满足!

联想在收购 IBM PC 业务之后,并没有向某些人预料的那样走向死路,反而实现盈利,这个消息,加上百度上市,Yahoo!和阿里巴巴联姻或许会是国内 IT 业的一剂强心剂!

| | Comments (2) | TrackBacks (5) |

上个周工作任务其实不少的,到最后似乎都做了个差不多。下周遗留下两个很头疼的技术问题。到现在自己心里还没有个成型的方案。

上午接了一个论坛网友的一个技术相关的电话,我接完了电话,也不知道对方是哪位,问了 Donny 才知道.晚上看到留言,知道这位朋友的问题已经解决了。

下午居然坐在椅子上睡着了。到现在为止,我应该是公司 DBA 团队里面睡觉最厉害的,随时随地可以睡。而且,睡得很香。下午我推荐的两个应聘人员似乎都有希望,看来我这个“猎头”的外号快名至实归了。今天看到的一个业内八卦新闻是Sun收购Novell,Sun 收购 Novell? 似乎不太可能,Sun 要 Solaris 还是拥抱 Linux ? 稍有不慎,则万劫不复了阿。有文章也分析了Sun不可能收购Novell,发现自己还是看中文的新闻和 Blog 比较多。

超越这一天,超越这一天,轻松简单的超越这一天!

| | Comments (0) |

邮件列表中有人提到Oracle 为什么不研发自己的操作系统?。可能很多人都不知道.Oracle 曾经有个操作系统开发计划.1998 年,在Comdex 展会上,CEO Oracle Larry Ellison 宣布了Oracle 公司的 Raw Iron 计划,随后的1999年 ,HP 和 Dell 也宣布助阵 Oracle ,准备为 Oracle 的操作系统推出相应的硬件平台.不过随后的15个月过后,在一片质疑声中,Oracle 不得不草草收兵。

| | Comments (0) | TrackBacks (1) |

很多人都知道 IBM 很早就出了 p690。当我和一些同事谈起来要启用 p5 590 的时候。几乎都会小声的问:公司为啥不卖更好一点的? 590 是 IBM 小机中比较差的吧? 我只好说,IBM 目前最高端的是 p5 595. p5 59x 是Power5系列. 是非常强悍地。

| | Comments (2) |

不久前,Oracle(甲骨文)公司在美国加州的总部宣布, Oracle 10g 数据库 与 Oracle RAC 在 TPC-H 基准测试中创造了新的世界纪录.这是个令人震惊的消息.因为这个测试是在 Linux ( Red Hat Enterprise Linux Advanced Server 3) 的平台上进行的. 这充分显示了 Oracle 在低成本 Linux 集群服务器上高效管理大规模数据仓库的能力, 也表明 Linux 在性能价格比上显而易见的优势,标志着Linux在大规模企业应用上已经成熟.

相信很多朋友已经对10g跃跃欲试了,现在从这里让我们开始10g之旅.

本文描述了在Red Hat Enterprise Linux Advanced Server 3 (RHEL 3)上安装Oracle 10g 必要的步骤和相关知识. 本文假定你的Linux 操作系统已经安装完毕,并且您应该具有一定的 Unix 操作系统背景知识.

| | Comments (0) |

刚才聚会回来,看了一下昨天加在del.icio.us/Fenng中的红帽企业 Linux AS 4 发行注记.RHEL 4 还是不用ReiserFS.有一些变化对DBA来说应该加以注意,摘抄一点:

  • 首先关注一下内核相关变化:
    红帽企业 Linux 4 包括一个叫做 hugemem 的新内核。这个内核支持每进程 4GB 用户空间(其它内核只支持 3GB)和 4GB 直接内核空间。使用这个内核允许 红帽企业 Linux 在拥有大至 64GB 主内存的系统上运行。一般来说,配置了 16GB 内存以上的系统需要 hugemem。使用较少内存的环境也可以从这个内核中获益,特别是在运行能够从较大的用户空间中获益的应用程序的时候。
  • IO 相关的信息:
    虽然 红帽企业 Linux 4 包括对 rawio 的支持,但它已是一个过时的接口。如果您的应用程序使用这种接口,Red Hat 建议您改变您的应用程序,使它们通过 O_DIRECT 标志来打开块设备。rawio 接口会在当前的 红帽企业 Linux 4 中存在,但是它有可能会不再被包括在以后的发行版本中。 文件系统的异步 I/O(AIO)当前只支持 O_DIRECT 或是非缓冲的模式。另外,异步拉 (asynchronous poll) 接口已不再出现,管道 (pipes) AIO 也不再被支持。
  • 红帽企业 Linux 4 仍然提供对 LinuxThreads 的支持,但是 红帽企业 Linux 5 将不再包括对 LinuxThreads 的支持
  • 默认使用LVM2,添加了新的图形化的 Logical Volume Manager (LVM) 配置工具 - system-config-lvm
  • e2fsprogs.ext2online 工具被添加用来在线地扩大已存在的 ext3 文件系统
    需要注意的是,ext2online 并不能扩大它所在的块设备本身 — 一定要有足够的未被使用的空间在这个设备上。最简单的方法是使用 LVM 卷并运行 lvresize 或 lvextend 来扩展这个设备。
| | Comments (0) |

小的时候俺老师就告诉我,学东西要活学活用。后来学到鲁迅先生的宏文《拿来主义》,那时的我,愚钝至极,虽然有语文老师循循善诱,也不能理解鲁迅先生的言下之意。今天看了几则关于国家高科技立项的信息,想起了“拿来主义”,真是茅塞顿开!听我道来!

话说现在很多学计算机的研究生,找导师的标准之一是这样的:看哪个教授能申请到项目,能申请到更多的项目,能申请到更有钱的项目。很多教授的确有这样的神通的。靠着人际关系好,编造几个听起来其酷无比的项目名称,请客送礼是不可少的,这样项目经费就到手了。可是最后怎么交差呢?

| | Comments (1) | TrackBacks (1) |

玉面飞龙在一则BLOG的评注中提起

imp exp sqlldr 有个叫做 singletask 模式 relink的方式据说可以增加执行速度。

上去是某种特定平台才有.据说会消耗更多内存.在IxORA 上有一则信息

To perform a single-task export, you must use the expst executable instead of just exp. You will probably need to create the executable first, as follows.
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk singletask
If you are intending the single-task executables to be used by a user other than oracle, then you will need to set the setuid bits as follows.
chmod 4511 $ORACLE_HOME/bin/*st

 

我在 Linux 下和 HP-UX 下测试了一下,现在的版本似乎都不支持了.得到的错误信息如下:

 

| | Comments (0) |

红帽子第三期电子杂志发布了。这一期最让我感兴趣的是 Coming soon to Enterprise Linux,有什么新功能会加入到 RHEL 中? D-Bus 将引入到企业版中.

What is D-BUS?
D-BUS is an IPC mechanism for sending and receiving messages across a common communications channel. At the protocol level D-BUS can be used as a peer-to-peer message transport for applications to communicate directly with each other. The real power of D-BUS comes from the bus daemons which act as routers for messages. There are two standard buses that a developer can rely on always being around. These are the system bus and the session bus. The system bus is a global daemon that any application running in any context can use as a transport. It is a single point where applications can export services that anyone can use. Only one system bus daemon can be run at a time. The session bus is a bus local to the current user's session. It is used for communication between applications running within the same X session. For every login to X, a session bus daemon is started.
dbus-nm-hal.png
| | Comments (0) |

Linuxtea 上看到一个贴子: 大量图片如何保存到数据库?自己也加了一点错误的讨论。之后和 Piner 聊天的时候,由此他提到China Cache ,找了一下,了解一点 CDN 的概念:

CDN 的英文全称是 Content Delivery Network,即互联网内容发布网络,它是一个建立并覆盖在互联网(Internet)之上、由分布在不同区域的节点服务器群组成的虚拟网络,CDN可以实现把网站的内容高效、稳定地[注:不存在单点故障]发布到离网民最近的地方。 这里还有点信息。

以前曾经考虑过下一波互联网的一个重要应用或许是如何快速分发大数据量的媒体内容。比如网络游戏的快速传播、网络直播等。当时考虑到 BT 等工具为代表的 P2P 技术或许能起到一定作用。但现在想起来,P2P 技术很难做到实时的分发。在媒体直播的时候就有些力不从心。

| | Comments (0) |

前一段时间介绍了Bootchart。最近注意到该工具有了不少新变化。首先是官方站点迁移到http://www.bootchart.org 了;其次是2005-01-10 发布了新的版本 0.7,可以在这里下载。看了一下 TODO 列表中的内容:

  • Add additional performance layers: number of open files, disk write throughput
  • Include kernel boot profiling
  • Add an option to explicitly enable bootchart logging using a kernel command line option (and disable logging by default)
  • Prepare RPM package
| | Comments (0) |

国内的 Linux 厂商似乎很久没什么动静了,不知道他们过得好不好?! 前不久,Linux巨头红帽子也杀进中国了,不知道 RedFlag 和 xteam 还能支持多久?

尽管政府一再提出各种政策扶植 Linux 为代表的开源软件,但是这群扶不起来的阿斗的表现总是让人感觉味道不对。为啥我们的 Linux 就发展不起来?

| | Comments (0) | ,

看到 Tom 在介绍 rlwrap --另一个可以用来在 Linux 上回调命令行的工具。

rlwrap is a 'readline wrapper' that uses the GNU readline library to allow the editing of keyboard input for any other command. Input history is remembered across invocations, separately for each command; history completion and search work as in bash and completion word lists can be specified on the command line.

Howard J.Rogers 写了一篇介绍文档,并把该工具打包为 RPM 文件。

| | Comments (1) |

偶尔去 Linuxforum 看了看,一片荒凉。想想前几年,Linuxforum 可以说是一些 Linux 爱好者相当喜欢的站点阿。可是几年过去了,不进则退。作为早期的论坛+门户齐全的技术站,在Linux刚在中国引起人注意的时候,的确引起很多人的注意。但是眼看着别的技术站点都在做着“丰富门户,加强论坛功能”这样的动作的时候,Linuxforum 居然无动于衷。看看那个论坛,还是几年前的那个样子,功能和亲和力与现在的一些成熟的论坛软件(比如phpbb,VBB等)相去甚远,用户界面也不够友好,甚至对用户不够友好--注册之后居然不可以立刻发帖。这无疑给那些急于提问题的 Linux 爱好者一个闭门羹。

| | Comments (4) |

前几天看到卢亮的 Larbin 一种高效的搜索引擎爬虫工具 一文提到 Nutch,很是感兴趣,但一直没有时间进行测试研究。趁着假期,先测试一下看看。用搜索引擎查找了一下,发现中文技术社区对 Larbin 的关注要远远大于 Nutch 。只有一年多前何东在他的竹笋炒肉中对 Nutch 进行了一下介绍

| | Comments (13) | TrackBacks (4) |

看到一份文档说:

NFS O_DIRECT ...Available in RHEL 3 Update 2

可是自己明明记得这个 O_DIRECT 在 RHEL 3 就有的阿?!搜索到一篇白皮书 Red Hat Enterprise Linux version 3 Technical Summary,发现 NFS 的 O_DIRECT 支持的确是 RHEL 3 就已经提供的(而不是 Update 2),在另一白皮书上亦有提及:

当应用程序利用 O_DIRECT 标记打开文件时,RHEL 3.0 和 SuSE SLES 8 SP3 内核中的Linux NFS 客户端支持对 NFS 文件的直接 I/O 操作。直接 I/O 这一功能可以使管理自己数据缓存的数据库应用程序获益。启用该功能后,应用程序的读写系统调用会直接转换为 NFS 读写操作。在利用该标记打开文件时,Linux 内核不会对任何读写结果进行缓存,因此,应用程序总是可以准确获取服务器上的内容。
| | Comments (0) |

Grub 非彼 GRUB (GNU GRUB)。今天看到卢亮的 Larbin 一种高效的搜索引擎爬虫工具 一文提到 Nutch,Google 找了一下,发现了这个 Grub。此 Grub 是个分布式应用程序(类似 SETI@home ,寻找地外智能生物),该软件的目标有些惊人:

track down every site in the world and provide a real-time map of the Web
| | Comments (0) |

Zeitgeist 这个词很有趣,韦氏字典里这么解释:

Pronunciation: 'tsIt-"gIst, 'zIt-
Function: noun
Usage: often capitalized
Etymology: German, from Zeit + Geist spirit
: the general intellectual, moral, and cultural climate of an era 

中文意思可以解释为:时代精神,时代思潮;具有某时期或某时代人特征的品位和观点。Google 每年年末都要发布当年的 Zeitgeist 。可以理解为 Google 的年度关键词。这里还有个 Flash 的交互版

| | Comments (0) |

我们知道,通过 robots.txt 文件可以阻止(不是绝对的)搜索引擎的爬虫或者机器人对自己站点的搜索行为。无意中看了看 Google 的 robots.txt 文件。

| | Comments (3) |

sourceforge 上发现了 Bootchart 这款有趣的工具。该工具,可以对 GNU/Linux 的启动过程进行性能分析,并将之可视化。

| | Comments (0) |

ORACLE 的安装

ORACLE8i 通过新的基于 Java 的 ORACLE Universal Installer (OUI) 来安装,在所有的平台上都有一样的界面 [1 M Cyran, 1999] 。上面这句话是对的,不过一些小的差异要注明。在 Unix 上需要 X 兼容的显示能力, 或者是在客户机的工作站上 有一个象 Exceed 这样的应用。在 Windows2000 上安装器可以直接运行。

在 Unix 中有许多手工设定的任务,在 Windows 2000 是不需要的。尤其是你不必手工设定环境变量。你不必生成一个管理数据库的 Unix dba 组,不必设定一个 UNIX 来为用户运行 ORACLE Universal Installer 或者是一个叫 oracle 的用户来安装或者升级 ORACLE 。在 Unix 中 ORACLE 可以重联接而在 Windows 2000 则不能。

在 Windows 2000 中,用户必须是管理员( administrator )组的成员才可以安装数据库。在 ORACLE 8i 数据库安装后自动的创建 ORA_DBA 一个本地组。这个组的成员自动接受 SYSDBA 的权限。推荐在定制安装的时候选择安装 Administration Assistant for Windows ,要注意每个服务器只能安装这个软件的一个版本。

ORACLE 8.1.7 for Solaris 是 2CD 的。切换到第二张 CD 不象手册上说的那么容易。察看 [10 Metalink, 2001] 可以得到具体内容。

Windows 上的安装指导可以看 [3 Kennedy, 2000] 。《ORACLE Universal Installer 概念指导》没包括在 ORACLE8i 服务器联机文档中,不过在 ORACLE Universal Installer 安装的过程中自动的安装在你的硬盘中了。

| | Comments (0) |

数据库启动与关闭

在 Windows2000 上数据库可以通过启动相关的服务打开。通过控制面板的服务选项或者是通过命令行模式,如:net start OracleServiceatei 就可以打开相关服务。这依赖于一些注册表参数,我们在后面讨论。停止相关的服务,例如: net stop OracleServiceatei 可以关闭一个数据库。

在所有的平台上, ORACLE8i 实例都可以从服务管理器(或者 SQL*Plus! )中通过 startup 命令启动。在 Unix 中,这个命令启动后台进程并且打开数据库。它还生成了一个 Unix 特定文件,叫做 $ORACLE_HOME/dbs/lk &DBNAME>,这是个MOUNT 锁文件 [6 Metalink, 2000] 。这会阻止两个实例 mount 在同一数据库上,当不使用并行服务器的模式下,要使用不同的 ORACLE_SID 。原来这是个 0 长度文件,不过现在包含文本 'DO NOT DELETE THIS FILE!' 。不要试图通过查看这个文件来得知是否数据库是可用的,它不是很准确的。在 Windows 2000 中, startup 命令并不启动 ORACLE 服务,不过,如果服务已经运行的话,这将打开数据库。

类似的,服务管理器 Server Manager 的 shutdown 命令在任何平台上都会关掉数据库,不过在Windows 2000 上它并不停掉服务。很有可能的情况就是 ORACLE 服务被启动但是数据库却关掉了。

| | Comments (0) | TrackBacks (2) |

摘要

ORACLE Database是广为人知的Unix硬件平台上的领先的数据库系统。ORACLE 用户和管理员因此熟悉 Unix平台上的 ORACLE 架构以及它上面的工具和技巧,并从他们的数据库得到最大的收益。相反,Windows上的 ORACLE 架构就不那么的被广为了解。这篇文章从一个 DBA 的角度考察了两个操作系统之间的关键的异同点。

简介

在看了几本令人失望的这方面的图书之后,我们写了这篇文章。那些书的通病是试图做太多的事情--在细节上论述 Windows 和 ORACLE 。我们的这篇文章假定读者熟悉 Unix 平台上的ORACLE DBA 的工作。因此本文将分析两个平台上的 ORACLE 的关键的差异而不是从头教你 ORACLE 的技巧。我们不想把它作为你的一份详尽的指导或者是手册的替代品,事实上本文会鼓励你阅读一些手册。作为数据库服务器平台,它只会涉及一些 Unix 和 Windows 上相关的优点,这就是本文的目的。

| | Comments (0) | TrackBacks (2) |

Bruce Perens 领衔编辑的 Open Source Series 原来都是 Open Source 版权发布,电子书可以免费从网上下载哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Postgres DBA 日常管理 SQL 大全,包含权限相关: 1. 检查当前活动的连接: ``` SELECT * FROM pg_stat_activity; ``` 2. 检查慢查询: ``` SELECT query, total_time, calls, rows FROM pg_stat_statements ORDER BY total_time DESC LIMIT 10; ``` 3. 检查表的索引: ``` SELECT relname, indexrelname, idx_scan, idx_tup_read, idx_tup_fetch FROM pg_stat_all_indexes WHERE schemaname = 'schema_name' ORDER BY idx_scan DESC LIMIT 10; ``` 4. 检查表的空间使用情况: ``` SELECT relname, pg_size_pretty(pg_total_relation_size(relid)) FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC LIMIT 10; ``` 5. 检查表的主键和外键: ``` SELECT tc.table_schema, tc.constraint_name, tc.table_name, kcu.column_name, ccu.table_schema AS foreign_table_schema, ccu.table_name AS foreign_table_name, ccu.column_name AS foreign_column_name FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name AND ccu.table_schema = tc.table_schema WHERE constraint_type = 'FOREIGN KEY' AND tc.table_schema = 'schema_name'; ``` 6. 检查表的统计信息: ``` SELECT * FROM pg_stats WHERE tablename = 'table_name' ORDER BY attname; ``` 7. 检查表的空间占用情况: ``` SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') AND C.relkind <> 'i' AND nspname !~ '^pg_toast' ORDER BY pg_total_relation_size(C.oid) DESC LIMIT 10; ``` 8. 查看用户和用户组: ``` SELECT * FROM pg_user; SELECT * FROM pg_group; ``` 9. 创建用户和用户组: ``` CREATE USER username WITH PASSWORD 'password'; CREATE GROUP groupname; ``` 10. 授权和取消授权: ``` GRANT SELECT, INSERT, UPDATE, DELETE ON table_name TO username; REVOKE SELECT, INSERT, UPDATE, DELETE ON table_name FROM username; GRANT groupname TO username; REVOKE groupname FROM username; ``` 11. 创建数据库和模式: ``` CREATE DATABASE database_name; CREATE SCHEMA schema_name; ``` 12. 检查数据库和模式: ``` SELECT * FROM pg_database; SELECT * FROM information_schema.schemata; ``` 13. 修改数据库和模式: ``` ALTER DATABASE database_name RENAME TO new_database_name; ALTER SCHEMA schema_name RENAME TO new_schema_name; ``` 14. 删除数据库和模式: ``` DROP DATABASE database_name; DROP SCHEMA schema_name; ``` 这些 SQL 可以帮助 Postgres DBA 进行日常管理和维护工作,包含权限管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值