【Oracle】手把手教你做之Linux上安装Oracle11g

手把手教你做之Linux上安装Oracle11g


这是我第一次安装时的过程,及遇到问题的解决办法,在此记录,有不妥之处,多多交流。

因为高稳定性及高定制低系统消耗等原因,我们希望在Linux上安装Oracle数据库,本文旨在能让任何人看完之后都能在linux上安装Oracle。

安装前准备

Oracle下载地址

oracle下载地址

【Oracle】手把手教你做之Linux上安装Oracle11g_第1张图片
oracle安装文件下载

根据需求下载对应的安装包版本。X86是32位操作系统用的安装包,x86-64是64位操作系统用的安装包。

在系统上检查软件依赖的安装

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

【Oracle】手把手教你做之Linux上安装Oracle11g_第2张图片
软件依赖检查

提示 is not installed 的用yum安装
例如:
yum -y install compat-libstdc++-33 yum -y install elfutils-libelf-devel
提示:要提前配置好yum源。

创建oracle用户

密码为oracle,密码输入两次。
/usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/useradd -g oinstall -G dba oracle passwd oracle
系统提示:

Changing password for user oracle.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

修改内核参数

vi /etc/sysctl.conf
文本末尾加入以下内容:

fs.aio-max-nr = 1048576

fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

【Oracle】手把手教你做之Linux上安装Oracle11g_第3张图片
修改内核参数

vi中编辑的方法
按i进入输入模式,esc退出 :wq退出编辑
为使上述配置生效而不重启系统,执行如下命令
/sbin/sysctl –p

修改用户限制

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

修改用户配置文件

vi /etc/profile
文本末尾加入以下内容:

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

安装目录配置

切换到root 用户,执行以下命令。
mkdir -p oraInventory chown -R oracle:oinstall oraInventory chmod -R 775 oraInventory

配置oracle用户的环境变量

切换到oracle用户
然后直接输入
vi .bash_profile
文本末尾加入以下内容:

export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=oracleSid
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

之后执行
source .bash_profile


Oracle安装

先将安装包利用ftp传到目录下,一定要用oracle用户传!

然后进入目录解压文件
unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
因为oracle11g的安装有图形界面,而我暂时没法用远程命令显示图形。
所以在虚拟机本机上运行如下命令
[oracle@localhost oraclepackage]$ cd database/ [oracle@localhost database]$ ./runInstaller

【Oracle】手把手教你做之Linux上安装Oracle11g_第4张图片
执行开始安装命令
【Oracle】手把手教你做之Linux上安装Oracle11g_第5张图片
安装桌面类数据库
【Oracle】手把手教你做之Linux上安装Oracle11g_第6张图片
忽略检查的错误

因为之前我们检查了软件安装的依赖,这些错误都是版本的问题,不影响安装,所以我们选择忽略。

之后的安装就跟在windows图形化界面的安装一样了。
安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置, 新开启一个终端,输入命令:
[root@localhost oraInventory]# cd /u01/oracle/ [root@localhost oracle]# sh root.sh [root@localhost ~]# cd /oraInventory/ [root@localhost oraInventory]# sh orainstRoot.sh

【Oracle】手把手教你做之Linux上安装Oracle11g_第7张图片
root用户执行两个命令

安装后的问题解决

启动监听

[oracle@localhost ~]$ lsnrctl start

连接数据库

[oracle@localhost ~]$ sqlplus / as sysdba

启动数据库实例

SQL> startup

ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/oracle/dbs/initoracleSid.ora'

提示文件未找到,解决办法如下,将/u01/admin/orcl/pfile下类似于init.ora.的文件复制到/u01/oracle/dbs路径下,并重命名为未找到的文件名。

[oracle@localhost ~]$ cd /u01/admin/orcl/pfile [oracle@localhost pfile]$ ls

init.ora.10302016235216

[oracle@localhost pfile]$ cp init.ora.10302016235216 /u01/oracle/dbs [oracle@localhost pfile]$ cd /u01/oracle/dbs [oracle@localhost dbs]$ mv init.ora.10302016235216 initoracleSid.ora SQL> startup

提示存储不足。

ORA-00845: MEMORY_TARGET not supported on this system

用root用户编辑/etc/fstab
[root@localhost etc]# vi fstab
在tmpfs 后面加入,size=3G

【Oracle】手把手教你做之Linux上安装Oracle11g_第8张图片
编辑 fstab文件

修改完成后重启挂载,遇到在使用的情况,故加上参数-k,之后重启挂载。
[root@localhost ~]# umount /dev/shm

umount: /dev/shm: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

[root@localhost ~]# fuser -mvk /dev/shm [root@localhost ~]# umount /dev/shm [root@localhost ~]# mount /dev/shm

关闭防火墙
sudo service iptables stop
防火墙文件中加入下面一行,然后启动防火墙。
sudo vi /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

【Oracle】手把手教你做之Linux上安装Oracle11g_第9张图片
修改防火墙文件

修改密码文件

可以在本地用sysdba登陆,但plsql不能访问。

  1. 查询oracle实例名。
【Oracle】手把手教你做之Linux上安装Oracle11g_第10张图片
查询oracle实例名

select instance_name from v$instance;

将dbs目录下orapw实例名的文件修改成对应的。或者使用一下命令重新生成。
orapwd file=orapworacleSid password=123456 entries=10

密码文件的生成

重启数据库,plsql就可以访问了。
SQL> shutdown immediate SQL>startup

【Oracle】手把手教你做之Linux上安装Oracle11g_第11张图片
数据库重启

当使用如下命令可以查出结果时,就可以远程连接数据库了。
select * from v$pwfile_users;
至此oracle11g在Linux上的基本安装就完成了。

你可能感兴趣的:(【Oracle】手把手教你做之Linux上安装Oracle11g)