本文将讲解Linux系统中怎么安装Oracle, 本文设计的系统为阿里云的CentOS 7.3系统 , Oracle为oracle 12g
1. 环境
Yum安装环境
1 | yum install -y binutils* |
32位下载
1 | yum install -y libgcc-4.8.5-36.el7.i686 |
2. 创建用户
1 | # groupadd oinstall |
出现uid=500(oracle) gid=500(oinstall) 组=500(oinstall),501(dba)
修改密码
1 | #passwd oracle |
3. 修改用户配置文件(环境变量)
vi .bash_profile
1 | export PATH |
注意: ORACLE_SID改成你自己的一般为orcl或xe , ORACLE_HOME的地址改成你自己的安装地址
{例如oracle 11g($ORACLE_BASE/product/11.2.0/db_1) , oracle 12g ($ORACLE_BASE/product/12.1.0/db_1),}
source .bash_profile –使修改生效
4. 创建相关目录
1 | # mkdir -p /data-1/app/oracle |
5. 修改内核参数
vi /etc/sysctl.conf
1 | fs.aio-max-nr= 1048576 |
sysctl -p – 使修改生效
6. 修改ssh限制
vi /etc/security/limits.conf
1 | oracle soft nofile 131072 |
7. 解压数据库压缩⽂件
如果没有unzip ,就使用命令 yum install -y unzip 下载
unzip linuxamd64_12102_database_1of2.zip && linuxamd64_12102_database_2of2.zip
1 | # mv database/ /data-1/oracle |
8. 安装
su到oracle用户下,开始安装(如果报错,可以在图形化界面中使用oracle用户登录)
cd /data-1/oracle/
./runInstaller
如果到这里没有报错的话说明一切顺利,如果报错了先看看有哪些错
(1) Checking swap space: 0 MB available, 150 MB required. Failed <<<<
解决办法:
1、检查 Swap 空间在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件。运行以下命令:
1 | swapon -s |
如果返回的信息概要是空的,则表示 Swap 文件不存在。
2、检查文件系统在设置 Swap 文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap 。运行以下命令:
1 | df -hal |
3、创建并允许 Swap 文件下面使用 dd 命令来创建 Swap 文件。检查返回的信息,还剩余足够的硬盘空间即可。
1 | dd if=/dev/zero of=/swapfile bs=6144 count=3072k |
参数解读:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >bs=bytes:同时设置读入/输出的块大小为bytes个字节count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
4、格式化并激活 Swap 文件上面已经创建好 Swap 文件,还需要格式化后才能使用。运行命令:
1 | mkswap /swapfile |
激活 Swap ,运行命令:
1 | swapon /swapfile |
以上步骤做完,再次运行命令:
1 | swapon -s |
你会发现返回的信息概要:
1 | Filename Type Size Used Priority |
如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:
1 | /swapfile swap swap defaults 0 0 |
最后,赋予 Swap 文件适当的权限:
chown root:root /swapfile
chmod 0600 /swapfile
(2) Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
解决办法:
使用root用户执行xhost +操作;
出现如上图所示,解决办法:
1 | yum whatprovides "*/xhost" |
效果
根据不同得到的运行
1 | yum install xorg-x11-server-utils-7.7-20.el7.x86_64 |
在试下 #xhost + 发现xhost可以用但是报unable to open display “”
解决办法:
第一步:首先看centos是否运行了vncserver:
1 | ps -ef|grep -i vnc |
如果无进程信息返回,则启动vncserver:
[root@localhost ~]# vncserver
启动成功如下:
New ‘localhost:1 (root)’ desktop is localhost:1
Starting applications specified in /root/.vnc/xstartupLog file is /root/.vnc/localhost:1.log
如果启动成功,跳到第三步;如果启动vncserver时系统报错【-bash: vncserver: 未找到命令】,则说明未安装vncserver,进入第二步
第二步:
开始第二步之前,确定已配置好系统yum源(本地镜像或网络镜像都可)。
使用命令:
[root@localhost ~]# yum whatprovides “*/vncserver” —-搜索包名
然后使用命令:
[root@localhost ~]# yum -y install tigervnc-server-1.8.0-13.el7.x86_64 (此为从yum源搜到的包名)—-进行vncserver的安装
最后执行命令:
[root@localhost ~]# vncserver —-启动vncserver
首次运行vncserver会提示输入两次密码,尽量设置简单易记的就行,设置完成后重启vncserver
第三步:
设置DISPLAY临时变量(注意:经测试,设置DISPLAY临时变量仅单次有效,如调出图形化界面后中途退出,需重新设定一次并重新执行第三步之后的步骤),命令为:
[root@localhost ~]# export DISPLAY=xxx.xxx.xxx.xxx:x.x —-必须以root身份
第四步:验证临时变量是否有效:
[root@localhost ~]#xdpyinfo |grep “name of display”
有结果返回则说明生效
如果报错:-bash: xdpyinfo: 未找到命令
[oracle@linux-oracle6 ~]$ /usr/bin/xdpyinfo
-bash: /usr/bin/xdpyinfo: No such file or directory
发现该命令不存在,开始怀疑是xdpyinfo问题,于是安装xdpyinfo:
[root@linux-oracle6 ~]# yum -y install xdpyinfo
然后再执行xdpyinfo |grep “name of display”命令
xdpyinfo: unable to open display “:0.0”.
第五步:
这时候将ssh客户端退出一下,重新连接服务器
再次输入echo $DISPLAY 发现 输出为:localhost:10.0
输入命令:xhost +
[root@localhost ~]#xhost +
返回信息为:access control disabled,clients can connect from any host,则说明设置成功
输入xdpyinfo ,发现这个也正常了。
这里还需要在root用户下下载xclock(如果你的系统中没有的话)
1 | yum -y install xclock |
然后执行 xclock, 出现时钟则表示成功
[root@localhost ~]#xclock
第六步: 退出ssh客户端,以oracle用户登录:
第七步: 查看DISPLAY变量的值
输入xdpyinfo |grep “name of display” 如果和在root用户下一样直接执行第八步,否则在oracle用户下设置DISPLAY临时变量,使用命令:
[oracle@localhost ~]#export DISPLAY=xxx.xxx.xxx.xxx:x.x
这里DISPLAY后面跟的一串数字跟第三步在root用户下设置的一模一样
再使用命令查看一下
[oracle@localhost ~]#xdpyinfo |grep “name of display”—-如果跟第七步输入的临时变量信息一致,则说明成功,可以开始数据库安装
第八步:进入数据库安装文件目录,执行./runInstaller进行数据库安装
配置邮箱
选择仅安装数据库
选择语言
指定环境变量⽬录
选择数据库组
预览
点击install ,在下载的过程中会弹出需要执行的两个脚本
一定要用root执⾏这两个脚本!!!
至此安装完成。
9. 配置数据库 执行netca创建监听
安装成功后如果打不开sqlplus或者netca ,在oracle用户下看看.bash_profile文件文件中是否配置了$ORACLE_BASE和$ORACLE_HOME, 如果没有的话,就把之前的添加内容再在这里添加一下
10. 执行dbca开始配置数据库
这里是oracle的环境变量
Initialization Parameters,内存分配20%(测试库所以分⼩小⼀一些,⽣生产库可以分配 较⼤大的⽐比如40%60%等),
字符集为GBK
至此配置结束!
安装成功后如果打不开sqlplus ,在oracle用户下看看.bash_profile文件文件中是否配置了$ORACLE_BASE和$ORACLE_HOME, 如果没有的话,就把之前的添加内容再在这里添加一下
11. 创建用户
输入sqlplus命令进行登录,如果登录不进去则在oracle用户下执行startup ,
[oracle@localhost oracle]#startup
1 | ORACLE 例程已经启动。 |
数据库装载完毕。
创建用户:必须以sqlplus / as sysdba 登录
1 | create user glsdb identified by glsdb; |
创建用户怕没创建成功可以使用命令查看用户是否存在(请看附件)
创建表空间:1
create tablespace glsdb_data datafile '/home/oracle/oradata/glsdb_data.dbf' size 1500M autoextend on next 5M maxsize 3000M;
怕表空间没创建好可以使用命令查看表空间(请看附件)
创建好表空间,还需要将表空间分配给用户.1
alter user glsdb default tablespace glsdb_data;
给用户分配了表空间,用户还不能登陆(没有登录权限),因此还需要为用户分配权限 (create session为登录权限)1
2
3
4
5
6
7
8
9
10
11
12grant create session,create table,create view,create sequence,unlimited tablespace to zs;
grant connect,dba to GLSDB_CS;
grant create any sequence to GLSDB_CS;
grant create any table to GLSDB_CS;
grant delete any table to GLSDB_CS;
grant insert any table to GLSDB_CS;
grant select any table to GLSDB_CS;
grant unlimited tablespace to GLSDB_CS;
grant execute any procedure to GLSDB_CS;
grant update any table to GLSDB_CS;
grant create any view to GLSDB_CS;
此时就能使用新建的用户glsdb 使用sql developer等连接工具连接数据库了
附件:
1 | select * from dba_users; --查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system |