一、准备工作

1、下载Oracle的安装介质
Oracle 11g R2 Linux版本有两个压缩文件包,都需下载安装才会完整。
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
下载地址:网盘分享
链接:https://pan.baidu.com/s/1Y9hwNvlm5JIDMNLa0P_csQ
提取码:mhms
链接:https://pan.baidu.com/s/1QXQHy_FYRh2KmbpfQpXMng
提取码:gae2
2、检查设置服务器内核安装环境
(1)检查操作系统补丁包
(1)以root用户登录系统。
(2)使用uname -r命令查看kernel版本
(3)在root账号下执行如下脚本命令

for dep_rpm in elfutils-devel unixODBC* unixODBC.i686 unixODBC-devel.i686 binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 vim epel-release lrzsz unzip xorg*;do yum install $dep_rpm -y;done

(2)修改内核参数
(1)通过修改文件/etc/sysctl.conf,增加要修改的内核参数值

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 524288
kernel.shmmax = 2147483647
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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304

查看linux服务器的位数:getconf LONG_BIT
内核参数的详解:
(1)kernel.shmmax
32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。若物理内存大于4GB,也取4GB-1byte。
64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12_1024_1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。
(2)kernel.shmall
查看系统默认的值-----------getconf PAGESIZE
默认是4096(字节 4K
一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求。
(2)运行命令进行参数修改。

/sbin/sysctl -p

(3)检查参数是否生效

# /sbin/sysctl -a | grep sem
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep aio-max-nr
# /sbin/sysctl -a | grep net.ipv4.ip_local
# /sbin/sysctl -a | grep rmem
# /sbin/sysctl -a | grep wmem

3、设置oracle用户的shell限制
(1)以root用户登录。
步骤 2 修改文件/etc/security/limits.conf,追加以下内容(如果不存在)。

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

(2)修改文件/etc/pam.d/login,追加以下内容。

session  required   pam_limits.so

(3)修改文件/etc/pam.d/su,追加以下内容。

session required pam_limits.so

(4)修改文件/etc/profile,追加以下内容。

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

4、检查SWAP空间大小
(1)以root用户登录。
(2)检查物理内存大小。

# grep MemTotal /proc/meminfo

1881276 KB【物理内存过于小?】
(3)检查SWAP空间大小。

# grep SwapTotal /proc/meminfo

4063228 KB
SWAP空间大小建议值如图所示。

5、创建用户和组
(1)以root用户登录。
(2)创建dba组,先检查dba组是否存在和/或组id是否一致。

#grep dba /ect/group

无输出则表示dba组不存在。如果dba组已存在,但组id不一样,则使用以下命令删除dba组。

# /usr/sbin/groupdel dba

创建dba组。

#/usr/sbin/groupadd -g 200 dba

(3)创建oinstall组。
先检查oinstall组是否存在和/或组id是否一致。

#grep oinstall /etc/group

无输出则表示oinstall组不存在。如果oinstall组已存在,但组id不一致,则使用以下命令删除oinstall组。

#/usr/sbin/groupdel oinstall

创建oinstall组。

#/usr/sbin/groupadd -g 201 oinstall

(4)创建oracle用户。
检查oracle用户是否存在和/或用户id是否一致。

#grep oracle /etc/passwd

无输出则表示Oracle用户不存在。如果Oracle用户已存在,但用户id不一致,则使用以下命令删除Oracle用户。

# /usr/sbin/userdel -rf oracle

创建oracle用户。

#/usr/sbin/useradd -u 300 -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle

修改oracle用户密码。

passwd oracle

6、创建安装目录并授权
(1)以root用户登录。
(2)赋予目录正确的权限。
对文件系统/opt/oracle赋权。

# mkdir /opt/oracle;chown -R oracle:oinstall /opt/oracle
# chmod -R 775 /opt/oracle

对文件系统/opt/oraadm赋权。

# mkdir /opt/oraadm ;chown -R oracle:dba /opt/oraadm
# chmod -R 770 /opt/oraadm

创建目录/usr/local/bin并赋权。
检查/usr/local/bin目录是否存在,如不存在则需创建该目录,并赋予755权限。

#mkdir /usr/local/bin
#chmod 755 /usr/local/bin
#ll /usr/local |grep bin

赋权/tmp目录权限。
检查/tmp是否具有1777权限,如不具备则赋予/tmp目录1777权限。

#chmod 1777 /tmp
#ll / |grep tmp

7、设置oracle用户环境变量
(1)以oracle用户登录操作系统。
(2)编辑环境变量文件。
注意:
ORACLE_BASE,ORACLE_HOME,ORACLE_SID,NLS_LANG请根据实际情况进行设置。
ORACLE_SID唯一的标识一个实例,一般以数据库名加上实例号为命名规范,例如:有两个实例,数据库名称为suseora,实例1命名为suseora1,实例2命名为suseora2,依次类推,这里_数据库实例设置为orcl_。
NLS_LANG格式为区域_语言.字符集,字符集必须和数据库保持一致。

cd /home/oracle/.bash_profile
$ vi .bash_profileexport ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/11gR2/db
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib
export LD_LIBRARY_PATH
SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib
export SHLIB_PATH
# Set shell search paths:
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:/usr/local/bin
# CLASSPATH must include the following JRE locations:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

(3)执行source .bash_profile命令,使环境变量生效。
(4)执行env命令,确认环境变量。
8、拷贝安装文件并创建安装目录
(1)以root用户登录。
(2)将oracle安装文件以二进制的方式拷贝至节点1的“/opt/oraadm”中,如下所示。如果没有oraadm则创建并授权777权限。
注:从服务器下载文件到本地某路径:scp root@192.168.10.113 /home/mysql/MySQL-server-5.6.27-1.rhel5.x86_64.rpm C:下载软件
将本地某文件上传至服务器:scp C:下载软件jdk-8u144-linux-x64.tar.gz root@192.168.10.113 /home/mysql
(3)解压缩安装文件,并赋予权限。
安装unzip命令

yum install -y unzip zip

更改oracle介质zip为777权限

# cd /opt/oraadm
# unzip /opt/oraadm/linux.x64_11gR2_database_1of2.zip
# unzip /opt/oraadm/linux.x64_11gR2_database_2of2.zip
# chmod 770 -R /opt/oraadm/database
# chown oracle:dba -R /opt/oraadm/database
# mkdir grid
# chmod 770 -R /opt/oraadm/grid
# chown oracle:dba -R /opt/oraadm/grid

(4)创建Inventory目录
创建目录/opt/oraInventory,并使oracle:oinstall为其所有者。
以root用户登录,创建目录/opt/oraInventory。

# mkdir /opt/oraInventory

使oracle:oinstall为该目录所有者。

# chown oracle:oinstall /opt/oraInventory
# chmod 770 /opt/oraInventory

9、搭建Xstart环境
(1)首先保证linux服务器已安装“xorg-x11-xauth”软件包,否则会报错:“已拒绝X11转移申请”。
如果没有安装图形界面,则需要先安装图形化安装包。
切换为root账号,配置Display

 [root@vlxcndcz01bpmth ~]#yum install xorg-x11-xauth.x86_64[root@vlxcndcz01bpmth ~]#yum install xterm[root@vlxcndcz01bpmth ~]#yum install xclock方式一:[root@vlxcndcz01bpmth ~]#export DISPLAY=172.20.10.3:0.0(本地IP而不是服务器IP):0.0方式二:#编辑/etc/profile文件,添加内容:export DISPLAY=:0.0
[root@vlxcndcz01bpmth ~]# vi /etc/profile
[root@vlxcndcz01bpmth~]# cat /etc/profile
#省略……
export DISPLAY=172.20.10.3:0.0

(2)配置xmanager
确保主机名配置一致否则,会报INS-06101错误
[INS-06101] IP address of localhost could not be determined

(3)打开xstart配置连接主机IP以及配置命令,点击运行/usr/bin/xterm -ls -display $DISPLAY

报错:DISPLAY not set. Please set the DISPLAY and try again.
解决:切换到root下,执行export DISPLAY=172.20.10.3:0.0,再执行xhost +,再切换到oracle
su oracle
/opt/oraadm/database/runInstaller

取消配置安全更新

不勾选“I wish to receive security updates via My Oracle Support”,选择“Next”。

取消安全更新,单击“Yes”。
选择安装方式,选择“Install database software only”,单击“NEXT”。

指定安装类型,选择“Single instance database installation”

选择安装语言

选择软件版本,选择“Enterprise Edition”,单击“Next”。

指定安装目录,在Oracle Base中填写“/opt/oracle”,即oracle用户的环境变量O R A C L E B A S E 。 在 S o f t w a r e L o c a t i o n 中 填 写 “ / o p t / o r a c l e / p r o d u c t / 11 g R 2 / d b ” , 即 o r a c l e 用 户 的 环 境 变 量 ORACLE_BASE。 在Software Location中填写“/opt/oracle/product/11gR2/db”,即oracle用户的环境变量ORACLE
BASE。在SoftwareLocation中填写“/opt/oracle/product/11gR2/db”,即oracle用户的环境变量ORACLE_HOME。


设置操作系统用户组,Database Administrator Group 选择“dba”,Database Operator Group 选择“dba”,单击“Next”。


安装概要检查,检查没有问题,单击“Install”按钮进行安装。由于系统中已经存在更新的软件包,以下错误可以忽略。

安装概要检查结果:

1、对于shmall问题:点击fix and check again,打开新的终端按照步骤进行,然后点击OK,继续检查。

2、对于semmni,在内核设置处已经设置,忽略;packages安装包也可忽略。
3、architecture—

oracle的安装版本不正确,本系统需要安装linux64位的
5、安装过程中会出现如下报错,解决方案如下。
错误1---------

解决方案===
切换回oracle用户,修改
/opt/oracle/product/11gR2/db/ctx/lib/ins_ctx.mk文件中的配置
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) 修改为
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
错误2---------

解决方案===
需要修改,/opt/oracle/product/11gR2/db/sysman/lib/ins_emagent.mk文件中的配置,将文件中的
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) 修改为
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11

继续:打开终端以root用户执行以下命令,执行的时候出现一些简单问题,直接点击enter即可

安装成功,如下提示

最后检查安装错误,cat /opt/oracle/product/11gR2/db/install/make.log

二、配置ORACLE监听器

配置数据库连接字符串:协议,地址,端口等
(1)启动NETCA。
用oracle用户登录节点1启动NETCA。选择“Cluster configuration”。

默认的端口名称

选择TCP

选择端口范围1500-1600

提示端口被占用?
勾选Automatic Maintenance Tasks界面中的“Enable automatic maintenance tasks”。
解决方案修改.bash_profile中的ORACLE_HOSTNAME为hostname

三、创建oracle数据库

使用操作系统oracle用户调用DBCA进行安装
(1)以oracle用户登录节点1。
(2)启动DBCA安装界面。

注意:只有 su - oracle才能启用oracle环境,而非su oracle
su oracle只切换用户,而非环境变量,环境变量仍然是root的,不会执行oracle主目录中的profile脚本。
上述报错解决-------export DISPLAY=172.20.10.3:0.0
输入dbca后无反应=======在Xstart中调用终端而非Xshell中。



填写数据库名


接下来都是默认设置,图片略过
DBCA运行完毕,数据库建立,完成数据库创建操作。

登录数据库进行验证。
数据库实例启动后,登录数据库确认数据库状态。

四、oracle创建其他用户

oracle的权限分为系统权限和对象权限。系统权限可以让用户执行特定的指令,比如创建用户create table创建表,grant any privilege为用户赋予任何系统权限。对象权限指的是用户可以对各个对象进行操作,delete允许用户删除表或视图的行,select允许用户从表或视图、序列(sequences)与快照(snapshots)查询信息。
每个oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。
一、创建用户
oracle内部有两个建好的用户:system和sys。用户可直接登录到system用户以创建其他用户,因为system具有创建别 的用户的 权限。 在安装oracle时,用户或系统管理员首先可以为自己建立一个用户。
语法[创建用户]: create user 用户名 identified by 口令[即密码];
例子: create user test identified by test;
语法[更改用户]: alter user 用户名 identified by 口令[改变的口令];
例子: alter user test identified by 123456;
二、删除用户
语法:drop user 用户名;
例子:drop user test;
若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。
语法: drop user 用户名 cascade;
例子: drop user test cascade;
三、授权角色
oracle为兼容以前版本,提供三种标准角色(role):connect/resource和dba.
(1)讲解三种标准角色:
1》. connect role(连接角色)
–临时用户,特指不需要建表的用户,通常只赋予他们connect role.
–connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。
–拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他 数据的链(link)
2》. resource role(资源角色)
–更可靠和正式的数据库用户可以授予resource role。
–resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
3》. dba role(数据库管理员角色)
–dba role拥有所有的系统权限
–包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有
(2)授权命令
语法: grant connect, resource to 用户名;
例子: grant connect, resource to test;
用户:创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间;创建用户后,可以在用户上,创建表、存储过程等等其他数据库对象;
表:是数据记录的集合;
创建过程: 表空间—>用户—>表;
所属关系: 表空间 包含 用户 包含 表;

五、管理工具sql developer进行连接

附:
如果本机安装有Oracle数据库,用PLSQL Dev 连接数据库自然没有什么问题,但是如果本机没有安装oracle 客户端,要连接非本地机的oracle DB,那么一种方法就是在本地也安装Oracle,或者安装类似oracle develop 10g开发套件,这些安装方法比较麻烦,安装下来占用磁盘空间和系统资源,特别是oracle数据库启动的时候大量占用系统服务和资源,不是理想的方法。
安装使用过PLSQL Dev都知道,要连接数据库,必须配置TNS(Transparence Network Substrate),而直接安装PLSQL Dev 之后,本机是没有Oracle HOME的注册表项,连网络连接配置项都没有,PLSQL Dev 就是一个文本编辑器而已。
PLSQL Dev 连接远程oracle的一个有效解决方法使使用OCI。ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口函数,通过在第三代程序设计语言中进行调用可达到存取ORACLE数据库的目的。本文介绍PLSQL Dev如何使用OCI的实例连接远程数据库的方法。
1、windows安装sql developer并连接centos的oracle
(1)安装
下载地址:
链接:https://pan.baidu.com/s/1ojXGysHDCpf80EXussa5EA
提取码:5ddp






(2)连接设置
1、下载轻量级免安装的客户端:
链接:https://pan.baidu.com/s/10Id7JzTGJ3L4YTVPXct2Pg
提取码:1zrm
解压到C:下载软件instantclient_12_2
拷贝服务端目录“/opt/oracle/product/11gR2/db/network/admin/tnsnames.ora”到客户端的“nstantclient-basic-nt-11.2.0.3.0NETWORKADMIN“目录,该目录没有的话需要创建。
修改tnsnames.ora的内容

# tnsnames.ora Network Configuration File: /opt/oracle/product/11gR2/db/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.114)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))

2、开启oracle监听器
su - oracle
lsnrctl ------查看监听器
status ------状态
start ------打开监听
报错1:
listener does not currently konw of service requested in connect descriptor(监听程序当前无法识别连接描述符中请求的服务)
*检查tnsnames.ora的内容;
*检查oracle是否启动:
sqlplus /nolog;
conn as sysdba;
select status from v$instance;—查看视图,查看当前实例的状态。
若没有启动,则startup;进行启动。不要使用startup nomount启动,连接时会报错。

2、centos上安装sql developer并连接该服务器的oracle
(1)下载
(2)连接设置

CentOS7安装Oracle数据库的全流程相关推荐

  1. Centos7 安装oracle数据库

    参考的内容: http://docs.oracle.com/cd/E11882_01/install.112/e24325/toc.htm#CHDCBCJF http://www.cnblogs.co ...

  2. CentOS 7.2安装Oracle数据库

    1   安装环境 本文在虚拟机CentOS系统上安装oracle数据库,具体版本信息如下 软件  版本       文件名 备注 Vmware workstation 12.0.0 VMware-wo ...

  3. Oracle | CentOS7安装Oracle19c数据库(RPM包)

    一. 准备工作 (1)当yum源可用时,该步可以省略 首先去Oracle官网下载第一个包Oracle Database 19c (19.3) for Linux x86-64 (RPM) 下载链接:h ...

  4. postgresql定义访问ip与用户_Postgresql-12.1最新版本在线安装以及配置使用全流程

    Postgresql-12.1最新版本在线安装以及配置使用全流程 Postgresql-12.1简单介绍 PostgreSQL 12.1 已经发布,该版本在各方面都得到了加强,包括显著地提升查询性能, ...

  5. oracle虚拟机导入表,在Linux虚拟机上安装Oracle数据库超完整版!)

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 在介绍并安装了Oracle数据库之后,我觉得有必要记录一下我所踏入的陷阱(本文几乎包含了安装Oracle时遇到的所有 ...

  6. CentOS 7 腾讯云服务器 Linux无图形化界面静默安装oracle数据库.

    服务器基础信息 腾讯云 CentOS7.2 64位 root登录系统查看一下版本信息 CentOS Linux release 7.2.1511 (Core) 在安全组中将ORACLE默认通讯端口 T ...

  7. Linux系统中安装Oracle 数据库操作

    我的centos7是在virtualbox下安装的,安装Oracle安装了好久好久,现将详细操作步骤写下来. 一.安装的硬件要求 1.内存: 要求:内存最小1G,推荐2G或者更高.呃呃呃 查看命令:# ...

  8. Linux环境搭建:CentOS7安装Oracle

    CentOS7 安装Oracle 11.2.0 材料 [root@bogon yum.repos.d]# rpm -qi centos-release Name : centos-release Ve ...

  9. 如何安装Oracle数据库自带的HR Sample Schema

    本文参考了此文档. 如果希望使用Github安装较全的Sample Schema,可参见如何使用github安装Oracle 数据库12c Sample Schema (示例Schema) 数据库安装 ...

最新文章

  1. Asp.Net MVC3.0网站统计登录认证的在线人数
  2. Java IO: 网络
  3. 翻译: Waf 教程
  4. 大数据NoSQL技术之Couchbase Server数据库详解
  5. 1043 输出PATest (20分)_23行代码满分
  6. JavaScript数组迭代方法(图解)
  7. 宋志平:麻省理工创新体系带给我的3个思考
  8. beyond company30天到期
  9. WCF 第十三章 可编程站点 使用AJAX和JSON进行网页编程
  10. memcache 知识点
  11. 1.7_heap_sort_堆的向下调整堆排序
  12. Vue源码分析 - compile.js
  13. [STL源码剖析]RB-tree的插入操作
  14. 思聪吃热狗(双人版)
  15. 回顾线性系统和非线性系统
  16. 人工智能伦理分论坛的报告
  17. 100层楼,2个鸡蛋问题
  18. CNN网络架构学习:Chapter-5-ResNet(附代码tensorflow)
  19. MDWechat(微信美化)
  20. 初级软件测试工程师的工资一般多少?

热门文章

  1. 对C#、.Net、.Net Frameworke、托管和非托管代码的具体理解
  2. PHPnow 是什么?
  3. 翻译:Swarm intelligence群体智慧
  4. QR code(二维码)
  5. 牛客网 |复数集合( 北邮往年复试题)
  6. matlab的magic函数,python实现类似于Matlab中的magic函数
  7. GetLastError 错误码全解析
  8. 基于HTML+CSS+JavaScript制作简单的大学生网页设计——我的家乡湖南
  9. 手机裂脑纪:中国式审美还有救吗?
  10. python 乘法口诀表