云服务器linux安装Oracle11G

下载安装包:

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

我解压至:/u01/oracle,安装也在这个目录,你们随意

unzip linux.x64_11gR2_database_1of2.zip -d /u01/oracle
unzip linux.x64_11gR2_database_2of2.zip -d /u01/oracle

解压完成后会生成一个database文件夹

检查硬件需求

1、至少1GB的RAM,可以使用以下命令查看内存大小:

grep MemTotal /proc/meminfo

2、保证/u01/oracle目录只要有1GB可用空间,查看命令:

df -h /u01/oracle

其它的要求不多说了,直接干

软件包依赖

shell 
binutils-2.17.50.0.6 
compat-libstdc++-33-3.2.3 
elfutils-libelf-0.125 
elfutils-libelf-devel-0.125 
elfutils-libelf-devel-static-0.125 
gcc-4.1.2 
gcc-c++-4.1.2 
glibc-2.5-24 
glibc-common-2.5 
glibc-devel-2.5 
glibc-headers-2.5 
kernel-headers-2.6.18 
ksh-20060214 
libaio-0.3.106 
libaio-devel-0.3.106 
libgcc-4.1.2 
libgomp-4.1.2 
libstdc++-4.1.2 
libstdc++-devel-4.1.2 
make-3.81 
sysstat-7.0.2 
unixODBC-2.2.11 
unixODBC-devel-2.2.11 

以使用以下命令查看上面这些软件包的版本是否大于等于上面的要求:

rpm -q binutils compat-libstdc++ 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

如果出现有未安装的软件包,建议是使用yum把这些软件包都更新一遍:

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

如果更新出现包冲突,可以先卸载旧的安装包,再安装新的包,如:

Error: Protected multilib versions: elfutils-libelf-0.176-4.el7.x86_64 != elfutils-libelf-0.172-2.el7.i686

解决:

 rpm -e --nodeps elfutils-libelf-0.172-2.el7.i686

 yum install elfutils-libelf-0.176-4.el7.x86_64 

添加安装用户和用户组,执行以下命令:

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle

 如果出现oracle已经存在,删除再添加。

执行完后可查看:

 

配置内核参数

以下命令都需要root用户权限执行

如果安装Oracle用于生产的话,内核参数是一个很重要的优化系统性能的配置项,比如配置信号量,I/O,共享内存等参数配置,这个建议参考官方文档进行详细配置,官方文档对这方面有很详细的说明。如果你和我一样只是安装个Oracle用来学习那只需要使用官方文档中建议的最低配置就行。具体可以在/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

为使上述配置生效而不重启系统,执行如下命令

 /sbin/sysctl -p

修改用户的限制文件

修改/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           10240 

  在/etc/pam.d/login文件中添加一行:

session    required     pam_limits.so

/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

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

安装路径可以自选,我就直接使用/u01/oracle目录,注意权限,命令如下:

 mkdir -p /data/oracle/product/11.2.0

 mkdir /u01/oracle/oradata

 mkdir /u01/oracle/inventory

 mkdir /u01/oracle/fast_recovery_area

 chown -R oracle:oinstall /u01/oracle

 chmod -R 775 /u01/oracle

设置oracle用户环境变量

1、使用su - oracle命令切换为oracle用户登录

2、使用任意文本编辑器打开Shell启动脚本,如:

vi .bash_profile

添加如下环境变量:

ORACLE_BASE=/u01/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

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

 source .bash_profile

编辑静默安装响应文件

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

cp -R /u01/oracle/database/response/ .

注意命令最后有一个小点,不要忘记复制或输入

往下执行:

 cd response/
vim db_install.rsp

此文件内容很多,主要配置以下内容,注意自己的路径:

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=CentOS

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/u01/oracle/product/11.2.0

ORACLE_BASE=/u01/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

根据响应文件静默安装Oracle11g

1、转到安装文件目录下

cd /u01/oracle/database/

2、执行安装命令

./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

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

Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 150565 MB Passed
Checking swap space: 0 MB available, 150 MB required. Failed <<<<
Some requirement checks failed. You must fulfill these requirements before
continuing with the installation,


解决方法:
1、检查 Swap 空间在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件。运行以下命令:
swapon -s

如果返回的信息概要是空的,则表示 Swap 文件不存在。
2、检查文件系统在设置 Swap 文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap 。运行以下命令:

 df -hal

3、创建并允许 Swap 文件下面使用 dd 命令来创建 Swap 文件。检查返回的信息,还剩余足够的硬盘空间即可。
dd if=/dev/zero of=/swapfile bs=1024 count=512k

参数解读:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >bs=bytes:同时设置读入/输出的块大小为bytes个字节count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。

4、格式化并激活 Swap 文件上面已经创建好 Swap 文件,还需要格式化后才能使用。运行命令:

mkswap /swapfile

激活 Swap ,运行命令:

swapon /swapfile

以上步骤做完,再次运行命令:

swapon -s

你会发现返回的信息概要:
1 Filename                Type        Size    Used    Priority
2 /swapfile               file        524284    0     -1
 
如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:

/swapfile          swap            swap    defaults        0 0
最后,赋予 Swap 文件适当的权限:
1 chown root:root /swapfile 
2 chmod 0600 /swapfile

Q2:文件权限问题

[INS-32012] Unable to create directory.
   CAUSE: Either proper permissions were not granted to create the directory or there was no space left in the volume.
   ACTION: Check your permission on the selected directory or choose another directory.
A log of this session is currently saved as: /tmp/OraInstall2020-07-29_07-32-37PM/installActions2020-07-29_07-32-37PM.log. Oracle recommends that if you want to keep this log, you should move it from the temporary location to a more permanent location.
解决:
chmod -R 777 /u01/oracle/

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

可以在以下位置找到本次安装会话的日志:/u01/oracle/inventory/logs/installActions2020-07-29-46-21PM.log

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

 

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

sh /u01/oracle/inventory/orainstRoot.sh

sh /u01/oracle/product/11.2.0/root.sh

如上图中所示。

以静默方式配置监听

重新使用oracle用户登录:su - oracle  

执行:

netca /silent /responseFile /home/oracle/response/netca.rsp 

结果如下: 

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

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

通过netstat命令可以查看1521端口正在监听,如果netstat没安装,则安装:yum install net-tools

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

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 =/u01/oracle/oradata

# Description   : Location of the data file's
# 恢复数据存放目录
RECOVERYAREADESTINATION=/u01/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"

进行静默配置:

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

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

 ps -ef | grep ora_ | grep -v grep

如图: 

查看监听状态:lsnrctl status

数据库创建完成。

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

数据库信息:

全局数据库名:orcl.test

系统标识符 (SID):orcl

 登录查看实例状态:

sqlplus / as sysdba

SQL> select status from v$instance;

为oracle 创建新用户

1、登陆oracle
sqlplus / as sysdba

2、创建用户及密码
CREATE  USER test IDENTIFIED BY 123456;

3、解锁新账户
alter user test account unlock;

3、创建会话的权限
grant create session to test;

4、为用户添加权限
grant dba to test;

4、转换新账户登陆
connect test/123456;

到此,整个配置与安装完成。

命令行模式静默删除

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指定应答文件,要求用绝对路径

监听配置及数据库连接问题

1、确认监听文件的正确配置,文件路径 /u01/oracle/product/11.2.0/network/admin

我使用的阿里云服务器安装oracle,在文件listener.ora、tnsnames.ora中,所配置的HOST都是服务器名,并没有使用公IP地址。

listener.ora 文件如下:

 tnsnames.ora  文件

监听配置完后需要 关闭与 重启,使生效

进入  su - oracle
关闭命令:lsnrctl stop
重启命令:lsnrctl start

 

2、打开云服务器中ORACLE 1521端口,

阿里云控制台----安全组规则-----公网入方向----手动添加,如下图配置

 3、查看防火墙状态

0.查看防火墙状态
firewall-cmd --state


1.启动防火墙
systemctl start firewalld 

2.禁用防火墙
systemctl stop firewalld

3.设置开机启动
systemctl enable firewalld

4.停止并禁用开机启动
sytemctl disable firewalld

5.重启防火墙
firewall-cmd --reload

6.添加端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent

7.删除端口
firewall-cmd --zone=public --remove-port=1521/tcp --permanent

如果防火墙是关闭的,不需要开启防火墙的话,就不需要开放端口1521;如果是开启,查看1521端口是否开放的

 firewall-cmd --permanent --zone=public --list-ports

如果输出没有1521端口,则开放:

firewall-cmd --zone=public --add-port=1521/tcp --permanent

 出现" success" 则表示添加成功。

其它端口也是如此,比如Tomcat的8080端口

至此,便可以使用公网IP访问云服务器的oracle。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值