Linux环境下安装oracle

来源:互联网 发布:曼秀雷敦护手霜 知乎 编辑:程序博客网 时间:2024/06/06 00:05

这两天花了点时间上网查了一下Linux环境下安装oracle的方法,写下来做个备用

一、检查硬件是否满足要求

1)确保系统有足够的 RAM 和交换空间大小,运行以下命令:
            #grep MemTotal /proc/meminfo
            #grepSwapTotal /proc/meminfo
注:所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
2)确保有足够的磁盘空间。Oracle 10g软件大约需要 2.5GB 的可用磁盘空间,数据库则另需至少1.2G的磁盘空间
3)/tmp 目录至少需要 400MB 的可用空间。
 
要检查系统上的可用磁盘空间,运行以下命令:
         #df-h
检查系统是否已安装所需的开发包
使用rpm -qa命令,确保以下包已成功安装。对于包的版本,只有版本高于下面的都可以,如果低于此版本,则要升级处理,如下:
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
libaio-0.3.103-3
在我的安装过程中是使用yum install命令安装的rpm包。
1、创建oracle组和oracle用户
创建用于安装和维护 Oracle 10g软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall(用于软件安装) 和 dba(用于数据库管理)。
#groupadd oinstall
#groupadd dba
#useradd -m -g oinstall -G dba oracle –poracle (p表示添加帐号密码)
2、创建oracle目录并改变目录权限
现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。
以 root 用户身份执行以下命令:(具体在哪里创建文件夹根据实际情况可能会有所调整)
#mkdir  -p  /u01/app/oracle             # oracle根目录,-p 表示递归建立目录
#mkdir -p  /u02/oradata                 # oracle数据文件存放目录
#chown -R oracle:oinstall  /u01            
#chown -R oracle:oinstall  /u02
#chmod -R 775  /u01
#chmod -R 775  /u02
3、配置linux内核参数
#vi/etc/sysctl.conf,添加如下内容:
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
完成后,运行以下命令激活更改:
#sysctl -p

4、配置oracle用户的shell限制
#vi /etc/security/limits.conf  添加如下内容:
oracle           soft    nproc  2047
oracle           hard    nproc  16384
oracle           soft    nofile 1024
oracle           hard    nofile 65536
 
#vi /etc/pam.d/login    添加如下内容:
session   required     pam_limits.so
5、导出x图形界面给oracle用户
由于安装时采用的是oracle的OUI图形化界面,需要X支持,而默认oracle用户是不支持图形化操作的,必须以root的身份导出X给oracle用户使用。运行如下命令:
#xhost +
access control disabled,clients can connect from any host
出现以上文字表示导出成功。
6、oracle用户下执行
 设置环境变量
#su –oracle
$vi .bash_profile   
加入以下内容:
TMP=/tmp
TMPDIR=$TMP
ORACLE_BASE=/u01/app/oracle                    #oracle 根目录
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1   #oracle 家目录
ORACLE_SID=orcl  #根据实际需要命名
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
PATH=$ORACLE_HOME/bin:$PATH
export TMP TMPDIR ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
$source .bash_profile         #使环境变量生效
8、Oracle OUI进行图形化安装(推荐使用高级安装方式)
切换到database/目录下,运行以下命令:

./runInstaller(记得赋予database文件夹777权限)

安装时注意用户组的选择如图:


如果提示display变量没有的话,则
(1) 以root用户登录
输入命令xdpyinfo,记录下里面的name of display:后的字符串,如 name of display:127.0.0.1:1.0
在执行xhost +命令(使得所有客户都可以访问)
返回信息为: 
access control disabled,clients can connect from any host
如果xhost +不能执行,可以输入命令export DISPLAY=:0.0执行一下,export DISPLAY=:0.0不行就export DISPLAY=:1.0
再执行xhost +,提示所有用户可以使用图形化界面了才算正确
(2)以oracle用户登录
如果前面root登录下执行xdpyinfo后的name of display:后的字符串是127.0.0.1:1.0
那么在该oracle用户下执行一下export DISPLAY=:1.0
然后再执行xdpyinfo命令,如果能出现信息说明你已经成功了
这样估计就可以解决linux下安装oracle出现的xhost问题
如果还提示vncserver: command not found...
运行yum install vnc-server安装vnc-server服务

9、安装完成之后还需要配置数据库,在oracle用户下使用命令创建数据库:
dbca

整个过程几乎就是输入orcl实例名就行,也可以自行修改其他信息

注意:网上很多教程都只是安装完数据库就没有了,一开始我也是在这里走了弯路,后来才知道安装完成之后还有这一步

10、数据库配置完成之后创建用户测试一下(都是在Linux oracle用户下完成)

启动监听:lsnrctl start 
以管理员登录:sqlplus / as sysdba
启动数据库:startup

建立表空间和用户的步骤:  
用户  
建立:create user 用户名 identified by "密码";  
授权:grant create session to 用户名;  
            grant create table to  用户名;  
            grant create tablespace to  用户名;  
            grant create view to  用户名;  
表空间  
建立表空间(一般建N个存数据的表空间和一个索引空间):  
create tablespace 表空间名  
datafile ' 路径(要先建好路径)\***.dbf  ' size *M  
tempfile ' 路径\***.dbf ' size *M  
autoextend on  --自动增长  
--还有一些定义大小的命令,看需要  
 default storage(  
 initial 100K,  
 next 100k,  
);  
用户权限  
授予用户使用表空间的权限:  
alter user 用户名 quota unlimited on 表空间;  
或 alter user 用户名 quota *M on 表空间;
1 0
原创粉丝点击