Linux安装oracle11g

linux安装Oracle11G

阅读目录:

 

阅读正文:

回到顶部

linux安装Oracle11G

0、下载Orcle11G

oracle10G/11G官方下载地址合集(直接迅雷下载)

说明一下:
[root@myYUn install]#中的myYUn
等价于
[root@iz2f570bi1k56uz install]#中的iz2f570bi1k56uz;
这是为了界面效果调整的,但是有些没调整到,理解一哈。

 

1、上传文件到服务器或虚拟机的/install目录下

[root@myYUn install]# rz –y

如果rz –y命令不能使用,可用如下方法解决

yum install lrzsz -y

2、解压文件到当前目录:

[root@myYUn install]# unzip linux.x64_11gR2_database_1of2.zip

[root@myYUn install]# unzip linux.x64_11gR2_database_2of2.zip

如果unzip命令不能使用,依次执行如下命令:

     yum list | grep zip/unzip

     yum install zip

     yum install unzip 

将解压后的文件夹直接移动到/software目录下:

[root@myYUn install]# mv database/ /software/

[root@myYUn install]# cd /software

[root@myYUn install]# ll

 

3、关闭selinux

[root@myYUn software]# vim /etc/selinux/config

设置SELINUX=disabled

[root@myYUn software]# setenforce 0

4、关闭防火墙

查看系统版本

[root@myYUn software]# cat /etc/redhat-release

CentOS Linux release 7.3.1611 (Core)

[root@myYUn software]# getconf LONG_BIT

64

 

如果是6及以下:

[root@myYUn software]# service iptables stop

[root@myYUn software]# service iptables status

[root@myYUn software]# chkconfig iptables off

 

如果是centenOS7:

[root@myYUn software]# systemctl restart firewalld.service

[root@myYUn software]# systemctl list-unit-files|grep firewalld.service

firewalld.service                             disabled

[root@myYUn software]# systemctl disable firewalld.service

 

5、安装Oracle 11g依赖包

[root@myYUn software]# yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y

 

6、添加安装用户和用户组

[root@myYUn software]# groupadd oinstall

[root@myYUn software]# groupadd dba

[root@myYUn software]# useradd -g oinstall -G dba oracle

[root@myYUn software]# passwd oracle

Changing password for user oracle.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

[root@myYUn software]# id oracle

uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

 

7、修改内核参数配置文件

[root@myYUn software]# vim /etc/sysctl.conf

在末尾添加以下内容:

复制代码

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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 

复制代码

查看是否成功写进/etc/sysctl.conf文件中:

[root@myYUn software]# sysctl -p

其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。

 

8、修改用户的限制文件

修改/etc/security/limits.conf文件:

[root@myYUn software]# vim /etc/security/limits.conf

在末尾添加以下内容:

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

修改/etc/pam.d/login文件:

[root@myYUn software]# vim /etc/pam.d/login

在末尾添加以下内容:

session required  /lib64/security/pam_limits.so
session required   pam_limits.so 

修改/etc/profile文件:

[root@ myYUn software]# vim /etc/profile

在末尾添加以下内容:

复制代码

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

复制代码

 

9、创建安装目录和设置文件权限

[root@myYUn software]# mkdir -p /data/oracle/product/11.2.0

[root@myYUn software]# mkdir /data/oracle/oradata

[root@myYUn software]# mkdir /data/oracle/inventory

[root@myYUn software]# mkdir /data/oracle/fast_recovery_area

[root@myYUn software]# chown -R oracle:oinstall /data/oracle

[root@myYUn software]# chmod -R 775 /data/oracle

 

10、设置oracle用户环境变量

首先切换到oracle用户下:

[root@myYUn software]# su -l oracle

 

[oracle@myYUn ~]$ vim .bash_profile

在末尾添加如下内容:

ORACLE_BASE=/data/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0

ORACLE_SID=orcl

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

注意,标红处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。第一次配置完记得source一下。

[oracle@myYUn ~]$ source .bash_profile

 

11、编辑静默安装响应文件

复制安装文件夹response到当前oracle用户的家目录下:

[oracle@myYUn ~]$ cp -R /software/database/response/ .

[oracle@myYUn ~]$ cd response/

[oracle@myYUn response]$ vim db_install.rsp

需要设置的选项如下:

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=CentOS

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/oracle/product/11.2.0

ORACLE_BASE=/data/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

 

12、根据响应文件静默安装Oracle11g

[oracle@myYUn response]$ cd /software/database/

[oracle@myYUn database]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

出现异常如下:

error trying to initialize the HPI library.
Please check your installation, HotSpot does not work correctly
when installed in the JDK 1.2 Linux Production Release, or
with any JDK 1.1.x release.
Could not create the Java virtual machine.
 

解决方式,切换到root用户,执行 dnf install libnsl 命令如下:

如果执行以上命令出错,会提示有参数格式,按照提示参数格式修改修改即可,一般是由于word中的字体、符号格式复制到客户端命令行后不一致引起,修改即可。

 

楼主遇到了交换空间不足的问题:

解决方案如下(在root用户下执行):

[root@myYUn /]# free

[root@myYUn /]# dd if=/dev/zero of=swapfile bs=1024 count=500000

500000+0 records in

500000+0 records out

512000000 bytes (512 MB) copied, 1.67013 s, 307 MB/s

[root@myYUn /]# mkswap swapfile

Setting up swapspace version 1, size = 499996 KiB

no label, UUID=c5e355eb-e73e-4aa0-b882-cb6d1f88e6bc

[root@myYUn /]# swapon swapfile

swapon: /swapfile: insecure permissions 0644, 0600 suggested.

[root@myYUn /]# free

 

开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现Successfully Setup Software,则安装程序已经停止了。

 

可以在以下位置找到本次安装会话的日志:/data/oracle/inventory/logs/installActions2018-05-13_02-14-55PM.log

 

可以切换终端执行top命令查看后台进程一直是在安装的,/data目录也在不断增大,

当出现以下提示时,代表安装成功:

按照要求执行脚本。

打开终端,退出到root身份登录,执行脚本:

[oracle@iZ2f570bi1k56uZ database]$ exit

logout

[root@iZ2f570bi1k56uZ software]# sh /data/oracle/inventory/orainstRoot.sh

Changing permissions of /data/oracle/inventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

 

Changing groupname of /data/oracle/inventory to oinstall.

The execution of the script is complete.

[root@iZ2f570bi1k56uZ software]# sh /data/oracle/product/11.2.0/root.sh

Check /data/oracle/product/11.2.0/install/root_iZ2f570bi1k56uZ_2018-05-13_14-25-04.log for the output of root script

 

13、以静默方式配置监听

重新使用oracle用户登录:

[root@myYUn software]# su -l oracle

Last login: Sun May 13 14:09:10 CST 2018 on pts/3

[oracle@myYUn ~]$ netca /silent /responseFile /home/oracle/response/netca.rsp 

异常如下:

[oracle@bogon ~]$ netca /silent /responseFile /home/oracle/response/netca.rsp
UnsatisfiedLinkError exception loading native library: njni11
java.lang.UnsatisfiedLinkError: /data/oracle/product/11.2.0/lib/libnjni11.so: /data/oracle/product/11.2.0/lib/libclntsh.so.11.1: file too short
解决方式:

cd $ORACLE_HOME/inventory/Scripts/ext/lib/
cp libclntsh.so.11.1  $ORACLE_HOME/lib/

 

注意此处,必须使用/silent /responseFile格式,而不是-silent -responseFile,因为是静默安装。

 

成功运行后,在/data/oracle/product/11.2.0/network/admin中生成listener.ora和sqlnet.ora

 

通过netstat命令可以查看1521端口正在监听。

 

Yum安装netstat软件,软件包是在net-tools中。

[root@myYUn /]# yum install net-tools

[root@myYUn /]# yum install net-tools

 

14、以静默方式建立新库,同时也建立一个对应的实例

[oracle@myYUn ~]$ vim /home/oracle/response/dbca.rsp

修改文件中以下参数:

复制代码

[GENERAL]

# oracle版本,不能更改
RESPONSEFILE_VERSION = "11.2.0"

# Description   : Type of operation
OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]

# Description   : Global database name of the database
# 全局数据库的名字=SID+主机域名
# 第三方工具链接数据库的时候使用的service名称
GDBNAME = "orcl.test"

# Description   : System identifier (SID) of the database
# 对应的实例名字
SID = "orcl"

# Description   : Name of the template
# 建库用的模板文件
TEMPLATENAME = "General_Purpose.dbc"

# Description   : Password for SYS user
# SYS管理员密码
SYSPASSWORD = "123456"

# Description   : Password for SYSTEM user
# SYSTEM管理员密码
SYSTEMPASSWORD = "123456"

# Description   : Password for SYSMAN user
# SYSMAN管理员密码
SYSMANPASSWORD = "123456"

# Description   : Password for DBSNMP user
# DBSNMP管理员密码
DBSNMPPASSWORD = "123456"

# Description   : Location of the data file's
# 数据文件存放目录
DATAFILEDESTINATION =/data/oracle/oradata

# Description   : Location of the data file's
# 恢复数据存放目录
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area

# Description   : Character set of the database
# 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "ZHS16GBK"

# Description   : total memory in MB to allocate to Oracle
# oracle内存1638MB,物理内存2G*80%
TOTALMEMORY = "1638" 

复制代码

进行静默配置:

[oracle@myYUn ~]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp

建库后进行实例进程检查:

[oracle@myYUn ~]$ ps -ef | grep ora_ | grep -v grep

查看监听状态:

[oracle@myYUn ~]$ lsnrctl status

数据库创建完成。

有关详细信息, 请查看以下位置的日志文件: /data/oracle/cfgtoollogs/dbca/orcl/orcl.log。

数据库信息:

全局数据库名:orcl.test

系统标识符 (SID):orcl

 

登录查看实例状态:

[oracle@myYUn ~]$ sqlplus / as sysdba

SQL> select status from v$instance;

 

linux 成功安装oracle后,为其创建一个登录账户

 

如果报错:【ORA-12162: TNS:net service name is incorrectly specified】

错误原因:【这个错误是因为ORACLE_SID变量没有传进去造成的。】

解决方法:

1.查看当前ORACLE_SID

[oracle@iZ2f570bi1k56uZ ~]$ echo $ORACLE_SID

orcl                 

2.修改ORACLE_SID和/home/oracle/response/dbca.rsp中的一样                                                                                                                                                                   

[oracle@iZ2f570bi1k56uZ ~]$ export ORACLE_SID=orcl

3.如果遇到ORA-12162: TNS:net service name is incorrectly specified.错误

参考文章:【ORA-12162: TNS:net service name is incorrectly specified.

4.如果依然不能登陆,尝试修改orcle文件夹的权限

【如果本地连接时,出现监听错误,参考Linux中安装Oracle11g后出现监听的问题及解决办法

 

15、命令行模式静默删除

1、首先查看dbca的帮助信息

dbca -help

 

修改/home/oracle/response/dbca.rsp文件里以下几个参数,下面三个参数根据建库实际情况进行修改:

OPERATION_TYPE = "deleteDatabase"

SOURCEDB = "orcl"

SYSDBAUSERNAME = "sys"

SYSDBAPASSWORD = "123456"

 

然后运行:

dbca -silent -responseFile /home/oracle/response/dbca.rsp

 

各参数含义如下:

-silent 表示以静默方式删除

-responseFile 表示使用哪个响应文件,必需使用绝对路径

RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改

OPERATION_TYPE 安装类型,该参数不要更改

SOURCEDB 数据库名,不是全局数据库名,即不包含db_domain

 

很简单数据库卸载完成了,请注意,只是数据库卸载完了,数据库软件还是在的。

 

2、使用DBCA卸载数据库

dbca -silent -delete Database -responseFile dbca.rsp

 

a.选项-silent表示静默安装,免安装交互,大部分安装信息也不输出

b.选项-responseFile指定应答文件,要求用绝对路径

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITdada

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值