法证先锋1粤语版下载:RHEL5上裸设备上面安装Oracle 10g

来源:百度文库 编辑:中财网 时间:2024/04/27 19:13:59

RHEL5上裸设备上面安装Oracle 10g

[日期:2010-12-22] 来源:Linux社区  作者:Linux

实验环境:
Red Hat Enterprise Linux Server release 5
ORALCE 10g 10.2.0.1

一、磁盘规划分区
我的实验机器上存在三块硬盘,sda,sdb,sdc。其中sda只用来安装了操作系统,以及应用软件;sdb划分分区,这块硬盘用来存放数据库系统文件system,sysaux等等;sdc这块硬盘划分相应的分区,这块硬盘主要用来存放业务数据。

 

使用fdisk命令划分分区,具体过程略,创建完所有分区以后,使用如下命令来查看:
# fdisk -l
Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1697 13631121 83 Linux
/dev/sda2 1698 1958 2096482+ 82 Linux swap / Solaris
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 5 Extended
/dev/sdb5 1 13 104359+ 83 Linux
/dev/sdb6 14 26 104391 83 Linux
/dev/sdb7 27 39 104391 83 Linux
/dev/sdb8 40 52 104391 83 Linux
/dev/sdb9 53 59 56196 83 Linux
/dev/sdb10 60 182 987966 83 Linux
/dev/sdb11 183 305 987966 83 Linux
/dev/sdb12 306 428 987966 83 Linux
/dev/sdb13 429 652 1799248+ 83 Linux
Disk /dev/sdc: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 652 5237158+ 5 Extended
/dev/sdc5 1 123 987934+ 83 Linux
/dev/sdc6 124 246 987966 83 Linux
/dev/sdc7 247 369 987966 83 Linux
/dev/sdc8 370 492 987966 83 Linux
/dev/sdc9 493 620 1028128+ 83 Linux
/dev/sdc10 621 652 257008+ 83 Linux


二、为裸设备建立映射关系
在root提示符下键入:
# raw -a
查询当前已经建立的raw设备名,目前为空,我们可以从第一个设备名用起,
在root提示符下键入:
raw /dev/raw/raw1 /dev/sdb5
raw /dev/raw/raw2 /dev/sdb6
raw /dev/raw/raw3 /dev/sdb7
raw /dev/raw/raw4 /dev/sdb8
raw /dev/raw/raw5 /dev/sdb9
raw /dev/raw/raw6 /dev/sdb10
raw /dev/raw/raw7 /dev/sdb11
raw /dev/raw/raw8 /dev/sdb12
raw /dev/raw/raw9 /dev/sdc5
raw /dev/raw/raw10 /dev/sdc6
raw /dev/raw/raw11 /dev/sdc7
raw /dev/raw/raw12 /dev/sdc8
raw /dev/raw/raw13 /dev/sdc9
raw /dev/raw/raw14 /dev/sdc10
至此,我们创建了14个raw设备名,用于交给ORACLE直接管理,查看一下已经创建的raw设备名的情况:

# raw -a
/dev/raw/raw1: bound to major 8, minor 21
/dev/raw/raw2: bound to major 8, minor 22
/dev/raw/raw3: bound to major 8, minor 23
/dev/raw/raw4: bound to major 8, minor 24
/dev/raw/raw5: bound to major 8, minor 25
/dev/raw/raw6: bound to major 8, minor 26
/dev/raw/raw7: bound to major 8, minor 27
/dev/raw/raw8: bound to major 8, minor 28
/dev/raw/raw9: bound to major 8, minor 37
/dev/raw/raw10: bound to major 8, minor 38
/dev/raw/raw11: bound to major 8, minor 39
/dev/raw/raw12: bound to major 8, minor 40
/dev/raw/raw13: bound to major 8, minor 41
/dev/raw/raw14: bound to major 8, minor 42

如果想删除一个raw设备名(例如/dev/raw/raw1),在root提示符下键入:
# raw /dev/raw/raw1 0 0
这样创建的裸设备在重启后会失效,需要修改系统文件。

修改系统的初始化文件,添加如下行到 /etc/rc.local 文件:
raw /dev/raw/raw1 /dev/sdb5
raw /dev/raw/raw2 /dev/sdb6
raw /dev/raw/raw3 /dev/sdb7
raw /dev/raw/raw4 /dev/sdb8
raw /dev/raw/raw5 /dev/sdb9
raw /dev/raw/raw6 /dev/sdb10
raw /dev/raw/raw7 /dev/sdb11
raw /dev/raw/raw8 /dev/sdb12
raw /dev/raw/raw9 /dev/sdc5
raw /dev/raw/raw10 /dev/sdc6
raw /dev/raw/raw11 /dev/sdc7
raw /dev/raw/raw12 /dev/sdc8
raw /dev/raw/raw13 /dev/sdc9
raw /dev/raw/raw14 /dev/sdc10
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
chmod 660 /dev/raw/raw3
chmod 660 /dev/raw/raw4
chmod 660 /dev/raw/raw5
chmod 660 /dev/raw/raw6
chmod 660 /dev/raw/raw7
chmod 660 /dev/raw/raw8
chmod 660 /dev/raw/raw9
chmod 660 /dev/raw/raw10
chmod 660 /dev/raw/raw11
chmod 660 /dev/raw/raw12
chmod 660 /dev/raw/raw13
chmod 660 /dev/raw/raw14
chown oracle.dba /dev/raw/raw1
chown oracle.dba /dev/raw/raw2
chown oracle.dba /dev/raw/raw3
chown oracle.dba /dev/raw/raw4
chown oracle.dba /dev/raw/raw5
chown oracle.dba /dev/raw/raw6
chown oracle.dba /dev/raw/raw7
chown oracle.dba /dev/raw/raw8
chown oracle.dba /dev/raw/raw9
chown oracle.dba /dev/raw/raw10
chown oracle.dba /dev/raw/raw11
chown oracle.dba /dev/raw/raw12
chown oracle.dba /dev/raw/raw13
chown oracle.dba /dev/raw/raw14
也可以修改etc/udev/rules.d/60-raw.rules文件,添加如下记录
ACTION=="add",KERNEL=="sdb5",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdb6",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdb7",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",KERNEL=="sdb8",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",KERNEL=="sdb9",RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add",KERNEL=="sdb10",RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add",KERNEL=="sdb11",RUN+="/bin/raw /dev/raw/raw7 %N"
ACTION=="add",KERNEL=="sdb12",RUN+="/bin/raw /dev/raw/raw8 %N"
ACTION=="add",KERNEL=="sdc5",RUN+="/bin/raw /dev/raw/raw9 %N"
ACTION=="add",KERNEL=="sdc6",RUN+="/bin/raw /dev/raw/raw10 %N"
ACTION=="add",KERNEL=="sdc7",RUN+="/bin/raw /dev/raw/raw11 %N"
ACTION=="add",KERNEL=="sdc8",RUN+="/bin/raw /dev/raw/raw12 %N"
ACTION=="add",KERNEL=="sdc9",RUN+="/bin/raw /dev/raw/raw13 %N"
ACTION=="add",KERNEL=="sdc10",RUN+="/bin/raw /dev/raw/raw14 %N"
KERNEL=="raw[1-9]", OWNER="oracle", GROUP="oinstall", MODE="640"
KERNEL=="raw1[0-4]", OWNER="oracle", GROUP="oinstall", MODE="640"

# start_udev
刷新裸设备
这样系统在下次启动时,会重新建立需要的raw设备名(上面的东西可以使用通配符来简化内容,但是我在使用通配符总是不能完全匹配)。
上面的操作可能需要先创建oracle用户和组。

三、安装oracle软件
1. 创建用户及目录,赋予权限,并配置其环境变量
# groupadd oinstall
# groupadd dba
# useradd -m -g oinstall -G dba oracle
# passwd oracle
# mkdir -p /oracle/database
# chown -R oracle:oinstall /oracle
# chmod -R 775 /oracle
# su - oracle
$ vi .bash_profile
export ORACLE_BASE=/oracle/
export ORACLE_HOME=/oracle/product/10g
export ORACLE_SID=erpdb
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
source ~/.bash_profile

 

2. 修改系统设置
修改系统版本号
vi /etc/RedHat-release
安装所需软件包
rpm -ivh libXp-1.0.0-8.i386.rpm
rpm -ivh openmotif-2.3.0-0.3.el5.i386.rpm
往/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
并使其生效
/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
往/etc/profile文件里追加以下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
alias cls='clear'
stty erase ^H
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
并使其生效(注意安装rlwrap软件,方便sqlplus的命令输入)
source /etc/profile
往/etc/csh.login文件里追加以下内容:
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif

3. 安装oracle,不安装库
下载文件10201_database_linux32,解压缩,以oracle身份执行
$./runInstaller

4. 创建oracle裸设备文件
建立链接关系,以oracle身份登陆
mkdir -p /oracle/oradata/erpdb/
ln -s /dev/raw/raw1 /oracle/oradata/erpdb/control01
ln -s /dev/raw/raw2 /oracle/oradata/erpdb/control02
ln -s /dev/raw/raw3 /oracle/oradata/erpdb/control03
ln -s /dev/raw/raw4 /oracle/oradata/erpdb/redo01
ln -s /dev/raw/raw5 /oracle/oradata/erpdb/redo02
ln -s /dev/raw/raw6 /oracle/oradata/erpdb/system
ln -s /dev/raw/raw7 /oracle/oradata/erpdb/sysaux
ln -s /dev/raw/raw8 /oracle/oradata/erpdb/undotbs1
ln -s /dev/raw/raw9 /oracle/oradata/erpdb/temp
ln -s /dev/raw/raw10 /oracle/oradata/erpdb/users
ln -s /dev/raw/raw11 /oracle/oradata/erpdb/data
ln -s /dev/raw/raw12 /oracle/oradata/erpdb/spfile

# vi /home/oracle/dbca.conf
spfile = /oracle/oradata/erpdb/spfile
system = /oracle/oradata/erpdb/system
sysaux = /oracle/oradata/erpdb/sysaux
undotbs1 = /oracle/oradata/erpdb/undotbs1
data = /oracle/oradata/erpdb/data
temp = /oracle/oradata/erpdb/temp
users = /oracle/oradata/erpdb/users
redo1_1 = /oracle/oradata/erpdb/redo01
redo1_2 = /oracle/oradata/erpdb/redo02
control1 = /oracle/oradata/erpdb/control01
control2 = /oracle/oradata/erpdb/control02
control3 = /oracle/oradata/erpdb/control03 

四、dbca创建数据库
在选择存储设备的时候,我们选择第三项Raw Devices,然后选中“specify Raw Devices Mapping File”复选框,点击“Browse”按钮,选择上一步我们创建好的裸设备文件/home/oracle/dbca.conf;
然后点击“next”,配置相应的参数,在配置enable archiving的时候,选择归档日志的存放目录为/oracle/archive(注意该路径的创建)。


至此,数据库已安装完成。

 


五、测试
# sqlplus / as sysdba
SQL> create tablespace data_tbs datafile '/oracle/oradata/erpdb/data' size 900m autoextend on maxsize unlimited segment space management auto;
SQL> create user erpuser identified by erpuser default tablespace data_tbs temporary tablespace temp;
SQL> grant connect,resource to erpuser;
SQL> conn erpuser/erpuser
SQL> create table test (id int);
SQL> insert into test values (111);
SQL> commit;
SQL> select * from test;
ID
----------
111