一、环境准备
安装包:
1.VMware最新版,网上有注册码,搜索即可。
2.CentOS-7-x86_64-DVD-1511.iso
3.linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
4.用的过程中使用到SecureCRT和SecureFX
5.还用到Xmanager中的Xstart
以上觉得不是重点,不给下载地址,不描述安装过程,安装完CentOS 7,截图如下:
虚拟机安装简易安装GNOME桌面版本,跟上图一样,虚拟机安装CentOS后续单独把步骤写下来。
二、安装Oracle前准备
1.创建运行oracle数据库的系统用户和用户组
[sonny@localhost ~]$ su root
#切换到root
[root@localhost sonny]# groupadd oinstall
#创建用户组oinstall
[root@localhost sonny]# groupadd dba
#创建用户组dba
[root@localhost sonny]# useradd -g oinstall -g dba -m oracle
#创建oracle用户,并加入到oinstall和dba用户组
[root@localhost sonny]# passwd oracle
#设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
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@localhost sonny]# id oracle
# 查看新建的oracle用户
uid=1001(oracle) gid=1002(dba) groups=1002(dba)
[root@localhost sonny]#
为啥要创建oinstall用户组及dba组?这里可以暂不 ,有兴趣可以查看
#################################################
http://www.oracle.com/technetwork/cn/articles/hunter-rac11gr2-iscsi-2-092412-zhs.html#13
参考理论上单例按照需要3种用户组,实际只建两个oinstall和dba,后面再安装oracle数据库的时候把OSOPER组也设置是dba组。
a.oracle 清单组(一般为oinstall):
OINSTALL 组的成员被视为 Oracle 软件的“所有者”,拥有对 Oracle 中央清单 (oraInventory) 的写入权限。在一个 Linux 系统上首次安装 Oracle 软件时,
OUI 会创建 /etc/oraInst.loc 文件。该文件指定 Oracle 清单组的名称(默认为 oinstall)以及 Oracle 中央清单目录的路径。
b.数据库管理员(OSDBA,一般为 dba):
OSDBA 组的成员可通过操作系统身份验证使用 SQL 以 SYSDBA 身份连接到一个 Oracle 实例。该组的成员可执行关键的数据库管理任务,如创建数据库、启动和关
闭实例。该组的默认名称为dba。SYSDBA 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。不要混淆 SYSDBA
系统权限与数据库角色 DBA。DBA 角色不包括 SYSDBA 或 SYSOPER 系统权限。
c.数据库操作员组(OSOPER,一般为 oper):
OSOPER 组的成员可通过操作系统身份验证使用 SQL 以 SYSOPER 身份连接到一个 Oracle 实例。这个可选组的成员拥有一组有限的数据库管理权限,如管理和运行备份。
该组的默认名称为oper。SYSOPER 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。要使用该组,选择 Advanced 安装类型来安装 Oracle 数据库软件。
#################################################
2.创建oracle数据库安装目录
[sonny@localhost ~]$ su root
Password:
[root@localhost sonny]# mkdir -p /data/oracle
#oracle数据库安装目录
[root@localhost sonny]# mkdir -p /data/oraInventory
#oracle数据库配置文件目录
[root@localhost sonny]# mkdir -p /data/database
#oracle数据库软件包解压目录
[root@localhost sonny]# cd /data
[root@localhost data]# ls #创建完毕检查一下
database oracle oraInventory
[root@localhost data]# chown -R oracle:oinstall /data/oracle
#设置目录所有者为oinstall用户组的oracle用户
[root@localhost data]# chown -R oracle:oinstall /data/oraInventory
[root@localhost data]# chown -R oracle:oinstall /data/database
[root@localhost data]#
3.修改OS系统标识
oracle默认不支持CentOS系统安装,(Oracle Database 11g Release 2 的 OS要求请百度)
我安装是64位数据库,On Linux x86-64:Red Hat Enterprise Linux 7 (RHEL 7)
另外,CentOS7.0.1511 基于 RHEL7.2 参考
修改文件 /etc/RedHat-release
[sonny@localhost data]$ su root
Password:
[root@localhost data]# cat /proc/version #cat命令查询文件中内容,比较简单快捷。
Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015
[root@localhost data]# cat /etc/redhat-release #这里cat文件查看系统标示为CentOS需要修改为redhat-7
CentOS Linux release 7.2.1511 (Core)
[root@localhost data]# vi /etc/redhat-release
#这里修改文件,按i进行修改,删除第一行修改为redhat-7,按esc后输入 :wq 进行保存并退出
[root@localhost data]# cat /etc/redhat-release
redhat-7
[root@localhost data]#
4.安装oracle数据库所需要的软件包
重复一遍,我安装时Oracle Database 11g Release 2 64位数据库。
Oracle Database Package Requirements for Linux x86-64 如下
参考:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG
操作系统:Oracle Linux 7 and Red Hat Enterprise Linux 7
The following packages (or later versions) must be installed:
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
最保险办法,一个一个的安装,命令也很简单,反正文档要求高版本也可以:
[sonny@localhost data]$ su root
Password:
[root@localhost data]# yum install binutils
省略…
如果觉得麻烦,复制下面语句执行:
yum install -y binutils compat-gcc* compat-glibc* compat-libcap1
compat-libstd* compat-libstdc+±33 compat-libstdc+±33.i686
compat-libstdc+±33*.i686 elfutils-libelf elfutils-libelf-devel gcc
gcc-c++ glibc glibc-common glibc-devel glibc-devel.i686
glibc-devel*.i686 glibc-headers glibc.i686 glibc*.i686 ksh libaio
libaio-devel libaio-devel.i686 libaio-devel*.i686 libaio.i686
libaio*.i686 libgcc libgcc.i686 libgcc*.i686 libstdc++ libstdc+±devel
libstdc+±devel*.i686 libstdc++.i686 libstdc++.i686 libXp make
numactl sysstat unixODBC unixODBC-devel unixODBC-devel.i686
unixODBC*.i686
yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel
5.关闭防火墙 CentOS 7.2默认使用的是firewall作为防火墙
[sonny@localhost /]$ su root
Password:
[root@localhost /]# systemctl status firewalld.service
#查看防火墙状态,运行中
[root@localhost /]# systemctl stop firewalld.service
#关闭防火墙
[root@localhost /]# systemctl status firewalld.service
#再次查看防火墙状态,发现已关闭
[root@localhost /]# systemctl disable firewalld.service
#禁止使用防火墙(重启也是禁止的)
[root@localhost /]#
防火墙先禁用,搞好之后再配置,个人虚拟机,不用防火墙~~
6.关闭selinux(需重启生效)
[root@localhost /]# vi /etc/selinux/config
[root@localhost /]# cat /etc/selinux/config
SELINUX=disabled #此处修改为disabled
[root@localhost /]#
为啥要关闭selinux?因为selinux太高深,非专业人士搞不懂~~
7.修改内核参数
红色部分为添加代码
[sonny@localhost /]$ su root
Password:
[root@localhost /]# vi /etc/sysctl.conf
[root@localhost /]# cat /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
[root@localhost /]#
使配置参数生效
[root@localhost /]# sysctl -p
[root@localhost /]#
8.对oracle用户设置限制,提高软件运行性能(红色为添加部分)
[sonny@localhost /]$ su root
Password:
[root@localhost /]# vi /etc/security/limits.conf
[root@localhost /]# cat /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
End of file
[root@localhost /]#
9.配置用户的环境变量(红色部分为添加代码)
[root@localhost /]# vi /home/oracle/.bash_profile
[root@localhost /]# cat /home/oracle/.bash_profile
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题
[root@localhost /]#
使上述配置立即生效:
[oracle@localhost /]$ su root
Password:
[root@localhost /]# source /home/oracle/.bash_profile
[root@localhost /]#
10.上述都搞定了,上传安装包我喜欢SecureFX,将oracle安装包上传到/usr/local/src
11.解压安装包(root用户权限)
[oracle@localhost /]$ cd /usr/local/src
#进入/usr/local/src目录
[oracle@localhost src]$ ls
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
[oracle@localhost src]$ unzip linux.x64_11gR2_database_1of2.zip -d /data/database/
#解压
(省略…)
[oracle@localhost src]$ unzip linux.x64_11gR2_database_2of2.zip -d /data/database/
#解压
(省略…)
[oracle@localhost src]$ su root
Password:
[root@localhost src]# chown -R oracle:oinstall /data/database/database/
[root@localhost src]#
三、oracle安装,真正开始安装,前面都是为安装做的准备工作。
(0)前置(配置图形界面先决条件):
这里说明下,可能由于我安装的CentOS分辨率问题,导致oracle图形界面过程中的某些弹窗无法正常弹出
安装过程弹框界面是一个白色竖线一般,整个界面无法点击next按钮,最好的解决办法:这里推荐使用Xmanager工具中的Xstart。
Xstart使用的前提要求CentOS上安装了xterm
保持CentOS联网状态,以root用户登录,执行命令:yum install -y xterm
安装完毕后,启动Xstart,输入主机IP并用oracle用户登录,
输入命令:/usr/bin/xterm -ls -display $DISPLAY
点击运行后,以本机的图形界面弹出linux命令终端,在这个终端执行安装命令可正常处理弹窗问题。
启动oralce安装,到/data/database/database/目录下,执行runInstaller
为了避免安装过程出现乱码,执行之前,输入命令:export LANG=en_US.UTF-8
启动oracle安装:./runInstaller
(1)进入安装界面,如下图所示,去掉“I wish receive security via My Oracle Support”的勾选,单击“next”,选“yes”继续。
(2)选中“Create and configure a database”,点击“next”
(3)选中“DesktopClass”,点击“next”
(4)这里如果安装前准备按照文档操作的话,这里只需填写passwrod即可(password都设置成orcl,无视警告),点击“next”
(5)之后的配置一般都选择默认,当流转到这个界面时,选中Character sets选项,
修改字符集为UTF-8后继续“next”
(6)之后配置继续按照默认即可,当流转到这个界面时,可以为所有用户设置密码,我设置的abc123,点击“next”
(6)流转到这个页面,如果之前安装依赖包会有下面图中包提示失败,一个一个检查package,在准备阶段中漏掉的,此处再安装,有些系统报错是因为现有的包的版本比检测要高,最后忽略即可。(点击Check_Again 多检查几次)
(7)之后点击next,Finish,开始执行安装,等待安装,安装过程会有个别报错,暂时忽略,弹出框中选择continue
。
安装大概30分钟左右,等弹出这个页面时,点击Password Management(密码管理)按钮,进入密码管理页面,发现sys,system用户没有被勾选,说明是可用的,这里我将sys用户密码设置为sys,system用户密码设置为system。如果新手练习用,建议再放开两个用户Scott和Hr,分别设置密码为tiger和hr,保存后点击OK按钮。
(8)安装完成后,退出oracle账户,进入root账户。
在桌面单击右键,选择“在终端中打开”,输入:su - oracle
输入密码,切换到oracle用户。
启动监听:lsnrctl start #必须将监听启动,如果之前防火墙没关,还需要关闭防火墙。
输入:sqlplus /nolog
输入:conn sys/sys@orcl as sysdba
其中,orcl是实例名,sys是它的密码。如果出现下图所示的“Connected.”则连接成功,说明数据库建立成功(这里是在CentOS终端上使用的)。
如果在window使用SecureCRT等工具连接CentOS的可以
输入:sqlplus scott/tiger@192.168.78.130:1521/orcl
,回车(查询ip,使用ifconfig 命令)
查询当前用户:show user;
查询用户下有几张表:select * from tab;
查询表字段:desc emp ;
#emp是表名
查询表数据:select * from emp;
退出SQL命令模式exit;
#################################
如果使用的是SecureCRT,如果无法使用BackSpace和delete按钮,
解决方法:
先打开Options–>Session Options–>Terminal–>Emulation(中文:选项–>回话选项–>终端–>仿真) 界面下 :
1.终端(T):选择Linux,默认为VT100.
2.ANSI颜色(A)打上勾。
然后打开Options–>Session Options–>Terminal–>Emulation–>Mapped Keys(中文:选项–>回话选项–>终端–>仿真–>映射键)
选中复选框 (Backspace sends delete、 Delete sends backspace)
#################################
(9)、oracle的配置
1、创建表空间
打开终端,输入:su - oracle
输入密码:
输入:sqlplus “/as sysdba”
(此处是用dba身份登录数据库,系统的超级用户)
创建临时表空间
:
create temporary tablespace table_test tempfile '/data/oracle/table_test.dbf ' 点击Enter
size 1024m 点击Enter
autoextend on 点击Enter
next 100m maxsize 10240m 点击Enter
extent management local; 点击Enter
说明:
-
table_test是临时表空间的名字
-
/data/oracle/table_test.dbf是在/data/oracle下建一个名为table_test.dbf的表(注意:单引号为英文状态下的输入),
-
1024m是表空间初始大小,
-
100m是表空间自动增长大小,
-
10240m是表空间最大的大小。
2、创建数据表空间
create tablespace data logging datafile ‘/data/oracle/data.dbf’ 点击Enter
size 1024m 点击Enter
autoextend on 点击Enter
next 100m maxsize 10240m 点击Enter
extent management local; 点击Enter
3、创建用户并指定表空间
create user data identified by 123 default tablespace data temporary tablespacetable_test;
其中data为用户名,123为用户密码,table_test是临时表空间的名字。
4、给用户授予权限
grant dba to data;
至此,oracle在centos7下的安装和配置也就完成了,别人已经可以访问你的数据库了。