前阵子,由于项目需要,小弟学习了点Oracle,安装数据库是第一步。当时系统时Ubuntu,不管三七二十一,我用系统中自带的安装软件直接安装,可想而知,
错误连连。网上搜罗了一阵,原来Oracle安装步骤蛮复杂的么?
小弟最近不知从那儿下载了份安装Orale的帮助文档,试安装了几次Oracle,出问题的次数真的很少。
下面是这篇文档的内容,分为5个部分,个人感觉还是比较全面的。当然根据你Oracle版本的不同或者选择的安装的参数的不同可能过程出现的图片不一致,
您可以根据自己的情况继续安装。
一、安装环境
在vmware里虚拟的RHEL5,分配的内存1G,SWAP分区1G,建议你最好把SWAP分区改成2G。否则安装时,到了测试的步骤会提示监测失败。(当然,如果你强行安装一样没问题)
二、安装Oracle 10g Release2 前的配置
1. 安装Oracle 10g R2所需的软件包(RedHat Enterprise LINUX 5 的安装包)
(# cd /mnt/cdrom/Server/ )
# rpm -Uvh setarch-2*
# rpm -Uvh make-3*
# rpm -Uvh glibc-2*
# rpm -Uvh libaio-0*
# rpm -Uvh compat-libstdc++-33-3*
# rpm -Uvh compat-gcc-34-3*
# rpm -Uvh compat-gcc-34-c++-3*
# rpm -Uvh gcc-4*
# rpm -Uvh libXp-1* (libXp-1(控制图形界面的,如果没有安装这个包,在运行runInstaller的时候,就说找都不到libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred.)
# rpm -Uvh openmotif22-*
# rpm -Uvh compat-db-4*
其实在装系统的时候,将什么开发工具之类的能装上全装上,免得到时候安装oracle的时候,尽出些莫名其妙的错误。
说明:其中除了openmotif22-2.2.3-18和compat-db-4.2.52-5.1在第三张盘上,其余的包都在第一张盘上。
(我用的ISO,DVD形式的,就全部在Server上。)
如果不能安装,就强制安装 rpm -i compat-db-4* --force --nodeps 可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能
2. 修改/etc/redhat-release文件
因为Oracle 10g官方只支持到RHEL4为止,所以需要更改版本说明,编辑/etc/redhat-release文件,删除Red Hat Enterprise Linux Server release 5 (Tikanga),改为redhat-4
#vi /etc/redhat-release 然后直接删除粘贴就行了。
3.修改内核参数
#vi /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=262144 net.core.rmem_max=262144 net.core.wmem_default=262144 net.core.wmem_max=262144
使更改立即生效,使用下面的命令:
#sysctl -p
4.建立安装Oracle需要的用户,组,及目录
(这个地方如果简单的按照下面的程序做也能安装成功,但是如果想把oracle安装别的目录里面,就需要修改,这里只是简单在根目录下建立oracle,然后将oracle安装在这个目录下,如果要把oracle安装在opt下面,就需要进行简单的修改。)
#groupadd oinstall
#groupadd dba
#groupadd oper
#useradd -g oinstall -G dba oracle
#passwd oracle
#mkdir /oracle (如果要把oracle安装在opt下面,就是mkdir /opt/oracle,然后修改下面的权限)
#chown -R oracle:oinstall /oracle (chown -R oracle:oinstall /opt/oracle)
#chmod -R 775 /oracle (chmod -R 775 /opt/oracle)
安装oracle的目录建议安装在一个单独的分区或者磁盘上。
5.设置oracle用户的shell limit (为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列限定。)
#vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
接下来更改/etc/pam.d/login文件,添加下面的内容,使shell limit生效:
#vi /etc/pam.d/login
session required pam_limits.so
6.配置IP地址 (这个可以在安装的时候就确定,如果没有确定,也可以通过系统自带的工具修改)
安装RHEL的时候最好采用静态IP地址,如果当时选择的是DHCP,现在需要更改/etc/sysconfig/network-scripts/ifcfg-eth0文件
[root@TSM54-Test network-scripts]# cat ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:4B:17:C4
ONBOOT=yes
IPADDR=192.168.68.98
NETMASK=255.255.255.0
GATEWAY=192.168.68.10
7.配置oracle用户的环境变量
下面的操作,该用oracle用户登陆执行了。
为了防止安装oracle时出现乱码,先把语言环境改为英文,在终端里输入:
[oracle@TSM54-Test ]$export LC_CTYPE=en_US.UTF-8 (我安装的系统就是中文的,在安装的时候没有设置这些东西。)
接下来,编辑/home/oracle目录下的.bash_profile文件,添加如下内容:
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl (看你要设置的SID是什么,我的是PDBQZ,就将orcl修改为PDBQZ)
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH
下面这段其实可以不要,我也知道是做什么用的,可能是优化之类的。
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
(注:在某些系统中,例如Fedora 14 “ulimit -u 16384 -n 65536"后面貌似要加个umask 022,否则会出错。请大家查明,或者这段脚本干脆就不加了)
[oracle@TSM54-Test opt]$ cd /opt/database/ [oracle@TSM54-Test database]$ ls doc install response runInstaller stage welcome.html [oracle@TSM54-Test database]$ ./runInstaller
2.指定证书存放目录,因为在.bash_profile的时候,都设置好了,直接点下一步。如图所示:
3.在这里会检查安装是否符合条件,如果没有什么问题的话,就只有第一个Checking Network Configuration requirements 要勾选,就出现User Verified ,直接next进入准备安装界面,如下图所示:
4,开始安装oracle数据库,如果没有什么问题,直接走完,要是有些rpm包没有安装完全,就会出现错误。出现错误后就检查看是否有是哪个包没有安装。
在安装的过程中会出现要执行的程序。
直接进入下面的目录,运行程序,一切都是默认。
#/oracle/oraInventory/orainstRoot.sh
#/oracle/product/10.2.0/db_1/root.sh
5,单独创建数据库实例,在终端进入opt/oracle/product/10.2.0/db_1/bin目录,然后./dbca 启动创建实例程序。启动后的界面如下:直接next
6,出现创建数据库的界面,直接next。
7,默认创建通用数据库。next。
8,输入要创建数据库实例的名称SID,next。
9,直接默认,点next。
16,默认,直接next。
17,默认创建数据库,finish。
18.,配置文件,如果需要可以保存一下。然后进入最后的环节创建数据库。
19,如果你到达这个界面,恭喜你成功了!开始玩oracle 了。
[oracle@willie root]$ source oraenv (这个命令是用来修改SID的)
ORACLE_SID = [oracle] ?PDBQZ (我的SID是PDBQZ)
bash: /root/.bashrc: Permission denied
重新產生spfile:
SQL> create spfile from pfile;
将$ORACLE_BASE/admin /数据库名称/pfile目录下的init.ora.012009233838形式的文件copy到$ORACLE_HOME/dbs目录下 initoracle.ora即可。(注:initoracle.ora中的oracle为你的实例名 ORACLE_SID)
20,.安装完成后,恢复语言环境以及版本信息
#export LC_CTYPE=zh_CN.UTF-8
#vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5 (Tikanga)
四、后续
1.安装完成后,首先应该启动监听器。
监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用OEM或iSQL*PLUS,必须先启动监听器。
[oracle@TSM54-Test database]$ lsnrctl start
[oracle@TSM54-Test database]$ lsnrctl stop
2.使用Oracle Enterprise Manager 10g进行数据库控制
启动和停止OEM的命令为:
[oracle@TSM54-Test database]$emctl start dbconsole
[oracle@TSM54-Test database]$emctl stop dbconsole
在web浏览器中,输入:
http://192.168.68.98:1158/em (如果服务器没有进行DNS解析,则可以用IP地址)
用户名:SYS
口令:<安装过程中建立的口令>
连接为:SYSDBA
3.使用iSQL*Plus访问数据库
启动和停止iSQL*Plus命令:
[oracle@TSM54-Test database]$isqlplusctl start
[oracle@TSM54-Test database]$isqlplusctl stop
iSQL*Plus是历史悠久的SQL*Plus交互式工具的基于web的版本,用于访问数据库。要使用iSQL*Plus,请单击OEM控制台相关连接部分中的iSQL*Plus链接,或将浏览器指向安装过程中提供的iSQL*Plus URL。
在web浏览器中,输入:
http://192.168.68.98:5560/isqlplus
用户名:SYSTEM
口令:<安装过程中创建的口令>
连接标识:orcl
4.启动和停止数据库
启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Plus,如下所示:
启动:
$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:27:48 2004 Copyright (c) 1982, 2004, Oracle.All rights reserved. Enter user-name:/ as sysdba Connected to an idle instance.
SQL> startup ORACLE instance started. Total System Global Area 188743680 bytes Fixed Size 778036 bytes Variable Size 162275532 bytes Database Buffers 25165824 bytes Redo Buffers 524288 bytes Database mounted. Database opened.
SQL> exit
关闭:
$ sqlplus SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:25:55 2004 Copyright (c) 1982, 2004, Oracle.All rights reserved. Enter user-name:/ as sysdba Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options
SQL> shutdown
immediate Database closed. Database dismounted. ORACLE instance shut down.
SQL> exit
Linux下oracle操作命令
重启oracle
lsnrctl stop
sqlplus /nolog
conn /as sysdba
shutdown (startup)
exit
lsnrctl start
启动oracle
sqlplus /nolog
conn /as sysdba
startup
exit
lsnrctl start
关闭oracle
lsnrctl stop
sqlplus /nolog
conn /as sysdba
shutdown
exit
五、卸载ORACLE (小弟在卸载的时候出了问题,貌似是写错了命令,导致系统不能运行,大家不要随便尝试哦~)
1. 运行 $ORACLE_HOME/bin/localconfig delete
2. rm -rf $ORACLE_BASE/*
3. rm -f /etc/oraInst.loc /etc/oratab
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
7. 删除oracle用户和组。