Linux下Oracle数据库的安装
记录详细过程以备使用
一、准备安装
为了确保Oracle数据库11g能够成功安装,您需要做好准备工作,例如检查网络配置、更改Linux内核参数、创建用户Oracle、创建安装目录、设置用户Oracle的shell限制以及设置用户根的环境变量。
检查要安装的分区
本主题描述如何在安装Oracle数据库之前检查分区
过程
步骤1.作为root用户登录到服务器。
步骤2.运行以下命令检查分区。
# df –h
- - - - -结束
检查网络配置
安装Oracle数据库时,需要服务器的网络配置信息,例如服务器的IP地址和主机名。因此,在安装Oracle数据库之前,请检查服务器的IP地址和主机名。
过程
步骤1.作为root用户登录到服务器。
步骤2.检查服务器的主机名。在终端窗口中,运行以下命令:
# hostname
系统显示服务器的主机名。
如果希望保留主机名,请记录主机名以备将来使用。l
步骤3.检查服务器的IP地址。
# ifconfig
- - - - -结束
更改Linux内核参数
为了确保Linux内核的参数满足安装要求,您需要更改Linux内核配置。
上下文
安装Oracle数据库11g对Linux内核参数的要求如下:
fs.file-max = 512*PROCESSES
kernel.shmall = 4194304
kernel.shmmax = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
过程
步骤1.作为root用户登录到服务器。
步骤2.打开/etc/sysctl.conf文件与vi编辑器。
# vi /etc/sysctl.conf
步骤3.使用向下箭头键将光标移动到文件的末尾。按o,然后在文件末尾添加以下信息。
fs.file-max = 6553600
kernel.shmall = 4194304
kernel.shmmax = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_max = 4194304
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
注:shmmax可按以下方式设置:
值范围:
4GB - 1字节
内存大小的一半
shmmax所需的最小值是0.5 GB。但是,Oracle建议您将shmmax的值设置为2.0 GB(即2147483648),以便优化Oracle数据库的性能。
如果内存小于2.0GB,则将shmmax设置为内存大小的一半。
步骤4.按Esc,输入:wq!,然后按Enter保存并关闭/etc/sysctlconf文件。的/etc/sysctl.conf文件是一个只读文件,您需要使用:wq!命令保存文件。
步骤5.使更改的参数生效。
# /sbin/sysctl –p
步骤6.使系统访问/etc/sysctl.启动过程中的conf文件。
# /sbin/chkconfig boot.sysctl on
- - - - -结束
二、后续安装的过程
更改内核参数后,转到创建操作系统的用户oracle。
创建操作系统的用户oracle
在安装Oracle数据库11g之前,需要创建安装和使用数据库所需的用户组和用户。
上下文
如果系统从未安装过Oracle软件,则需要以下用户组和用户:
OSDBA组:dba
这个组标识具有数据库管理特权(SYSDBA特权)的用户帐户。这个组的默认名称是dba。
Oracle库存组:oinstall
Oracle库存组拥有操作所有Oracle软件的权限。通常,这个组称为oinstall。
Oracle软件所有者用户:Oracle
该用户拥有甲骨文软件的全部权利。通常,用户的名字是oracle。该用户必须将Oracle Inventory组(oinstall)作为其主要组。它还必须将OSDBA组(dba)作为辅助组。
过程
步骤1.作为root用户登录到服务器。
步骤2.检查用户oracle是否存在。
# id oracle
如果显示以下信息,则表示用户oracle存在,但未设置用户oracle的辅助组。
uid=103(oracle) gid=103(oinstall) groups=103(oinstall),6(disk),104(dba)
将用户oracle更改为主组oinstall和辅助组dba。
# usermod -g oinstall -G dba -d /opt/oracle -s /bin/sh oracle
请注意
-g oinstall表示将用户oracle的主组设置为oinstall。
-G dba是指将用户oracle的辅助组设置为dba。
-d /opt/oracle表示将用户oracle的home路径设置为/opt/oracle。
-s /bin/sh表示将用户oracle的登录shell设置为/bin/sh
如果显示以下信息,则表示用户oracle不存在。
id: oracle: No such user
创建用户oracle。
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba -d /opt/oracle oracle
步骤3.设置用户oracle的密码。
# passwd oracle
显示以下信息。输入用户oracle的密码。
changing password for oracle.
New Password:
- - - - -结束
后续的过程
创建所需的用户组和用于安装和使用数据库的用户成功后,转到创建用于安装Oracle数据库的目录。
创建用于安装Oracle数据库的目录
本主题描述如何创建用于安装Oracle数据库的目录。
上下文
由于用户oracle对用户根创建的文件夹没有写权限,安装oracle数据库11g所需的文件夹必须由用户root创建。
如果安装Oracle数据库11g所需的文件夹不是由用户Oracle创建的,则将完全控制权限作为root用户授予用户Oracle。
过程
步骤1.作为root用户登录到服务器。
步骤2.创建/opt/oracle目录。
# mkdir /opt/oracle
请注意
可能存在/opt/oracle目录。
步骤3.将/opt/oracle的所有者更改为用户oracle和用户组oinstall。
# chown oracle:oinstall /opt/oracle
步骤4.创建用于存储安装文件的/home/software目录。
# mkdir -p /home/software/
步骤5.将/home/software的所有者更改为用户oracle和用户组oinstall。
# chown -R oracle:oinstall /home/software
步骤6.将/oradata的所有者更改为用户oracle和用户组oinstall。
# chown -R oracle:oinstall /oradata
- - - - -结束
后续的过程
以二进制方式将Oracle数据库的安装文件作为root用户文件上传到/home/software目录。
注意:以二进制模式将文件传输到服务器,否则文件可能被破坏。创建安装Oracle数据库11g的目录后,转到为用户Oracle设置Shell限制。
为用户oracle设置Shell限制
本主题描述如何为用户oracle设置shell限制。
过程
步骤1.作为root用户登录到服务器。
步骤2.编辑/etc/security/limits.conf文件。
1. 打开/etc/security/limits.conf文件与vi编辑器。
# vi /etc/security/limits.conf
2. 检查文件中是否存在以下信息。
如果不存在,则使用向下箭头键将光标移动到文件的末尾。按o,然后在文件末尾添加以下信息。
如果已经存在,请确保参数值满足以下要求。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3.按Esc,回车:wq,回车保存文件,退出vi编辑器。
步骤3.编辑/etc/pam.d/login。
1.打开/etc/pam.d/login用vi编辑器登录文件。
# vi /etc/pam.d/login
2.检查文件中是否存在以下信息。
如果不存在,则使用向下箭头键将光标移动到文件的末尾。按o,然后在文件末尾添加以下信息。
如果已经存在,什么也不要做。
session required pam_limits.so
3.按Esc,回车:wq,回车保存文件,退出vi编辑器。
步骤4.编辑/etc/profile文件。
1.使用vi编辑器打开/etc/profile文件。
# vi /etc/profile
2.使用向下箭头键将光标移动到文件的末尾。按o,然后在文件末尾添加以下信息。
if test $USER = "oracle"; then
if test $SHELL = "/bin/ksh"; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
3.按Esc,回车:wq,回车保存文件,退出vi编辑器。
- - - - -结束
后续的过程
在成功设置用户oracle的shell限制之后,需要转到设置用户oracle的环境变量。
设置用户oracle的环境变量
本主题描述如何设置用户oracle的环境变量。
过程
步骤1.作为用户oracle登录到服务器。
步骤2.确保用户oracle的当前目录为/opt/oracle。
> pwd
显示的信息是当前目录。
/opt/oracle
步骤3.编辑.profile文件。
1.使用vi编辑器打开用户oracle的环境变量文件。
> vi .profile
2.检查文件中是否存在以下信息。
如果不存在,按o,然后在文件末尾添加以下信息。
如果已经存在,请确保参数值满足以下要求。
export ORACLE_SID=obd
export ORACLE_BASE=/opt/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/obd
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
PATH=$PATH:/$ORACLE_HOME/bin:$HOME/bin:
export CLASSPATH PATH
3.按Esc,回车:wq,回车保存文件,退出vi编辑器。
步骤4使环境变量生效。
> source .profile
- - - - -结束
设置用户oracle的环境变量成功后,所有的安装准备工作就完成了。您可以开始安装Oracle数据库11g。
安装Oracle数据库
过程
步骤1.作为用户oracle登录到服务器。
步骤2.上传安装文件。
步骤3. Go to the /home/software.
> cd /home/software/
步骤4.解压缩Oracle数据库11g的安装包
> unzip linux.x64_11gR1_database.zip
步骤5.到目录中存储Oracle Database 11g的安装文件
> cd database
步骤6.设置显示器;否则系统无法显示用于安装的GUI。
如果您通过远程工具执行安装,请运行以下命令:
> export DISPLAY=10.110.1.101:0.0
请注意
10.110.1.101是您运行远程工具的计算机的IP地址。
0:0是远程工具使用的端口号。
如果在本地服务器上安装,则以用户oracle的身份登录到服务器(不要使用su - oracle命令切换到用户oracle),并运行以下命令设置本地服务器的显示:
> export DISPLAY=:0.0
> xhost +
步骤7.启动Oracle数据库11g安装程序。
> ./runInstaller
不再上图,可以网上查看具体细节。
后续的过程
为了确保Oracle数据库实例可以连接到侦听器,必须创建网络配置文件tnsnames.ora。
配置Oracle数据库侦听器。
过程
步骤1.作为用户oracle登录到服务器。
步骤2.创建tnsnames.ora文件。
> cd /opt/oracle/app/oracle/product/11.1.0/obd/network/admin/
> vi tnsnames.ora
请注意:
/opt/oracle/app/oracle/product/11.1.0/obd是oracle数据库11g的Home路径。
步骤3.按o.将以下信息添加到tnsnames.ora文件。然后,将主机更改为服务器的实际IP地址或主机名。
请注意:
格式必须如下;否则,Oracle数据库无法正确解析内容。
第一行前面没有添加空格。
必须在从第二行到最后一行的每一行前面添加空格。
等号(=)后必须加空格;否则,Oracle数据库无法正确解析内容。
obd=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.31)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = obd)
)
)
obd = 本地连接的字符串。它可以包含任何字符。通常,它与Oracle SID相同。
ADDRESS = 侦听器的IP地址。
PROTOCOL =TCP 侦听器中使用的协议。
HOST =192.168.18.31 服务器的IP地址或主机名。
PORT = 1521 监听端口号。
SERVER = 服务类型。
SERVICE_NAME = obd 在侦听器中注册的Oracle数据库实例名。
步骤4.按Esc,输入:wq,回车保存信息,退出vi编辑器。
请注意:
如果您输入:q!在vi编辑器中按Enter键退出,文件将不会保存。
- - - - -结束
后续的过程
安装Oracle数据库时,只安装数据库软件,不创建数据库实例。在这种情况下,您需要在安装之后创建一个数据库实例。
创建Oracle数据库实例
不要通过telnet创建Oracle数据库实例;否则,在安装过程中无法显示GUI。
过程
步骤1.作为用户oracle登录到服务器。
步骤2.启动数据库侦听器。
> lsnrctl start
如果显示以下信息,则表示数据库侦听器已启动。
TNS-01106: Listener using listener name LISTENER has already been started
如果显示以下信息,则表示数据库侦听器已成功启动。
The command completed successfully
步骤3.设置显示器;否则系统无法显示用于安装的GUI。
如果您通过远程工具执行安装,请运行以下命令:
> export DISPLAY=10.110.1.101:0.0
请注意
10.110.1.101是您运行远程工具的计算机的IP地址。
0:0是远程工具使用的端口号。
如果在本地服务器上安装,则以用户oracle的身份登录到服务器(不要使用su - oracle命令切换到用户oracle),并运行以下命令设置本地服务器的显示:
> export DISPLAY=:0.0
> xhost +
步骤4.启动Oracle数据库实例的配置程序。
> dbca
不再上图,可以网上查看具体细节。
后续的过程
为了方便使用Oracle数据库,建议从操作系统开始设置Oracle数据库。
将Oracle数据库设置为从操作系统开始。
步骤1.作为用户oracle登录到服务器。
步骤2.打开/etc/oratab文件。
> vi /etc/oratab
步骤3.按i将文件设置为编辑模式。
步骤4.在obd中改变N:/opt/oracle/app/oracle/product/11.2.0/obd:N到Y
该语句位于文件末尾。
步骤5.按Esc,输入:wq,回车保存信息,退出vi编辑器。
步骤6.切换到用户根目录。
> su – root
The Password: is displayed, enter the password for the user root.
步骤7.打开或创建after.local文件在/etc/rc.d目录。
# vi /etc/rc.d/after.local
步骤8.按o键将文件设置为编辑模式。
步骤9.将以下信息添加到after.local文件后面的第一行。
su - oracle -c '$ORACLE_HOME/bin/lsnrctl start'
sleep 2s
su - oracle -c '$ORACLE_HOME/bin/dbstart'
步骤10.按Esc,输入:wq,回车保存信息,退出vi编辑器。
步骤11.设置可执行权限after.local文件。
# chmod +x /etc/rc.d/after.local
- - - - -结束
Linux下Oracle数据库的安装的更多相关文章
- linux下oracle数据库字符集修改
linux下oracle数据库字符集修改 0.RHEL6.7.oracle11gr2 1.登录oracle.在安装oracle的用户下进入数据库. $ sqlplus / as sysdba 2.查询 ...
- linux下oracle数据库的启动
linux下oracle数据库的启动 一.切换oracle用户 命令:su - oracle 二.运行sqlplus命令,进入sqlplus环境 命令:sqlplus /nolog (nolog参数表 ...
- Solaris 和linux 之oracle 数据库的安装
本篇博文前面是一些基础知识介绍,后面才是总结篇. 一.在solaris上面装oracle 10g教程 目前官网已经没有32位的oracle11g了,取而代之的都是64位的oracle11g,为了能在3 ...
- [工作相关] GS产品使用LInux下Oracle数据库以及ASM存储时的数据文件路径写法.
1. 自从公司的GS5版本就已经支持Linux下的oracle数据库通过安装工具自动安装注册了, 只不过路径需要使用linux的命名规则, 如图: /home/oracle/ 注意 最后是有一个 斜线 ...
- linux下Oracle数据库实例开机自启动设置
linux下数据库实例开机自启动设置 1.改动/oratab [root@org54 ~]# vi/etc/oratab --把N改为Y,例如以下提示 # This file is used ...
- linux 下oracle 11g静默安装(完整版)
1.操作系统及Oracle版本Linux版本:CentOS release 6.5Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Lin ...
- Linux下Oracle 11G XE 安装笔记
操作系统 [oracle@RAC02 ~]$ lsb_release -aLSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:cor ...
- Linux下oracle数据库启动和关闭操作
第一步:登陆 root登陆之后切换到oracle用户上,输入 su oracle 第二步:连接 在oracle用户下,输入 sqlplus /nolog 第三步:使用管理员权限 输入 connect ...
- Linux下Oracle client客户端安装
0.zip格式 (0)下载地址: a.Oracle官网 (1)安装过程: a.将zip文件分别解压到/software/下,放在同一个目录instandclient_11_2/下 b.在/softwa ...
随机推荐
- 13. Roman to Integer (JAVA)
Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 ...
- openal在vs2010中的配置
下载openal开发工具:相关资料可以在OpenAL官网http://connect.creativelabs.com/openal/default.aspx上获得.这里下载的SDK为OpenAL11 ...
- c#线程池中的异常
static void Main(string[] args) { //写日志 //使用线程池 ; i < ; i++) { ThreadPool.QueueUserWorkItem(new W ...
- AFNetworking Delete请求,报参数为空的错误
使用AFNetWorking进行网络请求的时候,AFNetWorking会默认把get head delete这三个方法的请求参数拼到了url的后面,然后造成body为空,一行代码解决: manage ...
- Android设备直接运行java项目?还杀不死?
思路:拿到dex可执行文件,使用android执行 使用idea创建java类库,写相关逻辑代码 使用idea导出该类库jar包 使用android dx工具 将jar文件转换为dex可执行文件 dx ...
- 解决InetAddress.isReachable(timeout)在windows xp始终返回false的bug
笔者最近在做产品,其中一个环节用到ping测试主机是否在线. 开发环境:Windows 7 64bit+JDK1.8 x64 以下是检测主机是否在线,开发环境中测试通过 public static b ...
- 使用jconsole分析内存情况-JVM
JVM调优分析演练: Jconsole中对内存为如下结构: 原始代码: public static void main(String[] args) { BigInteger [] pArr=new ...
- 解决删除镜像时image is referenced in multiple repositories
1.查看镜像 docker images rt@:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hours ago MB f8ab12e0 ...
- mysql too many connection 解决
最近的项目用了动态切换数据源起初感觉还好,后来发现每次切换数据库都会创建一个新的连接,这样就导致大量的sleep线程.而mysql的默认sleep时间是28800秒....默认最大连接数为151,这就 ...
- Sql 记录死锁
记录死锁 DBCC errorlog DBCC TRACEON (1204, 1222, -1); DBCC tracestatus 关闭跟踪标记DBCC TRACEOFF