安装环境:
这里在vmware里虚拟的RHEL5,分配的内存1G,SWAP分区1G,建议最好把SWAP分区改成2G。否则安装时,到了测试的步骤会提示监测失败。(当然,如果你强行安装一样没问题)

安装Oracle 10g Release2 前的配置

1. 首先挂在光盘,安装Oracle 10g R2所需的软件包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom
# 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*
# rpm -Uvh openmotif22-*
# rpm -Uvh compat-db-4*

其中除了openmotif22-2.2.3-18和compat-db-4.2.52-5.1在第三张盘上,其余的包都在第一张盘上。

2.修改/etc/redhat-release文件

因为Oracle 10g官方只支持到RHEL4为止,所以需要更改版本说明,编辑/etc/redhat-release文件,删除Red Hat Enterprise Linux Server release 5 (Tikanga),改为redhat-4

3.修改内核参数

#vim /etc/sysctl.conf

1
2
3
4
5
6
7
8
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需要的用户,组,及目录
1
2
3
4
5
6
7
8
9
#groupadd oinstall
#groupadd dba
#groupadd oper
#useradd -g oinstall -G dba oracle
#passwd oracle

#mkdir /oracle
#chown -R oracle:oinstall /oracle
#chmod -R 775 /oracle

安装oracle的目录建议安装在一个单独的分区或者磁盘上。

5.设置oracle用户的shell limit

#vi /etc/security/limits.conf

1
2
3
4
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

1
session                  required                pam_limits.so
6.配置IP地址

安装RHEL的时候最好采用静态IP地址,如果当时选择的是DHCP,现在需要更改/etc/sysconfig/network-scripts/ifcfg-eth0文件

1
2
3
4
5
6
7
8
9
[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时出现乱码,先把语言环境改为英文,在终端里输入:

1
[oracle@TSM54-TEST ~]$export LC_CTYPE=en_US.UTF-8

接下来,编辑/home/oracle目录下的.bash_profile文件,添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
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

可以用oracle用户登陆进入系统安装,或者用第三方工具xmanager

然后安装Xmanager,启动Xstart 在HOST填写LINUX的IP地址,选择SSH协议,用户名和密码与LINUX登陆一样,选择用户界面,在Command 下选择GNOME 我的是GNOME ,最后RUN,然后打开Xshell 就能够远程控制LINUX了

安装Oracle 10g

我把10201_database_linux32.zip放在/opt目录下,并通过

#unzip 10201_database_linux32.zip解压,现在使用oracle用户到/opt/database目录下执行安装:

1
2
3
4
[oracle@TSM54-Test opt]$ cd /opt/database/
[oracle@TSM54-Test database]$ ls
doc install response runInstaller stage welcome.html
[oracle@TSM54-Test database]$ ./runInstaller

然后根据自己真实环境通过图形化界面安装oracle10g
这里暂时不做多余说明,后续会将图放上来

数据库的启动

启动过程分为:启动实例、由实例装载数据库、打开数据库
SQL> startup nomount
只启动实例

SQL> startup mount
启动实例,并加载数据库,但不打开数据库

SQL> startup
启动实例、由实例装载数据库、打开数据库

SQL> alter database mount;
如果使用startup nomount启动实例,可以用此命令加载数据库,但不会启动数据库

SQL> alter database open;
如果当前处于数据库已加载状态,可以使用此命令打开数据库

9:关闭数据库
SQL> shutdown normal
等同于直接使用shutdown命令,

SQL> shutdown immediate

SQL> shutdown transactional

SQL> shutdown abort

10:启动与关闭监听
[oracle@oracle ~]$ lsnrctl start

[oracle@oracle ~]$ lsnrctl stop

[oracle@oracle ~]$ lsnrctl

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 03-8月 -2018 05:08:52

Copyright (c) 1991, 2016, Oracle. All rights reserved.

欢迎来到LSNRCTL, 请键入”help”以获得信息。

LSNRCTL>

配置oracle开机自启动实例,监听

1.修改/etc/oratab文件,将N改为Y即可

1
2
3
4
5
#vim /etc/oratab
#game:/u01/app/oracle/product/10.2.0/db_1:Y
--格式:$ORACLE_SID:$ORACLE_HOME:<N|Y>
--<N|Y>选项代表开机是否自启动
--game:/u01/app/oracle/product/10.2.0/db_1:N --dbca创建库时注册的默认信息

2.确认dbstart文件

1
2
3
4
5
6
#cd $ORACLE_HOME/bin
#ls -ll | grep dbstart
#vim dbstart
--dbstart为开机自启动脚本,让系统开机就去执行dbstart脚本文件,它会去读oratab文件,读到Y就会把对应的实例开机自启动

--调整或确认监听路径,如ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle或ORACLE_HOME_LISTNER=$ORACLE_HOME根据设置的监听调整路径

3.编辑/etc/rc.d/rc.local

1
2
3
4
#vim /etc/rc.d/rc.local #添加如下两行启动实例,启动监听
su - oracle -c"/u01/app/oracle/product/10.2.0/db_1/bin/dbstart"
su - oracle -c"/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"
--命令中-c代表执行脚本,脚本dbstart中指定启动的实例,脚本lsnrctl中启动配置的监听

小结:
linux下设置实例自启动有关脚本:

oratab:实例是否自启动的注册信息

dbstart:开机启动脚本文件会读取oratab信息

rc.local:开机后立即要做的文件

到此结束,愉快的开始oracle之旅

数据库常用sql语句集合

解决oracle不能上下翻历史命令问题