博客统计信息

用户名:蓝冰
文章数:43
评论数:44
访问量:123427
无忧币:20
博客积分:698
博客等级:2
注册日期:2008-06-03

我最近发表的评论

民意调查 之 自主.. 回复
支持添加此功能
蓝汛离职记 给同.. 回复
哈哈,谢秋香前辈指点啊!!!

背景音乐

我的音乐

00:00 | 00:00

笔记本 windows7  blackberry8110 蓝牙连接上网
 
 
 
 
将蓝牙适配器安装好,将手机蓝牙打开,用电脑搜寻蓝牙手机,
搜到后windows会自动安装针对手机设备的驱动,等到安装完后,
发现windows只能自己安装好针对手机蓝牙monden 的驱动,然后
打开设备管理器,选中黑莓的蓝牙monden,右键,属性,高级,额外的初始化命令,
填入    at+cgdcont=1,"ip","cmnet"   ,然后保存,新建拨号连接,选用蓝牙monden
拨号号码为*99#,用户名密码不用填写。即OK,测试上网,连服务器,QQ均ok
类别:未分类|阅读(1660)|回复(2)|(0)阅读全文>>
2009-05-14 13:19:35
Initialization Parameter files: PFILEs vs. SPFILEs
Submitted by admin on Sun, 2003-08-03 19:29

RDBMS Server


When an Oracle Instance is started, the characteristics of the Instance are established by parameters specified within the initialization parameter file. These initialization parameters are either stored in a PFILE or SPFILE. SPFILEs are available in Oracle 9i and above. All prior releases of Oracle are using PFILEs.
SPFILEs provide the following advantages over PFILEs:

An SPFILE can be backed-up with RMAN (RMAN cannot backup PFILEs)
Reduce human errors. The SPFILE is maintained by the server. Parameters are checked before changes are accepted.
Eliminate configuration problems (no need to have a local PFILE if you want to start Oracle from a remote machine)
Easy to find - stored in a central location
What is the difference between a PFILE and SPFILE:
A PFILE is a static, client-side text file that must be updated with a standard text editor like "notepad..
2009-02-05 17:17:06
PS命令
时间:2007-11-22 19:13:19   类别:技术   RSS 2.0   评论  

PS命令详解

PS命令最常用的方法是ps -aux
然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t< 终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。
ps u  以用户为主的格式来显示程序状况。
ps x  显示所有程序,不以终端机来区分。
PS命令的详细说明:
  PS是LINUX下最常用的也是非常强大的进程查看命令
  1. ps简介
  前面介绍的两个命令..
类别:文摘|阅读(504)|回复(0)|(0)阅读全文>>








关于技嘉945板子在linux下不认4G内存问题如何解决其实很简单:
1。安装光盘中的两个包:
a,kernel-PAE-2.6.18-53.1.14.el5.i686.rpm
b, kernel-PAE-devel-2.6.18-53.1.14.el5.i686.rpm
相关命令:
[root@localhost]#rpm -ivh kernel-PAE-2.6.18-53.1.14.el5.i686.rpm
这一步会要一点时间,安装成功后会在/etc/grub.conf 生成2.6.18-53.1.14.el5-PAE内核,使得重启系统多出一项带PAE的内核
[root@localhost]#rpm -ivh kernel-PAE-devel-2.6.18-53.1.14.el5.i686.rpm
然后重启选择带PAE内核来启动系统。

2.重启后用 uname -a 看看是不是带pae的内核,注意在技嘉板子上在启动带PAE内核的系统后会认不出网卡,所以要重新来编译网卡驱动,前面为什么要装上kernel-PAE-devel-2.6.18-53.1.14.el5.i686.rpm
这个包,原因是能重新编译网卡驱动,不然就会出错。关于如何装网卡驱动、在这我就不必多说了大家都 会。

3.现在我们就可以用 top 或是 free 这两条命令来查看当前系统内存大小,久违的4G终于出现了,

4.最后看看 more /etc/grub.conf 看看default=0 对应的系统是否是带有PAE内核。
类别:文摘|阅读(218)|回复(0)|(0)阅读全文>>
系统引导管理器GRUB,为初学者指南


作者:北南南北
来自:LinuxSir.Org
摘要: GRUB是多系统引导管理器,简单的说既能引导Linux,同时也能引导Windows;从LinuxSir.Org 讨论区近四年的观察来看,大多初学者并不能在短时间内掌握GRUB的用法,为了解决初学者在最短时间内掌握GRUB,重写GRUB入门文档还是有必要的;
本文重点介绍了GRUB的menu.lst的写法,另外通过GRUB命令行引导系统也做了详述;这些无论是对Windows版本的WINGRUB还是Linux版本的GRUB都是适用的;
目录索引
一、什么是多重操作系统引导管理器,什么是GRUB;
1、什么是多重操作系统引导管理器及工作原理;
2、什么是GRUB;为什么我要选择GRUB;

1)什么是GRUB;
2)“GRUB太不好用”──对GRUB的认识的误区;
3)为什么要选择GRUB;
二、GRUB软件包版本选择和安装;
1、Linux版本的GRUB及Windows版本的GRUB的说明;
2、GRUB的Windows版本WINGRUB;
3、GRUB的Linux版本软件包的安装;
三、在Linux中,GRUB的配置中的安装和写入硬盘的MBR;
1、在Linux中,GRUB配置过程中的安装grub-install;
2、设定GRUB的/boot分区并写入MBR;
四、GRUB的配置文件的menu.lst的写法;
1、menu.lst的写法..
2008-12-29 10:40:02
远程安装linux步骤:
环境:
server: 192.168.1.1
client: 192.168.1.10
在server上布置安装文件,开启ftp服务
在client上用光盘启动,选择通过ftp方式安装

server设置:
将红帽安装光盘DVD(rhel4u4)装入光驱,
挂载到/mnt目录下
cp -ar /mnt/* /var/ftp/pub  将光盘中的文件都拷贝到pub目录下
servicev sftpd start 启动ftp服务

注意: 在刚开始做得时候想省事将光盘目录直接挂载到 /var/ftp/pub,但是不行,ftp登陆进去后看不到文件.
 
client端:
用光盘启动,可以用启动盘,或者是DVD光盘启动,出现界面后按F2键进入一个选项界面:
然后输入: linux askmethod 回车
然后在过程中选择输入本机ip: 可以用dhcp获取,或者自己手动输入,
然后安装时选择ftp安装,输入ftp服务器ip地址,目录填pub,即可

vsftpd服务器打开后,默认支持匿名用户,user:ftp,passwd:ftp
匿名用户登陆后的根目录为/var/ftp,所以要在目录中填入pub,
或者在拷贝光盘文件的时间将光盘文件直接拷贝到/var/ftp/目录下的话,可能就不用输目录就可以了
类别:文摘|阅读(297)|回复(2)|(0)阅读全文>>
2008-12-18 16:54:27
作者:jace 时间:2005-05-22 22:39:19
 
 
鸟哥的ntp
 
 
[url]http://linux.vbird.org/linux_server/0440ntp.php[/url]
 


现在的网络由于各种原因 对于时间同步要求很高——比如银行,某些网站论坛。
配置ntp就是他们要面对的一个问题,在NTP中有Ntp,xntp等各种软件。我们选用Rad Hat中标配的NTP。

首先让大家了解下NTP:
使用端口123
协议 UDP
用处 同步网络时钟

首先到下载ntp-4.1.1-1.i386.rpm 
([url]ftp://rpmfind.net/linux/redhat/7.3/en/....1.1-1.i386.rpm[/url])
不下载最新的,因为高版本可能你的linux版本(AS 3.1)不支持,并且不要选4.0.9版本(有溢出漏洞)

如果链接失效推荐一个不错的搜索引擎([url]http://rpmfind.net/linux/rpm2html/search.php[/url])


#wget [url]ftp://rpmfind.net/linux/redhat/7.3/en/....1.1-1.i386.rpm[/url]
#rpm -ivh ntp-4.1.1-1.i386.rpm //默认安装即可

接下来编辑 /etc/ntp.conf
首先你可以去ntp.org上找到哪些ntp服务器离你较近

ntp.conf
################################################################..
类别:文摘|阅读(467)|回复(0)|(0)阅读全文>>
2008-12-15 13:39:40





rsync中文手册

简介
对于选择Linux 作为应用平台的的中小型企业或网站来说,往往面临如何实现数据远程备份或者网站镜象的问题,虽然有商业化的备份和镜象产品可供选择,但这些产品的价格往往过于昂贵。因此如何利用自由软件高效实现远程备份和网站镜象就成为一个值得讨论的话题。

通过网络进行远程数据备份或者网站镜象的最简单的方法就是使用wget,但是这种方式每次都需要将所有数据都重新在网络上传输一遍,而不考虑哪些文件是经过更新的,因此效率非常低下。尤其在需要备份的数据量很大的时候,往往需要花费数个小时来在网络上进行数据传输。

因此这里就介绍一种高效的网络远程备份和镜象工具-rsync,它可以满足绝大多数要求不是特别严格的备份需求。

rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:

可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
优化的流程,文件传输效率高。
可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
软件下载
rysnc的主页地址为:
..
类别:文摘|阅读(540)|回复(0)|(0)阅读全文>>
2008-12-10 22:44:16
ggg.jpg
竞舞台(GG)平台:
介绍:竞舞台(GG)是一个非常优秀的国际性联机平台,目前已经开通了红色警戒3的联机大厅,RA3的高峰在线率高达1000多人,东南亚,港台地区和欧美玩家居多,大陆的电信和网通专厅也已开通,广大玩家可以前去试玩。

平台下载地址:[url]http://garena.cn/index.html[/url]

GG-002.jpg

GG平台设置技巧:
GG平台采用了服务器传送游戏数据方式,不需要安装虚拟网卡,适用性广泛,并采用了一些新技术在一定程度上解决了复杂网络之间的互联问题。当和大厅里某些玩家之间的联接很差时,可以手动在此玩家ID上点击右键,选择“GG路由”,便可以有效改善和此玩家的联机质量,因为此种方式非常耗费服务器资源,所以平时默认是关闭的,需要时便手动开通。
GG-001.jpg

路由上网玩家的优化设置方案请见<UPNP及端口映射设置参考>:
[url]http://www.gametotal.org/forum/showthread.php?t=20080[/url]

特别提醒:
经过一些专业玩家测试,发现在游侠1,2号大厅内联机时,进房超时现象特别严重。而在国际区或GTRTS等其它大厅内则超时现象减轻许多。所以推荐大家去其它大厅(如GTRTS大厅)进行联机测试。并欢迎跟贴报告测试情况。
未命名.jpg


=======..
类别:文摘|阅读(6325)|回复(1)|(0)阅读全文>>
 
 
 
判断两个文件内容是否相等,cmp也可以换成是diff
if cmp a b &> /dev/null # 阻止输出.
then echo "Files a and b are identical."
else echo "Files a and b differ."
fi
 
 
 
 
判断某个文本中是否含有某字符串的例子:if-grep 结构
 
 
# 非常有用的"if-grep" 结构:

if grep -q Bash file
then echo "File contains at least one occurrence of Bash."
fi
word=Linux
letter_sequence=inu
if echo "$word" | grep -q "$letter_sequence"
# "-q"选项是用来阻止输出
then
echo "$letter_sequence found in $word"
else
echo "$letter_sequence not found in $word"
fi
 
类别:未分类|阅读(393)|回复(0)|(0)阅读全文>>
2008-12-09 22:27:01
正则表达式
类别:文摘|阅读(189)|回复(0)|(0)阅读全文>>
sysctl.conf优化方案-----完整的
关于sysctl.conf的优化方案网上有各种版本方案,大多数都是抄来抄去的,让新人看了很迷茫。下现出一个完整的方案!
###################################################################################
所有rfc相关的选项都是默认启用的,因此网上的那些还自己写rfc支持的都可以扔掉了
###################################################################################
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
############################################################
通过源路由,攻击者可以尝试到达内部IP地址 --包括RFC1918中的地址,所以
不接受源路由信息包可以防止你的内部网络被探测。
################################################################
net.inet.tcp.drop_synfin=1
##################################################################
安全参数,编译内核的时候加了options TCP_DROP_SYNFIN才可以用,可以阻止某些OS探测。
#################################################################
kern.maxvnodes=8446
#####################################..
类别:文摘|阅读(1628)|回复(1)|(0)阅读全文>>
环境,两台rhel3服务器,vmware桥接,互相可以ping通对方
NODEA ip:192.168.200.2
NODEB ip:192.168.200.1
在nodeb上做nfs服务:
root用户登陆
mkdir  /var/nfsdir
vi /etc/exports
/var/nfsdir 192.168.200.0/24(rw,sync,no_root_squash)
保存,退出,启动nfs服务
service nfs start

nodea做客户端:
showmount -e 192.168.200.1 查看共享的目录
挂载目录:
mount -t nfs 192.168.200.1:/var/nfsdir /mnt
 

模拟向nfs写入数据流

在nodea上执行:
touch /mnt/123
dd if=/dev/zero of=/mnt/123 bs=100M count=10

执行完后,切换到nodeb,进入目录/var/nfsdir,
ls -lh,查看123文件的大小,
再重复ls -lh ,查看文件大小,
执行service nfs stop  模拟serviceguard切换时需要停止nfs服务

然后在nodea上执行
df -h 将会发生挂在那里按任何按键都无反应的状况

然后在nodeb上执行
service nfs start
然后查看/var/nfsdir/123,会发现文件正在增长,
然后再来service nfs start;service nfs stop,
会发现文件在一起一关的过程中文件又增长了一点,
 
此试验说明,在数据传输过程中,nfs服务器关掉,然后再起来,客户端会
重复连到服务端上并..
类别:文摘|阅读(184)|回复(0)|(0)阅读全文>>
2008-12-09 10:53:45
非常全面的NFS文档(FOR LINUX)



--------------------------------------------------------------------------------

这是我写的第一份笔记式文档,是对自己最近在研究NFS方面的一个小小的总结,这个稳定也参考和引用了一部分别人的文档,这里表示感谢,这篇是根据LINUX来写的,有空的话我还会写一篇FOR FREEBSD和SOLARIS的。请斑竹帮忙加个精华,万分感谢
超全的NFS文档(FOR LINUX)
欢迎大家和我交流网络方面的技术问题
msn:bcst@citiz.net qq:11300242
如果要转载的话请保留以上信息,谢谢配合
一、NFS简介
NFS-Network FileSystem的缩写,NFS是由Sun开发并发展起来的一项用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS server也可以看作是一个FILE SERVER,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使用NFS的远端文件就象是在使用本地文件一样。
NFS协议从诞生到现在为止,已经有多个版本,如NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010)。
二、各NFS协议版本的主要区别
V3相对V2的主要区别:
1、文件尺寸
V2最大只支持32BIT的文件大小(4G),而NFS V3新增加..
类别:文摘|阅读(534)|回复(0)|(0)阅读全文>>
 首先,介绍一下ftp关于主动模式与被动模式的原理:
这一部分有什么作用? 如果你是在内网搭建一个ftp服务器进行测试,那么不必关注,那是很容易的,内网的机子
之间一般没有防火墙所以无关于主动模式和被动模式,但是在生产环境中,ftp服务器与客户端之间一般不止一个
防火墙,所以有必要弄清楚这个原理。
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,..
类别:文摘|阅读(1054)|回复(1)|(0)阅读全文>>
习惯的力量 影响35岁前成功的好习惯与恶习
 

  习惯的力量是惊人的。习惯能载着你走向成功,也能驮着你滑向失败。如何选择,完全取决于你自己。
  习惯的力量:35岁以前养成好习惯
  你想成功吗?那就及早培养有利于成功的好习惯。
  习惯的力量是惊人的,35岁以前养成的习惯决定着你是否成功。
  有这样一个寓言故事:

  一位没有继承人的富豪死后将自己的一大笔遗产赠送给远房的一位亲戚,这位亲戚是一个常年靠乞讨为生的乞丐。这名接受遗产的乞丐立即身价一变,成了百万富翁。新闻记者便来采访这名幸运的乞丐:“你继承了遗产之后,你想做的第一件事是什么?”乞丐回答说:“我要买一只好一点的碗和一根结实的木棍,这样我以后出去讨饭时方便一些。”
  可见,习惯对我们有着绝大的影响,因为它是一贯的,在不知不觉中,经年累月地影响着我们的行为,影响着我们的效率,左右着我们的成败。
  一个人一天的行为中,大约只有5%是属于非习惯性的,而剩下的95%的行为都是习惯性的。即便是打破常规的创新,最终可以演变成为习惯性的创新。
  根据行为心理学的研究结果:3周以上的重复会形成习惯;3个月以上的重复会形成稳定的习惯,即..
类别:未分类|阅读(130)|回复(0)|(0)阅读全文>>
修改主机名为HOST_A: 1.vi /etc/hosts 127.0.0.1 HOST_A localhost.localdomain localhost 2.vi /etc/sysconfig/ HOSTNAME=HOST_A 以上为永久修改方式,临时修改方式,hostname HOST_A 修改ip地址:ifconfig eth0 192.168.1.1 255.255.255.0 或者 ip add dev eth0 192.168.1.1/24 永久:vi /etc/sysconfig/network-scripts/ifcfg-eth*
类别:文摘|阅读(1314)|回复(0)|(0)阅读全文>>
2008-12-05 16:37:49
1.         创建共享磁盘柜
在虚拟机软件的安装目录下,有个vmware-vdiskmanager.exe文件(老版本用plainmaker.exe),把它复制到共享磁盘柜目录下,创建共享磁盘(老版本共享磁盘文件的扩展名为.pln)
F:\虚拟机\共享磁盘柜>vmware-vdiskmanager.exe -c -s 200Mb -a lsilogic -t 2 quorum.vmdk
F:\虚拟机\共享磁盘柜>vmware-vdiskmanager.exe -c -s 4Gb -a lsilogic -t 2 sharedisk.vmdk
创建完毕后,目录下有四个新文件
quorum-flat.vmdk
quorum.vmdk
sharedisk-flat.vmdk
sharedisk.vmdk
2.         配置虚拟机
在虚拟机器界面选择“Edit virtual machine settings”à添加硬盘,选“Use a existing virtual disk”,分别添加quorum.vmdk、sharedisk.vmdk
双击新加的磁盘,在弹出的磁盘属性窗选“advance”,为新加的硬盘选择虚拟设备节点:quorum.vmdk选订“SCSI 0:1”, sharedisk.vmdk选定“SCSI 1:1”。分别打开两台虚拟机目录中的vmx文件,在最后一行添加:

disk.locking="FALSE"

scsi0:1.SharedBus="Virtual"

scsi1:1.SharedBus="Virtual"
..
类别:文摘|阅读(3088)|回复(0)|(0)阅读全文>>
2008-12-01 18:16:18
1. 与一个已知的时间服务器同步

2. 配置网络时间协议(ntp)

1. 让linux自动同步时间
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.gov
time.nist.gov 是一个时间服务器.

2. 时间服务器配置(192.168.10.1)

1). # rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm
2). # vi /etc/ntp.conf
注释一行
restrict default ignore
加入一行
restrict 192.168.10.0 mask 255.255.255.0 notrust nomodify notrap
3). # vi /etc/ntp/step-tickers
加入一行
pool.ntp.org
这样每次ntpd启动时,会自动连接该国际标准时间服务器;
4). # service ntpd start
5). # netstat -an |grep 123
确保该端口以udp方式开放
时间客户端配置(192.168.10.2)
1). # ntpdate 192.168.10.2
应该显示同步成功
2). # crond -e
加入
0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1
表示每隔10分钟同步一次时间
类别:文摘|阅读(13678)|回复(0)|(0)阅读全文>>
去除Oracle 8080端口的占用。- -
                                      
安装Oracle数据库后,当我们访问8080端口时,会弹出一个XDB窗口,要求输入用户名和密码。这样将和我们本地一些使用该端口的应用冲突,比如tomcat、jboss等,虽然这些端口是可以修改的,但总是不爽oracle一直占用这个端口。
    Oracle数据库可以使用TCP协议通过8080端口进行连接,所以占用了8080端口。
要取消占用,可以打开Oracle安装目录下的database目录内的SPFILE[SID名].ORA文件进行修改。这个文件是Oracle的启动配置文件。
把其中的*.dispatchers='(PROTOCOL=TCP) (SERVICE=or9iXDB)'这一行去掉即可。
然后重启计算机,或者在服务中重启OracleService[SID名]这个服务。重启后可能无法使用Enterprise Manager Console和其他客户端连接,这时请使用Oracle的Configuration and Migration Tools/Net Configuration Assistant工具删除监听器,然后新建一个监听器,重启监..
类别:文摘|阅读(704)|回复(0)|(0)阅读全文>>
少走弯路的十条忠告  [转] - -
                                      
1.买个闹钟,以便按时叫醒你。贪睡和不守时,都将成为你工作和事业上的绊脚石,任何时候都一样。不仅要学会准时,更要学会提前。就如你坐车去某地,沿途的风景很美,你忍不住下车看一看,后来虽然你还是赶到了某地,却不是准时到达。“闹钟”只是一种简单的标志和提示,真正灵活、实用的时间,掌握在每个人的心中。 

2.如果你不喜欢现在的工作,要么辞职不干,要么就闭嘴不言。初出茅庐,往往眼高手低,心高气傲,大事做不了,小事不愿做。不要养成挑三拣四的习惯。不要雨天烦打伞,不带伞又怕淋雨,处处表现出不满的情绪。记住,不做则已,要做就要做好。

3.每个人都有孤独的时候。要学会忍受孤独,这样才会成熟起来。年轻人嘻嘻哈哈、打打闹闹惯了,到了一个陌生的环境,面对形形色色的人和事,一下子不知所措起来,有时连一个可以倾心说话的地方也没有。这时,千万别浮躁,学会静..
类别:文摘|阅读(171)|回复(1)|(0)阅读全文>>
2008-10-24 11:39:21
问题:
查询一个数据,需要的时间比较长,可能要跑几个小时,用ssh连接远端数据库执行查询命令后在查询过程中不能断开连接
如果断线一下,ssh与远端服务器断开后,远端服务器执行的sqlplus进程就会被关闭,然后数据查询就会中断,就出现问
题前功尽弃了。

想办法;通过编写脚本实现
 
脚本:
vi /home/oracle/auto.sh
#!/bin/bash
# connect to the datebase and perform the sql script select.sql
sqlplus poi/crutrty @select.sql
 
sql脚本
vi /home/oracle/select.sql
insert into tptb0 select distinct c.setto from tuselist_his c,tmmsc d where length(c.setto)>7 and d.areacode='769' and c.SENDTIME between to_date('01012008','mmddyyyy') and to_date('10222008','mmddyyyy') ;
commit;

执行
nohup sh /home/oracle/auto.sh &
然后就下线去吧
类别:文摘|阅读(127)|回复(1)|(0)阅读全文>>
2008-10-14 19:06:25
#!/bin/bash

RESULT=$(df |grep "/dev/" |awk '{print $5}'|sort -nr |head -1|tr -d "%")
if [ "$RESULT" -gt "95" ];
then
     echo "disk usage of server `hostname` is nearly full !!" |mail -s "Server Warning" root@abc.com
fi

exit 0

把这个脚本放在crontab里周期性执行就可以了。
如果运行脚本的服务器上没有mail smtp服务,那么要在mailrc中设置好mailrc否则发邮件发不出去。

set smtp=smtp.163.com
set smtp-auth=login
set smtp-auth-user=username
set smtp-auth-password=password
ORACLE 9i学习心得(2)建立用户到用户建表的步骤


建立用户到用户建表的步骤:
Server
建立:create user 用户名 identified by "密码";
授权:grant create session to 用户名;
            grant create table to  用户名;
            grant create tablespace to  用户名;
            grant create view to  用户名;

Client:
建立表空间(一般建N个存数据的表空间和一个索引空间):
create tablespace 表空间名
datafile ' 路径(要先建好路径)\***.dbf  ' size *M
tempfile ' 路径\***.dbf ' size *M
autoextend on  --自动增长
--还有一些定义大小的命令,看需要
 default storage(
 initial 100K,
 next 100k,
);
Server:
授予用户使用表空间的权限:
alter user 用户名 quota unlimited on 表空间;
或 alter user 用户名 quota *M on 表空间;
自此,才大功告成可以随意建表,运行SQL脚本!
类别:文摘|阅读(124)|回复(0)|(0)阅读全文>>
ORACLE EXP/IMP的使用详解
作者:eclipse
  导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议。对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具。下面说明一下EXP/IMP的使用。
  如何使exp的帮助以不同的字符集显示:set nls_lang=simplified chinese_china.zhs16gbk,通过设置环境变量,可以让exp的帮助以中文显示,如果set nls_lang=American_america.字符集,那么帮助就是英文的了


程序代码 程序代码
EXP的所有参数(括号中为参数的默认值):
USERID       用户名/口令     如: USERID=duanl/duanl      
FULL         导出整个数据库 (N)
BUFFER       数据缓冲区的大小         
OWNER       所有者用户名列表,你希望导出哪个用户的对象,就用owner=username
FILE          输出文件 (EXPDAT.DMP)    
TABLES       表名列表 ,指定导出的table名称,如:TABLES=table1,table2
COMPRESS    导入一个extent (Y)   
RECORDLENGTH  IO 记录的长度
GRANTS       导出权限 (Y)            
INCTYPE       增量导出类型
INDEXES       导出索引 (Y)           
RECORD       跟踪增量导出 (Y)
ROWS          导出数据行 (Y)        
PARFILE       参数文件名,如果你exp的参数很多,可以存成参数文件.
CONSTRAINTS  导出约束 (Y)    
CONSISTENT   交叉表一致性
LOG           屏幕输出的日志文件    
STATISTICS    分析对象 (ESTIMATE)
DIRECT        直接路径 (N)              
TRIGGERS     导出触发器 (Y)
FEEDBACK     显示每 x 行 (0) 的进度
FILESIZE       各转储文件的最大尺寸
QUERY         选定导出表子集的子句
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TABLESPACES 将传输的表空间列表



程序代码 程序代码
IMP的所有参数(括号中为参数的默认值):
USERID   用户名/口令           
FULL     导入整个文件 (N)
BUFFER   数据缓冲区大小         
FROMUSER     所有人用户名列表
FILE     输入文件 (EXPDAT.DMP)    
TOUSER       用户名列表
SHOW     只列出文件内容 (N)
TABLES      表名列表
IGNORE   忽略创建错误 (N)    
RECORDLENGTH  IO 记录的长度
GRANTS  导入权限 (Y)          
INCTYPE      增量导入类型
INDEXES 导入索引 (Y)          
COMMIT       提交数组插入 (N)
ROWS    导入数据行 (Y)       
PARFILE      参数文件名
LOG      屏幕输出的日志文件   
CONSTRAINTS  导入限制 (Y)
DESTROY  覆盖表空间数据文件 (N)
INDEXFILE 将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES  跳过不可用索引的维护 (N)
ANALYZE  执行转储文件中的 ANALYZE 语句 (Y)
FEEDBACK 显示每 x 行 (0) 的进度
TOID_NOVALIDATE  跳过指定类型 id 的校验
FILESIZE 各转储文件的最大尺寸
RECALCULATE_STATISTICS 重新计算统计值 (N)
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
TABLESPACES 将要传输到数据库的表空间
DATAFILES 将要传输到数据库的数据文件
TTS_OWNERS 拥有可传输表空间集中数据的用户

关于增量参数的说明:exp/imp的增量并不是真正意义上的增量,所以最好不要使用。
 

使用方法:
Exp parameter_name=value or Exp parameter_name=(value1,value2……)
只要输入参数help=y就可以看到所有帮助.

EXP常用选项
1.FULL,这个用于导出整个数据库,在ROWS=N一起使用时,可以导出整个数据库的结构。例如:
exp userid=test/test file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y
2. OWNER和TABLE,这两个选项用于定义EXP的对象。OWNER定义导出指定用户的对象;TABLE指定EXP的table名称,例如:
exp userid=test/test file=./db_str.dmp log=./db_str.log owner=duanl
exp userid=test/test file=./db_str.dmp log=./db_str.log table=nc_data,fi_arap
3.BUFFER和FEEDBACK,在导出比较多的数据时,我会考虑设置这两个参数。例如:
exp userid=test/test file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000 tables=WO4,OK_YT
4.FILE和LOG,这两个参数分别指定备份的DMP名称和LOG名称,包括文件名和目录,例子见上面。
5.COMPRESS参数不压缩导出数据的内容。用来控制导出对象的storage语句如何产生。默认值为Y,使用默认值,对象的存储语句的init extent等于当前导出对象的extent的总和。推荐使用COMPRESS=N。
6. FILESIZE该选项在8i中可用。如果导出的dmp文件过大时,最好使用FILESIZE参数,限制文件大小不要超过2G。如:
exp userid=duanl/duanl file=f1,f2,f3,f4,f5 filesize=2G owner=scott
这样将创建f1.dmp, f2.dmp等一系列文件,每个大小都为2G,如果导出的总量小于10G
EXP不必创建f5.bmp.

IMP常用选项
1、FROMUSER和TOUSER,使用它们实现将数据从一个SCHEMA中导入到另外一个SCHEMA中。例如:假设我们做exp时导出的为test的对象,现在我们想把对象导入用户:
imp userid=test1/test1 file=expdat.dmp fromuser=test1 touser=test1
2、IGNORE、GRANTS和INDEXES,其中IGNORE参数将忽略表的存在,继续导入,这个对于需要调整表的存储参数时很有用,我们可以先根据实际情况用合理的存储参数建好表,然后直接导入数据。而GRANTS和INDEXES则表示是否导入授权和索引,如果想使用新的存储参数重建索引,或者为了加快到入速度,我们可以考虑将INDEXES设为N,而GRANTS一般都是Y。例如:imp userid=test1/test1 file=expdat.dmp fromuser=test1 touser=test1 indexes=N

表空间传输
    表空间传输是8i新增加的一种快速在数据库间移动数据的一种办法,是把一个数据库上的格式数据文件附加到另外一个数据库中,而不是把数据导出成Dmp文件,这在有些时候是非常管用的,因为传输表空间移动数据就象复制文件一样快。
关于传输表空间有一些规则,即:
·源数据库和目标数据库必须运行在相同的硬件平台上。
·源数据库与目标数据库必须使用相同的字符集。
·源数据库与目标数据库一定要有相同大小的数据块
·目标数据库不能有与迁移表空间同名的表空间
·SYS的对象不能迁移
·必须传输自包含的对象集
·有一些对象,如物化视图,基于函数的索引等不能被传输
可以用以下的方法来检测一个表空间或一套表空间是否符合传输标准:
exec sys.dbms_tts.transport_set_check(‘tablespace_name’,true);
select * from sys.transport_set_violation;
如果没有行选择,表示该表空间只包含表数据,并且是自包含的。对于有些非自包含的表空间,如数据表空间和索引表空间,可以一起传输。
以下为简要使用步骤,如果想参考详细使用方法,也可以参考ORACLE联机帮助。
1.设置表空间为只读(假定表空间名字为APP_Data 和APP_Index)
alter tablespace app_data read only;
alter tablespace app_index read only;
2.发出EXP命令
SQL>host exp userid=”””sys/password as sysdba””” 
transport_tablespace=y tablespace=(app_data, app_index)
以上需要注意的是
·为了在SQL中执行EXP,USERID必须用三个引号,在UNIX中也必须注意避免“/”的使用
·在816和以后,必须使用sysdba才能操作
·这个命令在SQL中必须放置在一行(这里是因为显示问题放在了两行)
3.拷贝数据文件到另一个地点,即目标数据库
  可以是cp(unix)或copy(windows)或通过ftp传输文件(一定要在bin方式)
4.把本地的表空间设置为读写
5.在目标数据库附加该数据文件
imp file=expdat.dmp userid=”””sys/password as sysdba””” transport_tablespace=y “datafile=(c:\temp\app_data,c:\temp\app_index)”
6.设置目标数据库表空间为读写
alter tablespace app_data read write;
alter tablespace app_index read write;

优化EXP/IMP的方法:
    当需要exp/imp的数据量比较大时,这个过程需要的时间是比较长的,我们可以用一些方法来优化exp/imp的操作。
exp:使用直接路径 direct=y
oracle会避开sql语句处理引擎,直接从数据库文件中读取数据,然后写入导出文件.
可以在导出日志中观察到: exp-00067: table xxx will be exported in conventional path
    如果没有使用直接路径,必须保证buffer参数的值足够大.
    有一些参数于direct=y不兼容,无法用直接路径导出可移动的tablespace,或者用query参数导出数据库子集.
    当导入导出的数据库运行在不同的os下时,必须保证recordlength参数的值一致.

imp:通过以下几个途径优化
1.避免磁盘排序
将sort_area_size设置为一个较大的值,比如100M
2.避免日志切换等待
增加重做日志组的数量,增大日志文件大小.
3.优化日志缓冲区
比如将log_buffer容量扩大10倍(最大不要超过5M)
4.使用阵列插入与提交
commit = y
注意:阵列方式不能处理包含LOB和LONG类型的表,对于这样的table,如果使用commit = y,每插入一行,就会执行一次提交.
5.使用NOLOGGING方式减小重做日志大小
在导入时指定参数indexes=n,只导入数据而忽略index,在导完数据后在通过脚本创建index,指定 NOLOGGING选项

导出/导入与字符集
    进行数据的导入导出时,我们要注意关于字符集的问题。在EXP/IMP过程中我们需要注意四个字符集的参数:导出端的客户端字符集,导出端数据库字符集,导入端的客户端字符集,导入端数据库字符集。
我们首先需要查看这四个字符集参数。
查看数据库的字符集的信息:
SQL> select * from nls_database_parameters;
PARAMETER                      VALUE
------------------------------ --------------------------------------------------------------------------------
NLS_LANGUAGE                   AMERICAN
NLS_TERRITORY                   AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CHARACTERSET               ZHS16GBK
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-RR
NLS_DATE_LANGUAGE              AMERICAN
NLS_SORT                         BINARY
NLS_TIME_FORMAT                HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_DUAL_CURRENCY              $
NLS_COMP                       BINARY
NLS_NCHAR_CHARACTERSET         ZHS16GBK
NLS_RDBMS_VERSION              8.1.7.4.1
NLS_CHARACTERSET:ZHS16GBK是当前数据库的字符集。

我们再来查看客户端的字符集信息:
客户端字符集的参数NLS_LANG=_< territory >.
language:指定oracle消息使用的语言,日期中日和月的显示。
Territory:指定货币和数字的格式,地区和计算星期及日期的习惯。
Characterset:控制客户端应用程序使用的字符集。通常设置或等于客户端的代码页。或者对于unicode应用设为UTF8。
在windows中,查询和修改NLS_LANG可在注册表中进行:
HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\HOMExx\
xx指存在多个Oracle_HOME时的系统编号。

在unix中:
$ env|grep NLS_LANG
NLS_LANG=simplified chinese_china.ZHS16GBK

修改可用:
$ export NLS_LANG=AMERICAN_AMERICA.UTF8

通常在导出时最好把客户端字符集设置得和数据库端相同。当进行数据导入时,主要有以下两种情况:
(1)    源数据库和目标数据库具有相同的字符集设置。
这时,只需设置导出和导入端的客户端NLS_LANG等于数据库字符集即可。
(2)    源数据库和目标数据库字符集不同。
    先将导出端客户端的NLS_LANG设置成和导出端的数据库字符集一致,导出数据,然后将导入端客户端的NLS_LANG设置成和导出端一致,导入数据,这样转换只发生在数据库端,而且只发生一次。
    这种情况下,只有当导入端数据库字符集为导出端数据库字符集的严格超集时,数据才能完全导成功,否则,可能会有数据不一致或乱码出现。

不同版本的EXP/IMP问题
    一般来说,从低版本导入到高版本问题不大,麻烦的是将高版本的数据导入到低版本中,在Oracle9i之前,不同版本Oracle之间的EXP/IMP可以通过下面的方法来解决:
1、在高版本数据库上运行底版本的catexp.sql;
2、使用低版本的EXP来导出高版本的数据;
3、使用低版本的IMP将数据库导入到低版本数据库中;
4、在高版本数据库上重新运行高版本的catexp.sql脚本。
但在9i中,上面的方法并不能解决问题。如果直接使用低版本EXP/IMP会出现如下错误:
EXP-00008: orACLE error %lu encountered
orA-00904: invalid column name
这已经是一个公布的BUG,需要等到Oracle10.0才能解决,BUG号为2261722,你可以到METALINK上去查看有关此BUG的详细信息。
BUG归BUG,我们的工作还是要做,在没有Oracle的支持之前,我们就自己解决。在Oracle9i中执行下面的SQL重建exu81rls视图即可。
Create or REPLACE view exu81rls 
(objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy) 
AS select u.name, o.name, r.pname, r.pfschma, r.ppname, r.pfname, 
decode(bitand(r.stmt_type,1), 0,'', 'Select,') 
|| decode(bitand(r.stmt_type,2), 0,'', 'Insert,') 
|| decode(bitand(r.stmt_type,4), 0,'', 'Update,') 
|| decode(bitand(r.stmt_type,8), 0,'', 'Delete,'), 
r.check_opt, r.enable_flag, 
DECODE(BITAND(r.stmt_type, 16), 0, 0, 1) 
from user$ u, obj$ o, rls$ r 
where u.user# = o.owner# 
and r.obj# = o.obj# 
and (uid = 0 or 
uid = o.owner# or 
exists ( select * from session_roles where role='Select_CATALOG_ROLE') 


grant select on sys.exu81rls to public; 


可以跨版本的使用EXP/IMP,但必须正确地使用EXP和IMP的版本: 
1、总是使用IMP的版本匹配数据库的版本,如:要导入到817中,使用817的IMP工具。
2、总是使用EXP的版本匹配两个数据库中最低的版本,如:从9201往817中导入,则使用817版本的EXP工具。
[/img]..
类别:文摘|阅读(17173)|回复(0)|(0)阅读全文>>
 <<   1   2   >>   页数 ( 1/2 )

公告

希望与有志之士共同交流成长!!!