您的位置:首页 > 数据库 > Oracle

linux安装oracle

2015-01-02 15:52 225 查看
一、安装前期准备
1、确保没有dba组和oinstall
[root@localhost ~]#cat /etc/group| grep dba
[root@localhost ~]#cat /etc/group| grep oinstall
如果有了就不需要再建立

2、创建组
[root@localhost ~]# groupadd -g 500 dba
[root@localhost ~]# groupadd -g 1000 oinstall

3、创建oracle用户
[root@localhost ~]#useradd -g oinstall -G dba -s /bin/bash -c 'Oracle DB
11.2 user' oracle
如果以前安装过oracle,oracle是存在的,检查oracle的初始组是不是oinstall,同时是不是从属组dba
查看方法是查看passwd第4个组id,即oracle的初始组id
[root@localhost ~]# cat /etc/passwd|grep oracle
oracle:x:500:1000:Oracle DB 11.2 user:/u01/app/ora
发现是1000
[root@localhost ~]# cat /etc/passwd|grep oracle
[root@localhost ~]# cat /etc/group |grep oinstall
oinstall:x:1000:
发现oracle的初始组是oinstall
[root@localhost ~]# cat /etc/group |grep dba
dba:x:500:root,oracle
发现oracle也从属于组dba.
如果发现oracle不是这样的,修改oracle的初始组和从属组
[root@localhost ~]#usermod -g oinstall -G dba -s /bin/bash -c 'Oracle DB 11.2 user' oracle
4、创建Oracle密码
如果oracle有密码了可以忽略
[root@localhost ~]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:

二、安装oracle数据库

5、安装oracle
提前把oracle安装文件放到/u01/software下面
[root@localhost u01]# cd /u01/software/
修改/u01权限
[root@localhost software]# chown -R oracle:oinstall /u01
切换到oracle用户下
[root@localhost u01]# su - oracle
转到/u01/software/
-bash-3.2$ cd /u01/software/
解压两个安装文件
-bash-3.2$ unzip linux.x64_11gR2_database_1of2.zip
-bash-3.2$ unzip linux.x64_11gR2_database_2of2.zip

解压完后可以看到database文件夹
-bash-3.2$ ll
总计 2297860
drwxr-xr-x 8 oracle oinstall 4096 2009-08-21 database
-rwxrwxrwx 1 oracle oinstall 1239269270 12-30 20:32 linux.x64_11gR2_database_1of2.zip
-rwxrwxrwx 1 oracle oinstall 1111416131 12-30 20:45 linux.x64_11gR2_database_2of2.zip

打开一个新终端,默认是以root打开的,打开
X-Windows使用许可
[root@localhost u01]# xhost +
access control disabled, clients can connect from any host

如果在远处用SSH用以下命令会出现错误
[root@localhost ~]# xhost +
xhost:
unable to open display ""

该命令必须从有图形显示连接的机器上运行
所以转到虚拟机里面去,运行这个命令。
以下的安装也是在虚拟机里面的命令行进行的。
-bash-3.2$ cd /u01/software/database/

运行安装文件
-bash-3.2$ ./runInstaller

6、开始图形安装步骤



图1

取消更新,点击下一步,跳出警告,点击“是”

在弹出的安装选项中选择“仅安装数据库软件”



图2

点击下一步后出现安装类型,选择“安装单实例”



图3
点击下一步后出现语言选择,选择英语和中文



图4
点击下一步后出现版本选择,选择企业版



图5
点击下一步后出现路径选择,默认



图6
点击下一步后出现清单目录,默认



图7
点击下一步后出现数据库所属的组,数据库管理员为dba,数据库操作者选oinstall




图8
点击下一步后到检查界面,会检查出一些不符合要求的情况,必须一个一个的解决掉才行,否则安装oracle就会出现各种问题。



图9

问题1:硬性限制,打开的文件描述符的最大数
…...至少65536
https://www.centos.bz/2012/05/linux-increase-the-maximum-number-of-open-files/
不过这个问题会自动修复,可以不用自己去修复。

点击“修补并在此检查”,出现提示操作,
以root用户到/tmp/CVU_11.2.0.1.0_oracle/运行runfixup.sh
[root@localhost ~]# cd /tmp/CVU_11.2.0.1.0_oracle/
[root@localhost CVU_11.2.0.1.0_oracle]# ./runfixup.sh
操作之后的结果



图10
图10还提示缺失4个包,把redhat的盘挂载上去,虚拟机上就通过虚拟光驱加载iso的镜像文件。
通过df命令查看是否已经挂载
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 36G 16G 19G 45% /
/dev/sda1 9.5G 157M 8.9G 2% /boot
tmpfs 1005M 0 1005M 0% /dev/shm
.host:/ 400G 64G 337G 16% /mnt/hgfs
/dev/hdc 3.4G 3.4G 0 100% /media/RHEL_5.3 x86_64 DVD
可以看到挂载镜像文件,cd到光盘目录下,根据提示安装缺失的包。
[root@localhost Server]# rpm -ivh libaio-devel-0.3.106-3.2.i386.rpm
[root@localhost Server]# rpm -ivh libaio-devel-0.3.106-3.2.x86_64.rpm
[root@localhost Server]# rpm -ivh sysstat-7.0.2-3.el5.x86_64.rpm
[root@localhost Server]# rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm
[root@localhost Server]# rpm -ivh unixODBC-devel-2.2.11-7.1.x86_64.rpm

安装完包后重新检查,就会发现没有问题了。开始安装数据库



图11

在安装过程中会弹出图11的窗口,根据提示运行脚本。

[root@localhost oraInventory]# cd /u01/app/oraInventory
[root@localhost oraInventory]# ./orainstRoot.sh
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/u01/app/oraInventory 到 oinstall.
脚本的执行已完成。

[root@localhost dbhome_1]# cd /u01/app/oracle/product/11.2.0/dbhome_1
[root@localhost dbhome_1]#./root.sh

7、设置环境变量
[root@localhost dbhome_1]# su oracle
-bash-3.2$ cd ~
-bash-3.2$ vi .bash_profile
添加以下内容

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=com
export PATH=$ORACLE_HOME/bin:$PATH
export LB_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

使环境变量文件即可生效
[root@localhost ~]# source .bash_profile
检查是否已经生效,查看PATH
[root@localhost ~]# echo $PATH
/u01/app/oracle/product/11.2.0/dbhome_1/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/root/bin
[root@localhost ~]#

三、创建数据库实例
8、创建数据库
输入命令,弹出创建数据库界面
-bash-3.2$ dbca



图 12
点击下一步,选择“创建数据库”



图13
在数据库模板选“定制数据库”



图14
设置数据库名和SID名,这个和.bash_profileSID一致,写com,点击下一步



图15
在接下的图形中选默认,点击下一步,会出现提示没有监听器提示



图16
9、创建监听器

-bash-3.2$ netca



图17

点击下一步



图18
点击下一步



图19
点击下一步



图20
点击下一步



图21
点击下一步



图22

点击下一步



图23
点击下一步



图24

点击完成.

回到创建数据库界面,点击“确定”,下一步
设置密码



图25
点击下一步



图26
如果提示密码太简单,点击“是”



图27

点击下一步



图28
点击下一步



图29
点击下一步



图30
点击字符集,选择UTF8



图31

点击字符集,选择UTF8

检查日志文件等的大小,可以自己改



图32



图33

选择生成脚步,点击完成

确认信息



图34

开始自动创建数据库,时间比较久。

四、数据库的简单操作
9、启动数据库
[root@localhost ~]#su - oracle
bash-3.2$sqlplus /nolog
SQL>conn /as sysdba
SQL>startup
SQL>lsnrctl start
SQL> select status from v$instance;
STATUS
------------
OPEN
发现数据库打开了

五、途中遇到的问题和解决办法

1、无法启动创建数据库界面
bash-3.2$ dbca
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

打不开界面,需要以root权限去打开界面权限
[root@localhost ~]# xhost +
access control disabled, clients can connect from any host

2、数据库无法启动
sqlplus: error while loading shared libraries: /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied
这个问题是由于SELINUX引起的,
编辑/etc/sysconfig/selinux配置文件, 把SELINUX=enforcing 改为 SELINUX=disabled。
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully
disabled.

#SELINUX=enforcing
SELINUX=disabled

# SELINUXTYPE= type of policy in use.
Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

编辑完后需要重启机器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: