2006年12月26日星期二

睽违1087个日子,萧亚轩新专辑《1087》破茧而出!


歌手名称:萧亚轩
专辑名称:1087(台湾预购版)
发行时间:2006年12月22日
发行公司:华纳
[专辑介绍]
一千零八十七个日子过去,终于等到 elva 萧亚轩。这一次,不听她的八卦,听她的身体会说话。
距离上一张专辑,经过了1087个日子,歌迷的千呼万唤,终于等到elva这张专辑《1087》。蜇伏沉静的日子当中,所有关心和期待elva的朋友都想要知道,这段时间elva做了什么,有什么改变?答案就在这张专辑《1087》中,每一首歌都是elva这段日子的心血结晶,每一句话都是她心境表白。也许风风雨雨太多,elva每一次出现都会被关心的朋友问到这段日子的点点滴滴。杂音太多,那就听歌吧。这一次不听她的八卦,听她的身体会说话。跟着elva的节奏舞动,开始进入台湾第一舞蹈天后的音乐世界吧!
台湾的流行市场中,真正能够以舞蹈打动人心的女歌手其实并不多。elva就是那少数几位之一,看她跳舞是一种享受,肢体的极致表现,跟随音乐节奏的拳拳到肉。这一次在世界知名编舞家和舞者的全力打造之下,elva和贾斯汀的专属编舞老师一起带给了乐迷一次震撼的视觉听觉享受。
elva的音乐向来和视觉有着密不可分的关系,透过她的视觉表现,结合美学、舞蹈、音乐、造型服装、时尚设计感等多重享受的音乐录像带,每一次都让歌迷惊艳,也更加深歌曲的感染力。这一次新锐导演陈奕仁拍摄了elva的音乐录像带“表白”,缤纷多彩的颜色变换中,elva尽情展现舞姿,连换四套造型,不但让人看到亚洲第一舞蹈天后的动人舞姿,也看到她光芒四射的最新表现。

专辑曲目 (点击下载)
1.表白
2.然后
3.Honey Honey Honey
4.不远
5.L.o.V.e
6.Free
7.我的男朋友
8.代言人
9.后来的我们
10.熄灯
11.You & Me
12.我要的世界+恋爱疯
----------------------------------------------------------
在此借Elva的新专辑,祝大家圣诞、元旦快乐!

阅读全文...

关于Blog搬迁

         对于Windows Live Space实在忍无可忍,速度慢和IE假死不说,改版后N多功能不能正常使用。遂决定于圣诞节后搬迁Blog于此。今后将逐步将部分Windows Live Space上的旧Blog搬迁过来。
         Google的Blogger的确扩展性很强,几乎所有的接口都预留出来,任你自定义,不错。就只期望中国的网络不再封杀Blogger。

阅读全文...

2006年12月19日星期二

网络用户密码更安全,最长32位

         一位安全专家在研究了34000名MySpace.com成员的注册信息后发现,互联网用户使用的密码比以往更加安全了,最长的竟然有32位之多。在Wired News发布的一篇文章中,Counterpane Internet Security首席技术官Bruce Schneier称,调查用户的平均密码长度是8位,其中81%同时包含数字和字母,而那个32位的超长密码是“1ancheste23nite41ancheste23nite4”。 Schneier透露说,最常用的五个密码是:password1、abc123、myspace1、password和blink182(一个乐队),只有3.8%的密码是词典中的某个单词,另外12%是单词加一位数字,而这个数字有三分之二的几率是1,就像上边排名第一的password1。Schneier调侃说:“以前我们认为最常用的密码是‘password’,现在变成了‘password1’。谁说用户们的安全意识没有提高?”
         随后他又认真地指出:“严肃地说,密码的确越来越好了。只有不到4%是某个单词、绝大多数都是字母和数字的混合,这让我很惊讶。”Schneier还表示,密码的有效期(寿命)超过了其有效性。黑客的密码破解能力越来越高,人们却始终不愿意记住一大堆密码,而是更喜欢在不同的地方使用一个通用密码,就连比尔·盖茨也不例外。 不过还有一个问题,Schneier是如何得到这些密码的呢?“嗨,能告诉我你的密码么?”显然不是这样。事实上,他和一位安全界同事合作,创建了一个虚假的MySpace登陆页面,迷惑这34000人“乖乖交出”了自己的密码——典型的钓鱼欺诈。很显然,密码的安全性不仅在于长度和复杂程度,更在于主人的自我保护意识。
         你的“偷懒密码”是什么呢?000000?123456?
         你(听说过)的“变态密码”又是什么呢?只有按着Alt键敲32次小键盘才能打出的8位ASCII码?

阅读全文...

2006年12月15日星期五

Mysql #1251 错误的解决方案

连接出错信息:
        #1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
解决方法:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('密码') WHERE Host = 'localhost(主机名)或IP' AND User = '数据库用户名';
mysql> FLUSH PRIVILEGES;

阅读全文...

Mysql 不能从远程连接的一个解决方法


Refer to
http://www.experts-exchange.com/Databases/Mysql/Q_20992690.html
如果你想连接你的mysql的时候发生这个错误:

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server

解决方法:
1. 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

阅读全文...

2006年12月10日星期日

Hello


  

  

       周五早上坐公交车上班的时候,在FM103.8里听到这首很怀旧的歌曲,发现现在听来又有不同的感受。经典,永远是经典......

  

HELLO
Lionel Richie

I've been alone with you inside my mind
And in my dreams I've kissed your lips a thousand times
I sometimes see you pass outside my door
Hello, is it me you're looking for?

I can see it in your eyes
I can see it in your smile
You're all I've ever wanted, (and) my arms are open wide
'Cause you know just what to say
And you know just what to do
And I want to tell you so much, I love you ...

I long to see the sunlight in your hair
And tell you time and time again how much I care
Sometimes I feel my heart will overflow
Hello, I've just got to let you know

'Cause I wonder where you are
And I wonder what you do
Are you somewhere feeling lonely, or is someone loving you?
Tell me how to win your heart
For I haven't got a clue
But let me start by saying, I love you ...

Hello, is it me you're looking for?
'Cause I wonder where you are
And I wonder what you do
Are you somewhere feeling lonely or is someone loving you?
Tell me how to win your heart
For I haven't got a clue
But let me start by saying ... I love you

阅读全文...

2006年12月8日星期五

UNIX环境编程基础——gcc编译器


gcc and g++现在是gnu中最主要和最流行的c & c++编译器 .gcc/g++在执行编译工作的时候,总共需要以下几步:
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]

gcc and g++现在是gnu中最主要和最流行的c & c++编译器 .gcc/g++在执行编译工作的时候,总共需要以下几步:
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]

GCC能够处理的后缀有:
a. *.c *.C (C语言)
b. *.cxx *.cc (C++语言)
c. *.m (面向对象的C)
d. *.i (预处理后的C语言源文件)
e. *.ii (预处理后的C++语言源文件)
f. *.s *.S (汇编语言)
h. *.h (头文件)

目标文件可以是:
a. *.o 编译连接后的目标文件
b. *.a 库文件

[参数详解]
-x language filename
  设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果你很个性,决定你的C代码文件的后缀名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的文件名都起作用,除非到了下一个参数的使用。
  可以使用的参数吗有下面的这些
  `c', `objective-c', `c-header', `c++', `cpp-output', `assembler', and `assembler-with-cpp'.
  看到英文,应该可以理解的。
  例子用法:
  gcc -x c hello.pig
-x none filename
  关掉上一个选项,也就是让gcc根据文件名后缀,自动识别文件类型
  例子用法:
  gcc -x c hello.pig -x none hello2.c
-c
  只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
  例子用法:
  gcc -c hello.c
  他将生成.o的obj文件
-S
  只激活预处理和编译,就是指把文件编译成为汇编代码。
  例子用法
  gcc -S hello.c
  他将生成.s的汇编代码,你可以用文本编辑器察看
-E
  只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面.
  例子用法:
  gcc -E hello.c > pianoapan.txt
  gcc -E hello.c | more
  慢慢看吧,一个hello word 也要与处理成800行的代码
-o
  制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果你和我有同感,改掉它,哈哈
  例子用法
  gcc -o hello.exe hello.c (哦,windows用习惯了)
  gcc -o hello.asm -S hello.c
-pipe
  使用管道代替编译中临时文件,在使用非gnu汇编工具的时候,可能有些问题
  gcc -pipe -o hello.exe hello.c
-ansi
  关闭gnu c中与ansi c不兼容的特性,激活ansi c的专有特性(包括禁止一些asm inline typeof关键字,以及UNIX,vax等预处理宏,
-fno-asm
  此选项实现ansi选项的功能的一部分,它禁止将asm,inline和typeof用作关键字。
-fno-strict-prototype
  只对g++起作用,使用这个选项,g++将对不带参数的函数,都认为是没有显式的对参数的个数和类型说明,而不是没有参数.
    而gcc无论是否使用这个参数,都将对没有带参数的函数,认为城没有显式说明的类型
-fthis-is-varialble
  就是向传统c++看齐,可以使用this当一般变量使用.
-fcond-mismatch
  允许条件表达式的第二和第三参数类型不匹配,表达式的值将为void类型
-funsigned-char
-fno-signed-char
-fsigned-char
-fno-unsigned-char
  这四个参数是对char类型进行设置,决定将char类型设置成unsigned char(前两个参数)或者 signed char(后两个参数)
-include file
  包含某个代码,简单来说,就是便以某个文件,需要另一个文件的时候,就可以用它设定,功能就相当于在代码中使用#include<filename>
  例子用法:
  gcc hello.c -include /root/pianopan.h
-imacros file
  将file文件的宏,扩展到gcc/g++的输入文件,宏定义本身并不出现在输入文件中
-Dmacro
  相当于C语言中的#define macro
-Dmacro=defn
  相当于C语言中的#define macro=defn
-Umacro
  相当于C语言中的#undef macro
-undef
  取消对任何非标准宏的定义
-Idir
  在你是用#include"file"的时候,gcc/g++会先在当前目录查找你所制定的头文件,如果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,他会先在你所制定的目录查找,然后再按常规的顺序去找.
  对于#include<file>,gcc/g++会到-I制定的目录查找,查找不到,然后将到系统的缺省的头文件目录查找
-I-
  就是取消前一个参数的功能,所以一般在-Idir之后使用
-idirafter dir
  在-I的目录里面查找失败,讲到这个目录里面查找.
-iprefix prefix
-iwithprefix dir
  一般一起使用,当-I的目录查找失败,会到prefix+dir下查找
-nostdinc
  使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确限定头文件的位置
-nostdin C++
  规定不在g++指定的标准路经中搜索,但仍在其他路径中搜索,.此选项在创libg++库使用
-C
  在预处理的时候,不删除注释信息,一般和-E使用,有时候分析程序,用这个很方便的

-M
  生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c来测试一下,很简单。
-MM
  和上面的那个一样,但是它将忽略由#include<file>造成的依赖关系。
-MD
  和-M相同,但是输出将导入到.d的文件里面
-MMD
  和-MM相同,但是输出将导入到.d的文件里面
-Wa,option
  此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然后传递给会汇编程序
-Wl.option
  此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然后传递给会连接程序.
-llibrary
  制定编译的时候使用的库
  例子用法
  gcc -lcurses hello.c
  使用ncurses库编译程序
-Ldir
  制定编译的时候,搜索库的路径。比如你自己的库,可以用它制定目录,不然编译器将只在标准库的目录找。这个dir就是目录的名称。
-O0
-O1
-O2
-O3
  编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高 
-g
  只是编译器,在编译的时候,产生调试信息。
-gstabs
  此选项以stabs格式声称调试信息,但是不包括gdb调试信息.
-gstabs+
  此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.
-ggdb
  此选项将尽可能的生成gdb的可以使用的调试信息.
-static
  此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态连接库,就可以运行.
-share
  此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.
-traditional
  试图让编译器支持传统的C语言特性
[参考资料]
-Linux/UNIX高级编程
  中科红旗软件技术有限公司编著.清华大学出版社出版
-Gcc man page
[ChangeLog]
-2002-08-10
  ver 0.1 发布最初的文档
-2002-08-11
  ver 0.11 修改文档格式
-2002-08-12
  ver 0.12 加入了对静态库,动态库的参数
-2002-08-16
  ver 0.16 增加了gcc编译的4个阶段的命令
运行 gcc/egcs
**********运行 gcc/egcs***********************
  GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++源程序。
  如果你有两个或少数几个 C 源文件,也可以方便地利用 GCC 编译、连接并生成可执行文件。例如,假设你有两个源文件 main.c 和 factorial.c 两个源文件,现在要编译生成一个计算阶乘的程序。
代码:
-----------------------
清单 factorial.c
-----------------------
int factorial (int n)
{
  if (n <= 1)
   return 1;
  else
   return factorial (n - 1) * n;
}
-----------------------
清单 main.c
-----------------------
#include <stdio.h>
#include <unistd.h>
int factorial (int n);
int main (int argc, char **argv)
{
  int n;
  if (argc < 2)
  {
    printf ("Usage: %s n\n", argv [0]);
    return -1;
  }
  else
  {
   n = atoi (argv[1]);
   printf ("Factorial of %d is %d.\n", n, factorial (n));
   }
  return 0;
}
-----------------------
利用如下的命令可编译生成可执行文件,并执行程序:
$ gcc -o factorial main.c factorial.c
$ ./factorial 5
Factorial of 5 is 120.
  GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。假设我们有一个如下的 C++ 源文件(hello.C):
#include <iostream>
void main (void)
{
  cout << "Hello, world!" << endl;
}
则可以如下调用 g++ 命令编译、连接并生成可执行文件:
$ g++ -o hello hello.C
$ ./hello
Hello, world!
**********************gcc/egcs 的主要选项*********
gcc 命令的常用选项
选项 解释
-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,
例如 asm 或 typeof 关键词。
-c 只编译并生成目标文件。
-DMACRO 以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
-E 只运行 C 预编译器。
-g 生成调试信息。GNU 调试器可利用该信息。
-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。
-lLIBRARY 连接时搜索指定的函数库LIBRARY。
-m486 针对 486 进行代码优化。
-o FILE 生成指定的输出文件。用在生成可执行文件时。
-O0 不进行优化处理。
-O 或 -O1 优化生成代码。
-O2 进一步优化。
-O3 比 -O2 更进一步优化,包括 inline 函数。
-shared 生成共享目标文件。通常用在建立共享库时。
-static 禁止使用共享连接。
-UMACRO 取消对 MACRO 宏的定义。
-w 不生成任何警告信息。
-Wall 生成所有警告信息。

阅读全文...

2006年12月6日星期三

Oracle 9.2.0.4 在 Redhat AS3 上安装全过程


基本参数
操作系统: Redhat Enterprise Linux as3 默认配置外加所有开发软件包 内存至少512兆 swap分区设置

为内存的二倍。不要采用DHCP设置主机名和IP地址,而是“手工设置”。否则会在安装oracle的时候出现

如下错误:Thrown when the IP address of a host cannot be determined

Oracle: 9.2.0.4 (注意不是9.2.0.1 这个版本安装后要打补丁升级到 9.2.0.4)

所需的软件
Oracle: 9.2.0.4 安装文件
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz

从网上下载升级补丁包,
所有的补丁说明如下:
p3006854_9204_LINUX.zip 在运行 runInstaller 之前打.
p2617419_210_GENERIC.zip 打其他补丁所需要的工具.
p3119415_9204_LINUX.zip 在升级到9.2.0.4.0之后打.
p3238244_9204_LINUX.zip 用来修agent服务不能启动的错误

安装需要在2个帐户下进行 分别是 root 和 oracle帐户 管理员帐户负责基础设施创建 oracle帐户则负

责Oracle软件的安装 帐户切换可用 su
每步安装操作一定要看清楚在那个帐户进行 注意我下面的帐户提示

现在开始

1)先以root登录 在root帐户下进行下面操作

首先准备安装需要的软件包和补丁包 先看安装所需要的软件包是否都装了
a 检察开发软件包 用下面的命令
rpm -qa | grep compat gcc cpp compat-libstdc++ glibc-devel glibc-headers glibc-kernheaders

binutils

b 检察安装依赖软件包 查看系统中是否安有以下几个软件包
compat-libstdc++-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-db-4.0.14-5
compat-gcc-7.3-2.96.122
setarch-1.3-1.i386.rpm
tcl-8.3.5-92.i386.rpm

如果还没装 它们都在第2和第3张盘上 把它们都装上 保险的做法是把他们都拷到你当前目录下用下面的

命令
装过的它会自动跳过
rpm -ivh \
compat-db-4.0.14-5.i386.rpm \
compat-gcc-7.3-2.96.122.i386.rpm \
compat-gcc-c++-7.3-2.96.122.i386.rpm \
compat-libstdc++-7.3-2.96.122.i386.rpm \
compat-libstdc++-devel-7.3-2.96.122.i386.rpm \
openmotif21-2.1.30-8.i386.rpm \
setarch-1.3-1.i386.rpm \
tcl-8.3.5-92.i386.rpm

注意:在装Redhat时一定要选上 gnome开发软件包 否则将来配置 Oracle http是会出错 没装的话现在装

上还来的及

2)还是在root帐户下 准备安装过程中需要的用户和用户组 对就是那个oracle帐户
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle

3)还是在root帐户下 准备文件目录:
# mkdir -p /oracle/product/9.2
# mkdir /var/opt/oracle
# chown oracle.dba /var/opt/oracle
# chown -R oracle.dba /oracle
# chmod 777 /var/opt/oracle

3)还是在root帐户下 设置内核参数,调节信号灯及共享内存:
# echo 250 32000 100 128 > /proc/sys/kernel/sem
# echo 1073741824 > /proc/sys/kernel/shmmax
# echo 4096 > /proc/sys/kernel/shmmni
# echo 2097152 > /proc/sys/kernel/shmall
# echo 65536 > /proc/sys/fs/file-max
# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
当然为了一开机系统就能自动帮你设好这些参数,也可改动 /etc/sysctl.conf 这个文件,加入以下的语

句:
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
保存

设置完成后用命令 more /etc/sysctl.conf |grep kernel.s 检查.
Shmmax: 最大共享内存1GB 物理内存如果小的话可以设置成 536870912
Shmmni: 最小共享内存 4096KB)

4)还是在root帐户下 设置oracle对文件的要求:
编辑文件:/etc/security/limits.conf 加入以下语句:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
保存

现在退出root帐户 以oracle帐户登陆
4)在oracle帐户下 设该置帐户环境
打开.bash.profile文件,将如下内容加入:
#oracle 9i
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/product/9.2.0.4
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/oracle/product/9.2.0.4/lib:$LD_LIBRARY_PATH
export PATH=/opt/ora9/product/9.2.0.4/bin:$PATH
#
# change this NLS settings to suit your country:
# example:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
export LANG=en_US

保存后退出。
然后。退出登录,再次进入,这时候oracle的环境就已经生效了。

4)转到root帐户下 (可用 su root)
随便建立个安装目录把oracle安装文件和补丁都拷进去
解压oracle安装文件
zcat ship_9204_linux_disk1.cpio.gz | cpio -idmv
zcat ship_9204_linux_disk2.cpio.gz | cpio -idmv
zcat ship_9204_linux_disk3.cpio.gz | cpio -idmv
解压完后看见Disk1,Disk2,Disk3这3个目录

打安装前补丁 p3006854_9204_LINUX.zip 用下面的命令
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt
...
# cd 3006854
# sh rhel3_pre_install.sh
退出root帐户

5)回到oracle帐户下
进到Disk1目录运行
./runInstaller
启动安装界面

- Welcome Screen: Click Next
- Inventory Location: Click Next
- Unix Group Name: Use "oinstall" and click Next
会提示运行 /tmp/orainstRoot.sh, 运行它然后继续
- File Locations: Use default values
- Available Products: Select "Oracle9i Database 9.2.0.4"
- Installation Types: 选择安装类型是“通用”除非你有特别要求 如数据仓库 或不想要产生默认数

据库
- 输入全局数据库名: 我一般设为和下面SID一样
- 数据文件的存放位置: 我采用的是默认位置,点“Next”;
出现安装组件的选择结果,这时点“Install”,开始安装,复制文件,进度条在一点一点的增加,当安

装并link完后,会提示运行root.sh 运行它然后继续
出现配置工具界面,默认数据库正确配置完毕后会自动产生2个数据库管理员帐户 SYS 和 SYSTEM 分别设

置密码然后继续
agent服务不能配置成功,忽略不用管,在下面修复。DBCA,NETCA,HTTP都正确配置完毕哦。下面开始修

复错误。

6)转到root帐户下 (可用 su root)
先加入下面2个环境变量
#export ORACLE_BASE=/usr/oracle
#export ORACLE_HOME=/usr/oracle/product/9.2

先解压补丁工具 p2617419_210_GENERIC.zip 这是打其他补丁所需要的工具opatch.
# unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
# pwd
解压所在目录
# export PATH=$PATH:解压所在目录/OPatch:/sbin

安装p3119415_9204_LINUX.zip 补丁
# unzip p3119415_9204_LINUX.zip
Archive: p3119415_9204_LINUX.zip
creating: 3119415/
......
inflating: 3119415/README.txt
# cd 3119415
# opatch apply

安装p3238244_9204_LINUX.zip补丁
unzip p3238244_9204_LINUX.zip
# cd 3238244
...
# opatch apply

补丁修复完成,需要relinked一个.mk文件。
回到oracle帐户下
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
现在在运行agentctl start,看是不是可以成功运行agent服务了啊,可以用stop、status来停止此服务

或者检查服务的状态

$vi /etc/oratab 最后一行N改成Y
oradb:/oracle/product/9.2.0.4:Y

$cp/oracle/admin/oradb/pfile/initoradb.ora.1142006154227  /oracle/product/9.2.0.4/dbs/initoradb.ora

好了全部的安装就算成功了.
祝贺你,恶梦结束了

要配置数据库用
$dbca

要启动企业管理器
$oemapp console
看看能不能连上刚才创建的数据库

注意:下次从新开机后企业管理器中打开数据库报ORA-12541:TNS:no listener错误
这是因为监听服务(listener)第一次是安装程序为你启动的 以后你得自己启动 用下面的命令
$lsnrctl start

阅读全文...