分类: Oracle
2012-04-03 22:54:36
一、准备工作
首先给linux打补丁,补丁自己上网找!补丁的安装方法一共有两种:一个是FTP,将文件FTP到linux系统中进行安装;一个是用光盘安装。我推荐使用FTP的方法,因为灰常灰常的方便,方法不会的话自己去网上找,这里不做过多介绍。
将文件传到LINUX系统以后,按顺序执行:
rpm –ivh libXp-1.0.0-8.i386.rpm
openmotif22-2.2.3-18.i386.rpm
compat-db-4.2.52-5.1.i386.rpm
compat-gcc-34-3.4.6-4.i386.rpm (要先安装rpm -ivh glibc-devel-2.5-12.i386.rpm)
compat-gcc-34-c++-3.4.6-4.i386.rpm
compat-libstdc++-33-3.2.3-61.i386.rpm
libaio-0.3.106-3.2.i386.rpm
compat-libstdc++-7.3-2.96.128
libXp-1.0.0-8.1.el5
make-3.81-1.1
gcc-4.1.1-52.el5
compat-db-4.2.52-5.1
compat-gcc-c++-7.3-2.96.128
setarch-2.0-1.1
compat-libstdc++-devel-7.3-2.96.128
openmotif21-2.1.30-8
glibc-2.5-12
compat-gcc-7.3-2.96.128
(只需安装红色标识的rpm即可)
在安装 compat-gcc-34-3.4.6-4.i386.rpm
compat-gcc-34-c++-3.4.6-4.i386.rpm 包时 要先安装rpm -ivh glibc-devel* 等包 装glibc-devel* 时又要先装 glibc-headers*包,有启示信息(不知道是为什么我按照说明进行补丁安装的时候竟然都提示我已经安装了!我一直没有安装过啊,感觉怪怪的!)
二、修改配置文件
1.修改版本号
因为Oracle 10g官方只支持到RHEL4为止,所以需要在root用户下运行
#vi /etc/redhat-release
将 Red Hat Enterprise Linux Server release 5 (Tikanga) 改为Red Hat Enterprise Linux Server release 4 (Tikanga)
2.然后修改一下文件linux内核参数 :
编辑/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 # 应用程序可使用的IPv4端口范围。
net.core.rmem_default = 1048576 # 套接字接收缓冲区大小的缺省值
net.core.rmem_max = 1048576 # 套接字接收缓冲区大小的最大值
net.core.wmem_default = 262144 # 套接字发送缓冲区大小的缺省值
net.core.wmem_max = 262144 # 套接字发送缓冲区大小的最大值
(备注:#和#后面的内容为注释内容可不用写入/etc/sysctl.con文件内)
运行以下命令使得内核参数生效:
#/sbin/sysctl –p
3.关闭防火墙,编辑 /etc/selinux/config 文件,添加如下内容:
SELINUX=disabled
SELINUX=disabled
保存文件
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
备注:有的文档是执行 #vi /etc/security/limits.conf 命令后,在文件的后面添加如下内容:
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
说明:* 是指对所有的用户和组的限制, Oracle官方文档是这样要求的,我建议将*替换成oracle,表示只针对oracle用户. 因为如果设置成*,会可能对其他的服务造成影响(例如对我的Sybase服务)
接下来更改/etc/pam.d/login文件,在文件的最后面添加下面的内容,使shell limit生效:
#vi /etc/pam.d/login
session required /lib/security/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用户登陆执行了,在root用户下输入#su oracle命令。为了防止安装oracle时出现乱码,先把语言环境改为英文,在终端里输入:
$export LC_CTYPE=en_US.UTF-8 (我安装的系统就是中文的,在安装的时候没有设置这些东西。)
|
接下来,编辑/home/oracle目录下的.bash_profile文件,添加如下内容:
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl (看你要设置的SID是什么,我的是PDBQZ,就将orcl修改为PDBQZ)
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
unset USERNAME
(下面这段其实可以不要,我也知道是做什么用的,可能是优化之类的。)if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
配置完oracle环境变量之后,必须重启计算机,使用oracle用户登录安装oracle10g
三.安装Oracle 10g
1.启动安装界面的准备顺序
我把10201_database_linux32.zip放在/opt目录下,并通过
#unzip 10201_database_linux32.zip解压,现在使用oracle用户到/opt/database目录下执行安装,在这里可能要在root下面修改database的权限,以root用户登录
执行如下命令 #chmod -R 755 database ,嗯好了!现在我现在用oracle用户登录,执行如下命令
#su oracle
$ cd /opt/database/
$ ls
doc install response runInstaller stage welcome.html
$ ./runInstaller
在这里会遇上一个DISPLAY 尚未设置。请设置 DISPLAY 后重试,
解决办法:
1) 用root用户登录并执行 #xdpyinfo 命令,记录下一下name of display:后的字符串,如127.0.0.1:1.0 (我的记录的为:0.0)
2) 在root用户下输入 #xhost + 命令
显示:access control disabled,clients can connect from any host 3.切换到Oracle用户: #su oracle
在Oracle用户下执行命令:export DISPLAY=:1.0 (看你的记录是多少,用KDE的话是0.0,用GONE的话是1.0,当然我测试是这样,具体还要看情况)
在Oracle下执行xdpyinfo命令,如果能正常显示,说明设置成功
先安装数据库
2.安装oracle10g
1.选择安装类型,基本安装,不创建数据库,之后再创建数据库实例。如下图所示:
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。
10,给数据库实例设置密码,这里直接设置统一的密码,也可以单独设置密码。next。
11,创建的数据库默认为文件系统,不改变,next。
12,直接默认选项,next。
13,数据库恢复默认选项,next。
|
14,关于schemas,不管,直接next。
15,设置内存,大小,字符,连接模式。
|
大小默认。
字符集选择简体中文,如果没有设置这个,数据库中的中文字符就会出现乱码。
|
直接默认为Dedicated Server mode 专用的服务器模式。next。下面还有一个All initialization Parameters,可以根据需要初始化有些参数。
|
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)
四、后续
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浏览器中,输入:
(如果服务器没有进行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浏览器中,输入:
用户名: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
Shutdown:
$ 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用户和组。