RedHat安装Oracle11g

10 篇文章 0 订阅
3 篇文章 0 订阅

前言:需要图形界面的支持!

1、下载Oracle:

https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html

2、组和用户并修改权限:

//使用root用户,进行如下操作:
//创建oinstall组
groupadd -g 503 oinstall
//创建dba组
groupadd -g 502 dba
//创建oracle用户
useradd -u 501 -g oinstall -G dba oracle
//创建密码
passwd oracle
//查看信息
id oracle
//uid=501(oracle) gid=503(oinstall) groups=503(oinstall),502(dba)
mkdir -p /app
chown -R oracle:oinstall /app
chmod -R 775 /app

3、上传到linux,并解压:

4、修改配置文件:

1)使用root用户修改etc/security/limits.conf 限制用户对系统资源的使用:

vim /etc/security/limits.conf

oracle    soft    nproc    2047
oracle    hard    nproc    16384
oracle    soft    nofile   1024
oracle    hard    nofile   65536
oracle    soft    stack    102400

2)使用root用户查看文件/etc/pam.d/login,确保写入下列信息:

vim /etc/pam.d/login

session    required    pam_limits.so

3)使用root用户修改linux内核文件:

vim /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
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 = 1048576

sysctl -p(手动执行生效命令)

5、修改oracle用户配置文件:

使用oracle用户,进行如下操作:

//切换用户
su - oracle
vim /home/oracle/.bash_profile

# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/lib

export LANG=en_US.UTF-8
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/oracm/lib:$ORACLE_HOME/lib:/usr/lib
export EDITOR=vi

export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM TNS_ADMIN LD_LIBRARY_PATH CLASSPATH LANG NLS_LANG EDITOR PATH
//使配置生效
source .bash_profile


6、进入database目录./runInstaller进行安装

cd /home/oracle/database

./runInstaller

1)到此处可以看到,缺少包,重新开一个终端开始进行安装缺少的包:

yum -y install binutils* compat-libstdc* elfutils-libelf* gcc-c++* glibc* ksh* libaio* libgcc* libstdc++* make* sysstat* unixODBC* pdksh* libXp* glibc-kernheaders

安装完后还有9个i386的包没有装,需要手动安装:

网盘地址:链接:https://pan.baidu.com/s/1GP8H8-HoZp1HEB0_1T7P4A
提取码:62gc

rpm -ivh --nodeps --force libaio-0.3.105-2.i386.rpm
rpm -ivh --nodeps --force glibc-2.3.4-2.41.i686.rpm
rpm -ivh --nodeps --force compat-libstdc++-33-3.2.3-47.3.i386.rpm
rpm -ivh --nodeps --force libaio-devel-0.3.105-2.i386.rpm
rpm -ivh --nodeps --force libgcc-3.4.6-3.i386.rpm
rpm -ivh --nodeps --force libstdc++-3.4.6-9.0.1.i386.rpm
rpm -ivh --nodeps --force unixODBC-2.2.11-7.1.i386.rpm
rpm -ivh --nodeps --force unixODBC-devel-2.2.11-7.1.i386.rpm
rpm -ivh --nodeps --force pdksh-5.2.14-30.x86_64.rpm

2)解决Swap Size交换空间不足的方案:

1)使用root用户登录系统,创建一个2G的swapfree文件:

dd if=/dev/zero of=swapfree bs=32k count=65535

swapfree文件大小=32byte * 1024 * 65515 = 2146795520KB = 2.1GB左右

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。(注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:          b=512;c=1;k=1024;w=2)

if:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >

of:of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >

bs: bs=bytes:同时设置读入/输出的块大小为bytes个字节。

ibs:ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

obs:obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。

cbs: cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。

skip:skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

 seek:seek=blocks:从输出文件开头跳过blocks个块后再开始复制。(注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。)

count:count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

conv:conv=conversion:用指定的参数转换文件。

           ascii:转换ebcdic为ascii

           ebcdic:转换ascii为ebcdic

           ibm:转换ascii为alternate ebcdic

           block:把每一行转换为长度为cbs,不足部分用空格填充

           unblock:使每一行的长度都为cbs,不足部分用空格填充

           lcase:把大写字符转换为小写字符

           ucase:把小写字符转换为大写字符

           swab:交换输入的每对字节

           noerror:出错时不停止

           notrunc:不截短输出文件

           sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

2)将swapfree设置为Swap交互空间:

mkswap swapfree

3)开启交换空间:

swapon swapfree

4)查看Swap空间:

free

5)设置交换分区开机启动:

vim /etc/fstab

添加以下内容:

注:我的swapfree文件在/root目录下。

/dec/hdb5               swap                    swap    defaults        0 0
/root/swapfree          swap                    swap    defaults        0 0

可以看到已经解决。

3)sem空间为0,这个目前没解决,不知如何解决(看到博客的大神希望能帮忙解决)

在安装到85%时会遇到上面的Error in invoking target 'agent nmhs' of makefile错误,解决方案如下:

使用oracle用户进行修改:

cd $ORACLE_HOME/sysman/lib
vim ins_emagent.mk

进入vi编辑器后  命令模式输入/NMECTL 进行查找,快速定位要修改的行
在后面追加参数-lnnz11        第一个是字母l   后面两个是数字1

7、根据提示执行脚本:

先切换到root用户:

su - root

cd /app/oracle/product/11.2.0/dbhome_1
sh root.sh

cd /app/oraInventory
sh orainstRoot.sh

8、创建数据库:

oracle用户新开一个终端:

在里面输入dbca,会跳出图形界面:

dbca

这个界面不要关,新开一个终端,输入netca命令:

netca

然后回到刚才需要配置监听的那个图形界面,继续下一步:

注:这里时间非常长,耐心等待!

 

 

 

如果要启用scott账户,可以参考另一篇博客:Linux添加Oracle11g的scott账户

9、宿主机plsql访问虚拟机Oracle:

1)先关闭防火墙或者添加准入端口:

关闭防火墙:

注:7.0以上系统默认防火墙为firewalld。

//关闭防火墙(重启失效)
systemctl stop firewalld.service
//禁用防火墙(重启不失效)
systemctl disable firewalld.service

添加准入端口:

//添加准入端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
//重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=1521/tcp
删除
firewall-cmd --zone=public --remove-port=1521/tcp --permanent

提示输入账户密码进行验证,验证通过后就会关闭防火墙:

2)启动监听:

(1)切换至oracle安装用户:
su - oracle
(2)启动监听器
lsnrctl start
(3)停止监听器
lsnrctl stop
(4)装载数据库
先使用sysdba登录
sqlplus / as sysdba
再装载
startup

注:每次启动虚拟机后都需要输入以下三个命令:

1、启动监听:

lsnrctl start

2、装载数据库:

sqlplus / as sysdba
SQL>startup

配置tnsnames.ora文件:

可以参考我另一篇博客:PLSQL安装与配置

控制台远程登录:

在cmd下运行sqlplus 用户名/密码@IP地址/orcl,如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值