CentOS下图形界面安装oracle
1.安装说明
使用到的工具:
软件名称版本软件包
系统centOS6.8CentOS-6.8-x86_64-bin-DVD1.iso
数据库ORACLE11glinux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
ssh工具Xshell5
文件传输工具Xftp
图形化显示工具XmingXming-6-9-0-31-setup.exe
安装用户:
我安装时使用到的是普通用户myos,并不是大部分教程当中使用到的oracle.
[root@localhost myos]#id myos
uid=500(myos) gid=501(oinstall)groups=501(oinstall),502(dba)
2.切换到root用户
因为我是在自己搭建的虚拟机上进行的操作,所以在普通用户和root之间切换用的是su命令,在实际项目开发过程中,推荐使用sudo命令来切换,这样利于系统安全性管理。
3.修改操作系统核心参数
[root@localhost myos]#vi/etc/security/limits.conf
添加以下内容:
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536
4.修改/etc/pam.d/login 文件
[root@localhost myos]#vi/etc/pam.d/login添加如下内容
session required /lib/security/pam_limits.so
session required pam_limits.so
5.修改内核
[root@localhost myos]#vi/etc/sysctl.conf
添加如下内容
fs.file-max =6815744fs.aio-max-nr =1048576kernel.shmall =2097152kernel.shmmax =2147483648kernel.shmmni =4096kernel.sem =25032000100128net.ipv4.ip_local_port_range =900065500net.core.rmem_default =4194304net.core.rmem_max =4194304net.core.wmem_default =262144net.core.wmem_max =1048576使文件生效
[root@localhost myos]# sysctl -p
6.编辑/etc/profile
[root@localhost myos]#vi/etc/profile
添加如下内容:if[ $USER ="myos"];thenif[ $SHELL ="/bin/ksh"];thenulimit -p16384ulimit -n65536elseulimit -u16384-n65536fifi
7.创建oinstall、dba组 将myos用户加入组 修改并设定oracle用户密码
[root@localhost myos]# groupadd oinstall
[root@localhost myos]# groupadd dba
[root@localhost myos]# usermod -g oinstall -G dba myos
[root@localhost myos]# id myos
uid=500(myos) gid=501(oinstall)groups=501(oinstall),502(dba)
8.创建目录并修改所属组及权限
[root@localhost myos]#mkdirapplication/oracle
[root@localhost myos]# mkdirapplication/oracle/oracle
[root@localhost myos]# mkdirapplication/oracle/oradata
[root@localhost myos]# mkdirapplication/oracle/oracle/product
修改权限
[root@localhost myos]# chown-R myos:oinstall application/oracle
[root@localhost myos]# chmod-R777application/oracle
查看信息
[root@localhost myos]# id myos
uid=500(myos) gid=501(oinstall)groups=501(oinstall),502(dba)
9.切换到myos用户
[root@localhost oracle]#sumyos
10.添加环境变量
[myos@localhost oracle]$vi~/.bash_profile
添加如下内容
export ORACLE_BASE=/home/myos/application/oracle/oracle
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
11.修改服务器的DISPLAY环境变量,使得oracle的安装界面可以显示在客户机上
[myos@localhost oracle]$echo $DISPLAY
[myos@localhost oracle]$ DISPLAY="192.168.1.106:0.0"
[myos@localhost oracle]$ export DISPLAY
[myos@localhost oracle]$ echo $DISPLAY192.168.1.106:0.0
12.上传文件并解压
[myos@localhost application]$unziplinux.x64_11gR2_database_1of2.zip
[myos@localhost application]$ unziplinux.x64_11gR2_database_2of2.zip
13.安装
这时候在windows下打开Xming,执行安装的时候,图形安装界面就会在windows下显示了。
[myos@localhost application]$ cd database
[myos@localhost database]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120MB. Actual8386 MB Passed
Checking swap space: must be greater than 150MB. Actual2047 MB Passed
Checking monitor: must be configured to display at least 256colors. Actual16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-04-05_05-27-15PM. Pleasewait...
[myos@localhost database]$
14.弹出图形安装界面,安装数据库软件和实例
点击下一步
点击下一步
实际开发中,服务器没有图形界面,我们选择服务类安装,下一步
不需要集群,选择单实例安装,下一步
下一步
选择语言,下一步
下一步
选择目录,下一步
下一步
下一步
内存
字符集
下一步
下一步
下一步
设置密码
下一步
先决条件检查,缺少依赖包
这时候打开一个终端,以root身份登录,安装依赖包
yuminstallbinutils compat-libstdc++-33elfutils-libelf elfutils-libelf-develgccgcc-c++ glibc-2.5glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-develmakesysstat unixODBC unixODBC-devel
再次检查
有三个没装成功,不想装了,忽略不检查,下一步(不安装不知道以后使用的过程中会出现什么问题)
finish配置完成
接下来就是等待安装了,这个时候你可以趁机上个厕所。。。
安装成功之后,会弹出这个界面:
设置密码
然后会让你以root身份登录终端,执行以下脚本。
执行脚本:
[root@localhost myos]su root
[root@localhost myos]# cd /home/myos/application/oracle/oraInventory
[root@localhost oraInventory]# shorainstRoot.sh
[root@localhost oraInventory]# cd /home/myos/application/oracle/oracle/product/11.2.0/dbhome_1
[root@localhost dbhome_1]# shroot.sh
安装完成
上面安装成功之后,服务监听和本地网络服务应该是就配置好了,我实际安装的过程中都会提示服务名称已经存在。如果没有的话,我们可以按照下面的步骤进行配置。
15.配置监听
打开终端,输入:
[root@localhost dbhome_1]# netca
Oracle Net Services Configuration:
弹出界面:
创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)
16.配置本地网络服务
配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)
我填的是自己服务器的名称,不知道填其他服务器的ip可不可以
进行连接测试
连接成功
到此就配置完毕了。
17.查看监听状态
[myos@localhost ~]$ lsnrctl status
LSNRCTL forLinux: Version11.2.0.1.0- Production on05-APR-201818:06:52Copyright (c) 1991,2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER------------------------Alias LISTENER
Version TNSLSNR forLinux: Version11.2.0.1.0- Production
Start Date 05-APR-201817:41:44Uptime 0days0hr.25min.8 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/myos/application/oracle/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File
home/myos/application/oracle/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "orcl"has1 instance(s).
Instance "orcl", status READY, has1handler(s)for this service...
Service "orclXDB"has1 instance(s).
Instance "orcl", status READY, has1handler(s)for this service...
The command completed successfully
其中:
1、Linux oracle数据库listener.ora存放路径/home/myos/application/oracle/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora2、Linux oracle数据库tnsnames.ora存放路径/home/myos/application/oracle/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora3、ORACLE启动监听器
(1)切换至普通安装用户(我的是myos)su- myos
(2)启动监听器
lsnrctl start
(3)停止监听器
lsnrctl stop
18.启动测试oracle
[myos@localhost ~]$ sqlplus /nolog
SQL*Plus: Release11.2.0.1.0Production on Thu Apr518:12:262018Copyright (c) 1982,2009, Oracle. All rights reserved.
SQL>
19.Linux开放1521端口允许网络连接Oracle Listener
症状:
(1)TCP/IP连接是通的。可以用ping 命令测试。
(2)服务器上Oracle Listener已经启动。
lsnrctl status 查看listener状态
lsnrctl start 启动Oracle listener
(3)客户端得到的错误信息通常是:ORA-12170: TNS:连接超时
这时,我们基本可以肯定是服务器没有开放1521端口(假设你用默认设置)
可配置防火墙开放1521端口:
[myos@localhost ~]$ vi /etc/sysconfig/iptables
添加如下内容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
重启防火墙
[root@localhost myos]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
本地连接测试通过
接下来就可以创建用户进行操作了。
20.linux下创建oracle用户表空间
就是在已有的数据库实例上创建一个新的帐号,访问一些新的表
操作步骤如下:
(1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
(2)以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba"
(3)查看我们常规将用户表空间放置位置:执行如下sql:
select name from v$datafile
(4)创建用户表空间:
CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/orcl/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
(5)创建用户,指定密码和上边创建的用户表空间
CREATE USER scs IDENTIFIED BY scs DEFAULT TABLESPACE NOTIFYDB;
(6)赋予权限
grant connect,resource to scs;
grant unlimited tablespace to scs;
grant create database link to scs;
grant select any sequence,create materialized view to scs;
--经过以上操作,我们就可以使用scs/scs登录指定的实例,创建我们自己的表了
21.启动数据库实例
重启了服务器之后,查看监听状态,发现数据库实例没有启动
执行如下命令就可以启动了。
[myos@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release11.2.0.1.0Production on Fri Apr604:08:292018
Copyright (c) 1982,2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 776646656 bytes
Fixed Size 2217384 bytes
Variable Size 473959000 bytes
Database Buffers 293601280 bytes
Redo Buffers 6868992 bytes
Database mounted.
Database opened.
安装的过程中参考了不少教程,版权意识我们是要有的,但是由于参考的太多,各种来源我也混淆了,所以就这样写吧:
来源:各种安装过oracle写过教程的网友。