Apr 23 2006
Archive for April, 2006
Apr 17 2006
如何将EXP出来的数据IMP进不同的表空间
很早以前写的,今天看到又有人问,就发上来。
经常有人会问:原来的数据在USERS表空间里面,我想把它IMP进APP表空间,我已经修改了目的用户的默认表空间,为什么结果还是IMP到USERS表空间中了呢。
关于此问题,作如下解释:
Oracle并没有提供什么参数来指定要导入哪个表空间,数据默认将导入到原本导出时数据所在的表空间中,但是我们可以通过以下的方法来实现导入到不同的表空间。
1.在IMP时候使用INDEXFILE参数
当给此参数指定了某一文件名,IMP的时候所有的index将不会直接导入到表空间中,而是在指定的文件中生成创建index的脚本。
然后用文本编辑器打开此文件,直接编辑脚本中的storage参数,修改为想要导入的表空间名称。
然后重新执行IMP,使用INDEXS=n参数将除Index之外的Objects导入。
最后进入SQL*PLUS,直接运行刚才编辑的脚本,生成索引。
该方法适用于将index以及constraints导入指定的表空间。
2.改变目的用户的默认表空间
这就是上面说的经常有人提问的方法。但是上述的问题之所以没有成功,是因为缺少了下面的几步。
首先,收回目的用户的”UNLIMITED TABLESPACE”权限:
revoke unlimited tablespace from username;
其次,取消目的用户在原数据导出表空间中的配额,这样才能迫使IMP把数据导入到用户的默认表空间中去。
然后,将希望导入的表空间设为目的用户的默认表空间,并添加配额。
最后,执行IMP。
3。使用TOAD
TOAD是强大的Oracle数据库管理软件,是Quest出品的第三方软件,我们可以使用其中的Rebuild Multi Objects工具来实现将多个Object转移到指定的表空间。
于是我们可以不管三七二十一,先IMP,然后再用TOAD作事后的修改。
关于TOAD的使用,此处不作详细解释。
No TagsApr 17 2006
Google Calendar
本来想写一篇Google Canlendar的使用感言,可惜在网通居然始终无法登录Google,我就奇了怪了,在网通,除了Gmail之外,所有其它的Google站点都隔三差五无法访问,而且一不能访问就是大半天,害的我查点儿东西只能去用百度。
没法儿用Google Canlendar,也就没法儿截图,写使用感想的兴致也就没有了。
那就随便说点儿别的吧。
所有使用Gmail的人如果要使用Calendar,一定会去选择Google Canlendar吧,因为确实是方便。微软的周边产品捆绑在操作系统上的策略Google也在使用着,只是比微软用的高明,Google并不明目张胆地把它的各种产品绑在一起让你去使用,而是不断作出各个产品之间的联系,让你在使用这个产品的时候自然会去想使用它的另外一个产品。
不过,越来越感觉到,Google的受众跟微软的受众是大不相同的,所以Google能对微软产生威胁吗?即使GMail+Google Calendar在功能上可以完全取代Microsoft Outlook,即使Writely能够完全取代Microsoft Word,这些免费的解决方案又会在多少企业内使用呢?也许Google的这些东西十分受个人用户的欢迎,但是对于企业来说,绝对不会允许自己的文档存储在其它公司的服务器上,而且又是Google这种长于搜索的公司,合同?报价?计划?开发文档?如果这些都放在了Google的服务器上,怎么保证安全性?怎么相信Google不会去偷窥这些资料?甚至去利用这些资料?
为什么Google受个人用户欢迎,一是免费,二是虽然说我们相信Google的承诺,但是实际上我们也想即使是我们的这些东西被Google看了,那也没什么,我一区区小卒,Google知道我是谁?所以,Google面向个人,通过大量的个人受众来为它的广告收入服务,而微软更多面对的是企业用户,直接通过企业订单赚钱,在这个层面上Google会对微软产生威胁吗?
GoogleApr 11 2006
如何设置服务器之间时间同步
HP-UX系统的服务器之间的时间需要同步,利用自带的NTPD可以很好的达到目的。
假设我们要host1作时间服务器,host2定期去跟host1的系统时间同步,那么需要作以下设置,全部用root用户执行。
1。设置host1机器
编辑/etc/rc.config.d/netdaemons,修改下面行
export NTPDATE_SERVER= –因为这台机器将作为服务器,所以这个参数保持为空值即可
export XNTPD=1 –默认是0,改为1表示ntp进程将随系统启动自动启动
export XNTPD_ARGS=
编辑/etc/ntp.conf,添加下面行
这个文件默认是全部注释的,可以当成ntp的文档来阅读,我们只需要在最后添加,表示将用本地系统时间作为服务器时间
server 127.127.1.1
fudge 127.127.1.1 stratum 10
启动ntp守护进程
/sbin/init.d/xntpd start
检查进程情况
ntpq -p
2。设置host2机器
编辑/etc/rc.config.d/netdaemons,修改下面行
export NTPDATE_SERVER=host1 –因为这台机器将作为客户端,所以这个参数设置为服务器机器名host1
export XNTPD=1
export XNTPD_ARGS=
编辑/etc/ntp.conf,添加下面行
server host1
driftfile /etc/ntp.drift –可以理解为缓存文件,减少跟ntp服务器之间的网络流量
创建driftfile
touch /etc/ntp.drift
测试同步,因为ntpd启动需要很长时间,大概6分钟左右,所以需要等一段时间再测试
ntpdate host1
正常的话输出应该如下
11 Apr 13:35:38 ntpdate[27692]: adjust time server 10.48.52.5 offset -0.002519 se
如果报服务器无法找到的错误 no server suitable for synchronization found,那么通常是因为机器之间设置了防火墙的原因,可以尝试使用-u选项来作ntpdate
ntpdate -u host1
如果仍然不行,恐怕只有让网络管理员去打开ntpdate需要的防火墙端口了。
测试成功以后,启动ntp守护进程,这样系统会自动定期跟服务器进行同步。当然我们也可以使用cron来手动指定同步时间,比如在cron中设置每天夜里2点执行下面的脚本,也可以达到目的。
#!/sbin/sh
LOGDIR=/tmp
LOGFILE=”$LOGDIR/ntpdate.log”
/usr/sbin/ntpdate -u host1 | tee -a $LOGFILE
![Chanel [K]](http://www.dbform.com/wp-content/chanelk.png)

