心理准备:
1. 当我第一次在linux上安装oracle的时候,我感觉好麻烦,结果第一次没装到一半就放弃了,因为习惯了window的界面下一步,现在想想其实挺简单的,耐心点做完就好了。
2. 软件的下载,百度一下就有,我就不重复了。
3. linux的机子在自己练习的时候,都是虚拟机,操作系统,redhat,centos,随便。
装前准备:
软件:oracle 10.2 for linux edition(32bit)
硬件:
内存: 最小512M(命令:grep MemTotal /proc/meminfo)
Swap内存:两倍内存(1G)(命令:grep SwapTotal /proc/meminfo)
硬盘空间:/tmp目录400M空间(命令:df -k /tmp),安装目录1.5G至3.5G,取决于版本(命令:df –k)。
操作系统:Red Hat Enterprise Linux AS/ES 3.0 (Update 4 or later),Red Hat Linux 4.0,SUSE Linux Enterprise Server 9.0 with SP 2 or later,Asianux 1.0,Asianux 2.0(命令:cat /etc/issue)
确定内核最低版本:
Red Hat Enterprise Linux 3.0 and Asianux 1.0:2.4.21-27.EL
Red Hat Enterprise Linux 4.0 and Asianux 2.0:2.6.9-5.EL
SUSE Linux Enterprise Server 9.0:2.6.5-7.201
(命令:# uname –r)
必装的软件安装包:
Red Hat Enterprise Linux 3.0 and Asianux 1.0:
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
openmotif21-2.1.30-8
setarch-1.3-1
Red Hat Enterprise Linux 4.0 and Asianux 2.0:
binutils-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1(光盘中没有找到,没装没发现有影响)
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2(光盘中没有找到,没装没发现有影响)
setarch-1.6-1
SUSE Linux Enterprise Server 9:
binutils-2.15.90.0.1.1-32.5
gcc-3.3.3-43.24
gcc-c++-3.3.3-43.24
glibc-2.3.3-98.28
gnome-libs-1.4.1.7-671.1
libstdc++-3.3.3-43.24
libstdc++-devel-3.3.3-43.24
make-3.80-184.1
pdksh-5.2.14-780.1
sysstat-5.0.1-35.1
xscreensaver-4.16-2.6
可以使用以下命令检查:
rpm -q package_name
注意这里的package_name不带任何版本号,例如检查make-3.79
rpm -q make
如果以上软件没有安装,请安装. 启动xwindow,打开 应用程序/系统设置/添加删除程序
如果没有,运行包安装就好了
命令:rpm -ivh libaio-0.3.102-1.i386.rpm
安装过程:
1.建立用户与组。
需要的用户是oracle,组是dba,oinstall
首先查看oraInst.loc文件是否存在,这个是oracle创建时产生。
查看命令:# more /etc/oraInst.loc
如果有列出,则说明已经存在,如:
inventory_loc=/u01/app/oracle
inst_group=oinstall
如果路径设置不正确,可以修改相关路径信息。
如果不存在,则使用以下命令:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
查看oracle用户是否存在,
命令:# id oracle,如果存在,出现类似内容:
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
存在,但是不属于额定的两个群组,可以使用修改,命令如下:
# /usr/sbin/usermod -g oinstall -G dba[,oper] oracle
(-g 是主组,-G是副组,一个用户可以属于不同的组)
如果不存在,创建命令如下:
命令:# /usr/sbin/useradd -g oinstall -G dba oracle
# passwd oracle
2.配置内核参数
可以通过命令查看相关的内核参数,如:# /sbin/sysctl -a | grep sem查看sem的相关参数,并可以修改。如果需要大量参数设置,可以直接修改参数文件,用文本方式打开/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
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
如果系统的参数设置的比上述参数值小,则编辑 /etc/sysctl.conf 文件,添加或更改这些参数。完成后,运行以下命令激活更改:
/sbin/sysctl -p
为了提供性能,需对内核的相关参数进行限制,在文件/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
如果是Bourne, Bash, or Korn shell,修改/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
如果是c shell,则环境变量文件 /etc/csh.login的修改值如下:
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif
3.创建目录:
以base 目录:使用命令查看是否存在:
# more /var/opt/oracle/oraInst.loc,如果有以下类似内容出现,则说明存在。
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
如果不存在,使用以下命令创建(软件存放目录):
mkdir -p /u01/oracle
chown -R oracle:oinstall /u01/oracle
chmod -R 755 /u01/oracle
(chown是设定目录所属的用户组和用户)
(chmod设定目录的读写权限)
Oracle数据库文件存放目录. 这个可以没有的. 一般设置为/u02/oradata
mkdir -p /u02/oradata
chown -R oracle:oinstall /u02/oradata
chmod -R 755 /u02/oradata
创建相关数据恢复文件目录等
Asm目录组的创建
4.环境变量设置
查看shell类型,命令:#echo $SHELL
切换到oracle用户中,#su - oracle
打开参数文件:vi .bash_profile,删除ORACLE_SID, ORACLE_HOME, or ORACLE_BASE三个设定的内容(避免冲突)。
设定display,命令:$ DISPLAY=local_host:0.0 ; export DISPLAY
local_host:主机名或者ip地址
设定环境变量命令:
$ ORACLE_BASE=/u01/oracle
$ ORACLE_SID=orcl
$ export ORACLE_BASE ORACLE_SID
或者在文件里添加,命令如下:
$su oracle
$vi ~/.bash_profile
修改以下是配置文件的内容
export ORACLE_BASE=/u01
export ORACLE_HOME=/u01/oracle
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
ESC(退出vi的编辑环境)
:wq(退出vi应用程序并保存修改)
(注:base目录是oracle公司的基础目录,oracle是数据库产品的目录)
确认ORACLE_HOME and TNS_ADMIN 的环境变量不被用户设置
千万不要因为安装过程中的其他错误,而设置这些值
Bash shell:
unset ORACLE_HOME
unset TNS_ADMIN
c shell:
unsetenv ORACLE_HOME
unsetenv TNS_ADMIN
5.其他设置:
#export TNS_ADMIN=$ORACLE_HOME/network/admin
#export NLS_.ZHS16GBK
#export .ZHS16GBK
查询相关设定是否正确,可以使用命令以下命令核对:
$ umask
$ env | more
6.界面安装
1) 把文件复制到/tmp下面,解压缩(unzip /home/oracle/10201_database_linux32.zip),使用oracle用户登录,运行database下面的runInstaller,命令为:$ ./runInstaller。
运行后,出现
[oracle@localhost database]$
./runInstaller
正在启动 Oracle Universal Installer...
正在检查安装程序要求...
检查操作系统版本: 必须是redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
未通过 <<<<
这是由于要检查版本,忽略就行了。(执行如下语句)
[oracle@localhost database]$./runInstaller-ignoreSysPrereqs
>>> 忽略未通过的必需先决条件。继续...
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2011-12-17_05-37-25AM. 请稍候...[oracle@localhost database]$ Oracle Universal Installer, 版本 10.2.0.1.0 正式版
版权所有 (c) 1999, 2005, Oracle。保留所有权利。
Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2011-12-17_05-37-25AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2011-12-17_05-37-25AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.<clinit>(Unknown Source)
at java.awt.Component.<clinit>(Unknown Source)
at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
at oracle.sysman.oii.oiic.OiicInstaller.getInterfaceManager(OiicInstaller.java:436)
at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:926)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
Exception in thread "main" java.lang.NoClassDefFoundError
at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
at oracle.sysman.oii.oiif.oiifm.OiifmAlert.<clinit>(OiifmAlert.java:151)
at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:984)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
解决方案:(http://blog.csdn.net/gltyi99/article/details/6736951)
原因是:缺少支持打印的图形化动态链接库libXp.so.6
这个错误是由于缺少系统安装包,在RHEL5以前的版本,可以安装xorg-x11-deprecated-libs包即可,这个安装包可以在系统光盘第三张盘中找到(对于redhat as4.2以前,redhat as4.4是在第四张安装光盘)
我下载的文件如下:(CSDN有下载)
libXp-1.0.0-8.1.el5.i386.rpm
然后,
[oracle@localhost ora安装文件]$ rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
warning: libXp-1.0.0-8.1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
error: can't create transaction lock on /var/lib/rpm/__db.000
这个错是/var/lib/目录磁盘空间不够或没有权限引起的。解决方法:用root用户安装。(root安装完这个之后,再切换回oracle用户)
然后继续
[oracle@localhost database]$ ./runInstaller -ignoreSysPrereqs
正在启动 Oracle Universal Installer...
正在检查安装程序要求...
检查操作系统版本: 必须是redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
未通过 <<<<
>>> 忽略未通过的必需先决条件。继续...
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2011-12-17_05-57-12AM. 请稍候...[oracle@localhost database]$ Oracle Universal Installer, 版本 10.2.0.1.0 正式版
版权所有 (c) 1999, 2005, Oracle。保留所有权利。
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
:0.0
:0.0
OUI-10025: 由于出现以下错误, 无法启动交互式安装会话: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.。DISPLAY 环境变量应该设置为 <hostname>:<screen> 或 <IP address>:<screen>, 其中 <screen> 通常为 '0.0'。
OUI-10026: 根据所使用的 Unix Shell, 您可以使用以下命令之一作为设置 DISPLAY 环境变量的示例:
- 对于 csh: % setenv DISPLAY 192.168.1.128:0.0
- 对于 sh, ksh 和 bash: $ DISPLAY=192.168.1.128:0.0; export DISPLAY
使用以下命令来查看所使用的 shell:
echo $SHELL
使用以下命令来查看 DISPLAY 环境变量的当前设置:
echo $DISPLAY
- 确保客户机用户具有连接到 X 服务器的权限。
OUI-10027: 要允许客户机用户访问 X 服务器, 请以启动会话的用户身份打开 xterm, dtterm 或 xconsole, 并键入以下命令:
% xhost +
要测试 DISPLAY 环境变量是否设置正确, 请运行本机操作系统自带的基于 X11 的程序, 例如 'xclock':
% <xclock 的完整路径... 参见下文>
如果无法成功运行 xclock, 请与您的 PC-X 服务器或操作系统供应商联系以获得帮助。
'xclock' 的典型路径为: '/usr/X11R6/bin/xclock'
解决方案:()
先
[root@localhost ~]#
hostname -i
127.0.0.1
查看你本机IP,此处显示本机ip是127.0.0.1
然后root设置display:
[root@localhost ~]#
export DISPLAY=127.0.0.1:0.0
或者:((下面的方法,对我来说,不适用,供其他人参考http://www.itpub.net/thread-805362-1-1.html)
ect to X11 window server using '100.100.10.27:0.0' as the value of the DISPLAY variable
--------------------------------------你的错误其实就这个问题导致的,如果你在LINUX 终端模式下安装,请设置好DISPLAY,因为oracle需要图形安装界面。
假设你的笔记本IP是: 10.10.10.10 那么你在LINUX的/etc/profile添加如下:
export DISPLAY=10.10.10.10:0.0 表示LINUX输出的图形全部转到你的笔记本。
这个提示讲得很清楚了!
DISPLAY设置好了,再xhost + ip(安装oracle机子的IP,允许所有对X server连接。)
[root@localhost ~]#
xhost + 192.168.1.111
xhost: unable to open display "192.168.1.111:0.0"
然后,新开一个终端
[root@localhost ~]#
xhost 192.168.1.111
192.168.1.111 being added to access control list
[root@localhost ~]# su - oracle
[oracle@localhost ~]$
2) 选择advance install单击 Next。
3) 指定清单目录和证书 :指向前面设置的目录,如这里的/u01/app/oracle,请根据实际情况指向正确目录。操作系统组名称应为 oinstall。
4) 如果这是首次在此机器上安装 Oracle,则您将收到一个弹出窗口,提示需要以 root 用户身份运行 orainstRoot.sh 脚本。以 root 用户身份登录,更改到窗口中指定的目录,执行该脚本,然后继续操作,如果没有收到,在后面也会提示执行的。
5) 指定文件位置 :指向前面设置的目录,如这里的/u01/app/oracle,请根据实际情况指向正确目录。
6) 选择安装类型 :根据需要选择版本,这里接受默认值 Enterprise Edition。
7) 与特定产品相关的先决条件的检查 :如果您一直在依循本指南中的步骤,则所有检查都应顺利通过。如果一个或多个检查失败,则在继续操作前纠正该问题。
8) 选择数据库配置 :接受默认值 Create a starter database 和 General Purpose。
9) 指定数据库配置选项 :输入数据库的全局数据库名称。该名称应包含 ORACLE_SID 和服务器域名(例如,demo1.orademo.org,其中 demo1 是 ORACLE_SID,orademo.org 是域名)。
10) 输入全局数据库名称时,SID 框将自动填充,这里为orcl,接受默认的数据库字符集,或者选择Simplified Chinese ZHS16GBK;不选择 Create database with sample schemas。
11) 选择数据库管理选项 :选择 Use Database Control for Database Management。
12) 指定数据库文件存储选项 :选择 File System,然后输入数据库文件要使用的路径名(在本例中为 /u02/oradata)。
13) 指定备份和恢复选项 :选择 Do not enable Automated backups。
14) 指定数据库模式口令 :选择 Use the same password for all the accounts,选择一个口令,然后输入两次进行确认;或者选择下面的那个,统一命名也可以。
15) 摘要 :显示已安装产品的摘要。单击 Install。
16) 安装 :此屏幕历经安装和链接 Oracle 软件的几个阶段。
17) 安装过程结束时弹出一个窗口显示配置信息。记下 Enterprise Manager URL,然后单击 OK 关闭该窗口。
18) 弹出一个“Setup Privileges”窗口,提示需要以 root 用户身份运行配置脚本。以 root 用户身份登录,切换到该窗口中指示的目录,然后执行 root.sh 脚本。该脚本提示输入本地 bin 目录的位置。按 Enter 键接受默认值。当脚本完成时,返回到 Setup Privileges 窗口并单击 OK。
19) 安装结束 :记下摘要中显示的 URL,并在准备好时单击 Exit。
20) 也可以先安装数据库软件,然后通过dbca再建立数据库。这样提高了安装的过程。
连接测试:
启动监听:lsnrctl start
启动数据库: sqlplus “/as sysdba”
Startup
在里面建立个临时表,添加数据,然后查询,删除。
卸载数据库
1. 运行 $ORACLE_HOME/bin/localconfig delete
2. rm -rf $ORACLE_BASE/*#oracle的基础目录
3. rm -f /etc/oraInst.loc /etc/oratab##本地详细目录,组的设置##是否想要dbstart和dbshut脚本启动并关闭数据库
4. rm -rf /etc/oracle
5. rm -f /etc/inittab.cssd ##初始参数文件
6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
参考文档(如果习惯英文,安装的时候,看oracle的文档是最好的):
http://unix-cd.com/unixcd12/article_5428.html
http://www.cnblogs.com/SharkXu/archive/2007/03/19/Oracle10g_Linux_Install.html
http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html#config
本文转自lihello。http://www.lihello.com/contentShow.aspx?SID=5
所有评论(0)