Oracle 11gR2_database的安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 11gR2_database的安装相关的知识,希望对你有一定的参考价值。

Oracle 11gR2_database的安装

前言:

  • oracle安装路径和安装目录没有中文和空格,最好拖到d:根目录

  • Windows用户名不要起中文,这是作为程序员的最基本的要求,否则出现各种环境错误

  • Oracle需要固定ip,电脑又经常性换网卡,ip所以我用虚拟机的nat,ip是固定的.

  • 删除注册表

因为第一次安装时,出现故障是很小的,然多次安装,就要处理一些问题:

准备工作:

如果你以前装过Oracle数据库,而且安装目录要改变请先打开注册表编辑器里的:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Oracle11和它下面的几个

如果你没安装过Oracle产品的话在注册表里面的与Oracle有关的注册表全删了,如果你安装过Oracle产品,就找与Oracle数据库有关的注册便删了,如果你以前安装过Oracle而没有执行安装前准备的话,在配置数据库的时候会出现各式各样的错误。

l  安装oracle 11g系统最好是1G以上内存,硬盘至少需要4.5G空间。

l  至少环境在Linux Server release 5.3以上。

l  win安装包

n  win32_11gR2_database(服务端)

n  win32_11gR2_client(客户端)

l  linux安装包

n  linux_11gR2_database(服务端)

n  linux_11gR2_client(客户端)

1 winwindows下安装服务端

1.1安装win32_11gR2_database安装包

系统:xp,win7,win8.1,win10ltsb2016

Java版本可以选择最新的,可以使用,需要提前安装

版本选择:oracle 11gR2,32,尽量不要选择64.

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

技术分享

1.下载两个文件

win32_11gR2_database_1of2.zip

win32_11gR2_database_2of2.zip

2.选中两个文件,解压到当前文件夹

技术分享

3.运行

技术分享

技术分享

4.选择是

技术分享

技术分享

技术分享

技术分享

技术分享

数据库版本选择标准版

字符集选择AL32UTF8或者ZHS16GBK

全局数据库名orcl

密码xxx(根据自己的习惯设置一个不容易被攻破的密码)

技术分享

技术分享

 


 

技术分享

技术分享

技术分享

技术分享

默认锁定的账户:

SYSTEM

SYS

SCOTT-->改为不锁定,设置口令密码

HR-->改为不锁定,设置口令密码

 

技术分享

1.2 配置win下监听服务

选择开始菜单àOracle - OraDb11g_home1à配置和移植工具àNet Configuration Assistant

技术分享

先删除后添加

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

windows下安装win32_11gR2_database完成

1.3 设置windows下oracle服务

  • 进入开始菜单à控制面板à管理工具à服务

  • 技术分享

  • 查看oracle相关组件是否成功安装。

  • 由于oracle非常大,如果每次启动计算机时都自动启动,那么计算机会很慢,而且资源也基本被oracle占尽。

  • oracle的相关服务启动类型都由自动改为手动。

  • 需要使用oracle的时候手动启动

技术分享

u 需要启动的两个服务

  OracleServiceORCL

  OracleOraDb11g_home1TNSListener

u 其他的都不需要启动

1.4 测试oracle,添加数据库用户

技术分享

在命令行输入

sqlplus/nolog

 

 

 

技术分享

进入sqlplus命令提示符,输入

conn /assysdba

sqlplus命令提示符下输入

createuser dbuser1 identified by dbuser1;

(一定要以;号结尾)

(用户名可以自己随便取,例子中添加用户名为’dbuser1’,密码为’dbuser1’如果想修改用户密码执行alter user dbuser1 identified by newpasswd;。如果想删除该用户,可以执行drop user dbuser1;)

 

sqlplus命令提示符下输入

grantconnect,resource to dbuser1;

(一定要以;号结尾)

 

sqlplus命令提示符下输入

quit;

退出sqlplus

用户dbuser1添加成功

技术分享

测试2:

cmd命令行输入:

cd \

sqlplus scott

连接到了sql

输入:

select * from tab;

select * from dept;

select * from emp;

设置格式:

输入:

set linesize 120

select * from emp;

-->cmd的属性窗口设置:

屏幕缓冲区大小为120,窗口大小宽度为120

-->保存属性

所有的信息放在一页了

set pagesize 120

select * from emp;

1.5 安装win32_11gR2_client

一般来说oracle需要固定ip,所以我在虚拟机里面测试,我的电脑经常性自动获取ip地址,而且网段不一样,所以设置了NAT模式,如何设置固定ip,和差别,请看我的别的文章.

这里我设置好了我的网段:192.168.100.2

技术分享

技术分享

设置1:

技术分享

设置2:

技术分享

 

会自动生成这个

技术分享

à我安装的数据库的系统为ip: 192.168.100.200

  1. 解压出来,安装

  2. 技术分享

  3. 技术分享

  4. 技术分享

  5. 技术分享

  6. 技术分享

  7. 技术分享

  8. 技术分享

  9. 配置服务器的监听服务à这是图形化配置监听服务

  10. l  Oracle - oradb11g_homel-->配置和移植工具-->Net Configuration Assistant

技术分享

技术分享

  • 监听程序名:LISTENER

技术分享技术分享技术分享

技术分享

  • 标准端口号1521

技术分享

技术分享

技术分享

  • 配置本地网络服务名配置:

技术分享

技术分享

  • 服务器名:orcl

技术分享

技术分享

  • 设置主机名:192.168.100.200

技术分享

技术分享

技术分享

技术分享

à另外一种方案:采取配置文件(ip可以设置为127.0.0.1)

  • ——修改  服务器oracle11g下的  listener.ora文件

         C:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN\listener.ora 

修改 2

         第一处:在SID_LIST内部,增加SID_DESC描述,如下。

        (SID_DESC =

               (SID_NAME = orcl)

               (ORACLE_HOME =c:\app\Administrator\product\11.2.0\dbhome_1)

               (PROGRAM = extproc)

          (ENVS ="EXTPROC_DLLS=ONLY:c:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")

     )

         第二处:将下面的HOST的值修改成服务器的IP地址,如:

         LISTENER=

         (DESCRIPTION_LIST =

           (DESCRIPTION =

                   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.200)(PORT= 1521))

         )

         )

  • ——修改  同一目录下的  tnsnames.ora  文件

         C:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN\tnsnames.ora  修改 2 处,都是IP

 

         将文件中,两个HOSTIP值都修改成服务器的IP地址, 如:

         LISTENER_ORCL=

         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.200 )(PORT = 1521))

         ......

        

         ORCL=

         (DESCRIPTION =

           (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.200)(PORT= 1521))

                 (CONNECT_DATA =

                   (SERVER = DEDICATED)

               (SERVICE_NAME = orcl)

         )

          )

  • ——重新启动Oracle服务。

         OracleServiceORCL OracleOraDb11g_home2TNSListener

  • ——打开Oracle SQL Developer客户端,链接数据库。

 

         链接 右键“新建连接” 链接名:任意写,用户名:scott,口令:xx,保存口令

         角色:default,链接类型Basic 主机名:192.168.100.200,端口:1521SIDorcl

         点击“测试” 状态: 成功 点击“连接”

 

  • 测试oracle sql develop

技术分享

技术分享

 

技术分享

技术分享

1.6 安装win32_10gR2_client

技术分享

技术分享

技术分享

技术分享

技术分享

要是碰到如此问题

技术分享

自然也有解决方案

就把本机的环境变量先拷贝出来,留一个系统的环境变量值,再安装10g客户端,然后把环境变量再拷贝过去,尽量不要保证环境变量不要重复

技术分享

只留一个,把其他的放到txt,然后弄完再拷贝回去

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

拷贝回去环境变量就可以了

技术分享

技术分享

技术分享

如果同时装10g11g客户端:

技术分享

11g的环境变量移动到最前边,(两个)

技术分享

技术分享

如果是其他系统,可以把这个复制到txt,然后更改即可

 

 

 

 

 

 

 

 

 

 

 

测试没有问题:

技术分享

2 linux下安装服务端

重要说明:为防坑,及时创建虚拟机快照,安装oraclelinux,安装时会碰到太多的问题,故此在此我写了这么一篇。

我经过测试:CentOS-7-x86_64-Everything-1511,机器上安装不成功,会报错误,我没有解决,错误1如图所示:各种调整好了之后,在进入安装过程中,出现这种,其实一回车就可以进入,网上说:运行安装程序时使用 ./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0

看样子是语言包安装问题,弹出框没有显示,系统显示问题

技术分享

可是出现语言包是什么鬼,强制进入,选择时,比如说以管理员形式,出现安装需要多少g,可是没有任何显示。语言包我安装了好几次,都是成功的,偏偏出现这个故障。

正常图如下:

技术分享

2.1 安装linux下oracle服务器

操作系统采用CentOS-7-x86_64-DVD-1511

linux_11gR2_database_1of2.zip

linux_11gR2_database_2of2.zip

Oracle安装到/home/oralce_11目录下。

2.2 centos系统安装

采用vm12虚拟机

技术分享

技术分享

 

技术分享

技术分享

技术分享

这里切记,先提前创建文件夹,以备份和复制到别的机器上

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

设置200g或者500g,不要立即分配所以磁盘空间,

虚拟机虚拟出来的,里面有多少大小就有多大,设置小了,往大处扩展,不好调整

技术分享


 

技术分享

技术分享

技术分享

技术分享

等会就会进去到安装界面,无需按任意键

技术分享

 

技术分享

技术分享

设置固定ip:

 

技术分享

技术分享

 

设置1:

技术分享

设置2:

技术分享

 

会自动生成这个

技术分享

有可能需要提前设置

技术分享

开始安装

技术分享

技术分享

技术分享

技术分享

Centos7初次开机提示Initial setup of CentOS Linux 7

开机后提示以下信息

Initial setup ofCentOS Linux 7 (core) 
1) [x] Creat user 2) [!] License information 
(no user will be created) (license not accepted) 
Please make your choice from above [‘q’ to quit | ‘c’ to continue | ‘r’ torefresh]:

解决步骤如下:

1,输入【1】,按Enter键同意许可协议, 
2,输入【2】,按Enter键阅读许可协议, 
3,输入【q】,按Enter键退出, 
4,输入【yes】,按Enter键确定, 
5,重启之后即可进入图形登录界面

技术分享 

或者进入:

技术分享

安装vmtools在此快照

2.2.1 centos启动sudo方法

CentOS默认不启用sudo,且可以直接用超级管理员身份登录服务器。ubuntu这方面做得比较好,为了安全,减小误操作带来的损失,还是推荐启用sudo

1、添加sudo用户

执行visudo命令,找到:  root    ALL=(ALL) ALL

在下面增加:   fjs ALL=(ALL) ALL

技术分享

一般来说到此就可以了,刚安装完系统,最好重启一下

技术分享

/*à备用
2、禁止root用户登录

编辑/etc/ssh/sshd_config
PermitRootLogin yes改为 PermitRootLogin no

3、重启sshd: service sshd reload

*/

 

测试联网状态: ping www.baidu.com

技术分享

2.2.2网络畅通时à更新系统:

[email protected] 桌面]$ sudo yum -y update && yum -y upgrade

安装软件: yum install vim gccgcc-c++ openssh-server vsftpd lftp tree lrzsz binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-staticglibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio-devellibaio libgcc libgomp libstdc++ libstdc++-devel make sysstat numactl-devel unixODBCunixODBC-devel

关闭防火墙:直接关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

systemctl status firewalld.service #再次查看防火墙状态,发现已关闭

 

技术分享

2.3.配置oracle数据库的安装环境

官方参考:

 http://www.oracle.com/technetwork/cn/articles/hunter-rac11gr2-iscsi-2-092412-zhs.html#13

 

1.创建运行oracle数据库的系统用户和用户组,登陆root用户

[[email protected] 桌面]$ su root

密码:

ABRT 已检测到 ‘1‘ 个问题。预了解详细信息请执行:abrt-clilist

解决方案: 使用root账号,然后输入abrt-cli list--since 1440470310即可查询出错的原因和解决的方法,输入abrt-auto-reporting enabled,即可解决问题。

[[email protected] 桌面]# abrt-cli list --since 1440470310

id 1421d181c45af1588b3912dadde0d0f69c01fdc3

reason:        nm.py:760:nm_device_setting_value:SettingsNotFoundError:SettingsNotFoundError(‘virbr0‘,)

time:           20161104星期五 080207

cmdline:        python -m initial_setup

package:        initial-setup-0.3.9.30-1.el7.centos

uid:            0 (root)

count:          1

Directory:     /var/spool/abrt/Python-2016-11-04-08:02:07-1899

已禁用自动报告功能。请考虑启用该功能,方法是

作为有 root 特权的用户使用命令 ‘abrt-auto-reporting enabled‘

[[email protected] 桌面]# abrt-auto-reporting enabled

[[email protected] 桌面]# exit

exit

[[email protected] 桌面]$ su root

密码:

2.创建运行oracle数据库的系统用户和组,作为软件安装和支持组的拥有者

切换到root

[[email protected] ~]#  su root

创建用户组oinstall

[[email protected] ~]# groupadd oinstall

创建用户组dba

[[email protected] ~]# groupadd dba

创建oracle用户,并加入到oinstalldba用户组

[[email protected] ~]# useradd -g oinstall -g dba -moracle

[[email protected] ~]# passwd oracle

更改用户 oracle 的密码

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

查看新建的oracle用户

[[email protected] ~]# id oracle

uid=1001(oracle) gid=1002(dba) =1002(dba)

3.创建oracle数据库安装目录:

[[email protected] ~]# mkdir -p /home/oracle_11/app

[[email protected] ~]# chown -R oracle.oinstall/home/oracle_11/

[[email protected] ~]# chmod -R 755 /home/oracle_11/

4.修改OS系统标识

oracle默认不支持CentOS系统安装,修改文件 /etc/RedHat-release 

[[email protected] home]# cat /proc/version

Linux version 3.10.0-327.el7.x86_64([email protected]) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9)(GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015

[[email protected] home]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

[[email protected] home]# vi /etc/redhat-release

[[email protected] home]# cat /etc/redhat-release

redhat-7

[[email protected] home]#

5. 关闭selinux(需重启生效)

[[email protected] /]# vi /etc/selinux/config
[[email protected] /]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled   #此处修改为disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

6.配置内核

编辑 /etc/sysctl.confàvim /etc/sysctl.conf 或者gedit /etc/sysctl.conf

添加:

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

技术分享

 

要使 /etc/sysctl.conf 更改立即生效,执行以下命令: sysctl –p

7. oracle用户设置限制,提高软件运行性能编辑

vim /etc/security/limits.conf或者gedit /etc/security/limits.conf

技术分享

在此位置添加

oracle       soft  nproc        2047

oracle       hard    nproc         16384

oracle       soft    nofile 1024

oracle      hard    nofile         65536

8. 编辑 /etc/profile

vim /etc/profile或者 gedit /etc/profile

技术分享

if [ $USER = "oracle" ]; then

   if[ $SHELL = "/bin/ksh" ]; then

     ulimit -p 16384

     ulimit -n 65536

  else

     ulimit -u 16384 -n 65536

   fi

fi

8. 编辑 /etc/pam.d/login

技术分享

session               required/lib64/security/pam_limits.so

session        required     pam_limits.so

【注意:如果是X64的系统,那么这里就要用 /lib64/security/pam_limits.so,不然系统可能会在服务器上无法登录!】

  1. 编辑/home/oracle/.bash_profile

vim /home/oracle/.bash_profile 或者gedit /home/oracle/.bash_profile

技术分享

umask 022

ORACLE_BASE=/home/oracle_11/app

ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1

ORACLE_SID=orcl

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

LANG=C

export ORACLE_BASE ORACLE_HOME ORACLE_SIDPATH LD_LIBRARY_PATH LANG

10. 在图形界面下(在本机操作或者通过VNC远程操作) root身份打开另一个终端窗口

--这步至关重要,不执行这步在以oracle用户运行 # ./runInstaller时会启动不了图型安装界面桌面

#xhost +

#xhost + localhost

在此快照一下

2.4安装oracle数据库

进入时选择汉语

技术分享

1切换oracle用户,关闭防火墙:直接关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

12.上传安装包到oracle用户下à此时界面是英文的,不要紧

执行解压缩命令

 unziplinux.x64_11gR2_database_1of2.zip

 unzip linux.x64_11gR2_database_2of2.zip

13. 将下载的Oracle安装文件解压到Linux中,然后安装数据库桌面

#su - oracle

#cd database/

#./runInstaller

运行安装程序时使用 ./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0

技术分享

看样子是语言包安装问题,弹出框没有显示,系统显示问题

你可以试试下一步,再esc下,截图如下

技术分享

 

注意这是英文界面不要更改,安装完再更改主界面为中文的

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 技术分享

  • 如果点击匆忙,而又进不去下面的页面,请设置大一点的内存,比如4g

  • 技术分享

  • 技术分享

[[email protected] ~]$ su -

Password:

Last login: Sun Nov 6 09:27:32 CST 2016 on pts/0

[[email protected] ~]# . /home/oracle_11/oraInventory/orainstRoot.sh

Changing permissions of /home/oracle_11/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

 

Changing groupname of /home/oracle_11/oraInventory to dba.

The execution of the script is complete.

[[email protected] ~]# ./home/oracle_11/app/oracle/product/11.2.0/db_1/root.sh

技术分享

  • 然后重启看到图形界面有可能是英文的,然后更改图形化界面,貌似改不过来.

编辑/home/oracle/.bash_profile

L C_ALL=zh_CN.UTF8

export LC_ALL

2.5 数据库配置

oracle数据库需要固定ip

  1. 如果出现中文乱码,将.bash_profile文件倒数第二行LANG=C使用#注释。

  2. 重启终端或者执行source.bash_profile

  3. 启动Oracle数据库:sqlplus /nolog

  4. 当看到 SQL> 提示后,输入:connect /as sysdba

提示 Connected to an idle instance.

  1. 输入 show user 查看,提示USER is "SYS"

  2. 输入 startupup前没有“空格”)启动数据库。

提示类似:     ORACLE instance started.

 

                   TotalSystem Global Area  780824576 bytes

                 FixedSize              2217424 bytes

                 VariableSize                478153264 bytes

                   DatabaseBuffers       297795584 bytes

                   RedoBuffers                 2658304 bytes

                   Databasemounted.

                   Databaseopened.

  1. 输入 select * from scott.emp;可以查看scott用户下的emp表信息

  2. Linux启动Listener服务

lsnrctl start/stop/status可以启动/停止/查看服务状态。

  •          lsnrctl start

  •          lsnrctl stop

  •          lsnrctl status

 

  1. 使用scott用户连接数据库    sqlplus scott/tiger

scott用户的登录密码是tiger,也可以使用管理员登陆修改密码

登陆:sqlplus / assysdba

改密码:alter userscott sys identified by 11 将密码改成“11

alter user scott identified by 11;

   (如果提示用户被锁定,使用 alter user scott account unlock;解锁)

  1. –>关闭Oracle数据库指令(一般开启就不关闭了):shutdownimmediate

要是重复开启就保下面的错误

ORA-01081: cannot start already-runningORACLE - shut it down first

 

  1. 假设登陆connect scott,要是密码之类的错误。

alter user scott identified by 11;

(如果提示用户被锁定,使用 alter user scott account unlock;解锁)

报错1[[email protected] ~]$

 [[email protected] ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 -Production on 06-NOV-2016 11:28:53

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Starting/home/oracle_11/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 -Production

System parameter file is/home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

Log messages written to/home/oracle_11/app/diag/tnslsnr/fjs/listener/alert/log.xml

Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fjs)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version11.2.0.1.0 - Production

Start Date                06-NOV-2016 11:28:59

Uptime                   0 days 0 hr. 0 min.16 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File  /home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

Listener Log File        /home/oracle_11/app/diag/tnslsnr/fjs/listener/alert/log.xml

Listening Endpoints Summary...

 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fjs)(PORT=1521)))

The listener supports noservices

The command completedsuccessfully

这样启动后远程连接会报错:

oracle ORA-12514:TNS:listener does not currently know of service requestedin connect descriptor

问题原因:数据库实例没注册到listener
解决方法一:

listener.ora里面添加了一行

SID_LIST_LISTENER = 

(SID_LIST = 

 (SID_DESC = 

 (GLOBAL_DBNAME = orcl)

 (SID_NAME = orcl)

  )

)

注:里面的orcl根据你安装的数据库实例名确定,我用此法解决了这个报错。

技术分享

解决方法二:

登录数据库:

$sqlplus / as sysdba

显示服务名:

SQL>show parameter service_names

强制注册服务:

SQL>alter system register;

查看监听状态:

$lsnrctl status

 

错误2

[[email protected] ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 - Productionon 06-NOV-2016 11:34:46

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

TNS-01106: Listener usinglistener name LISTENER has already been started

先停止后启动

[[email protected] ~]$ lsnrctl stop

LSNRCTL for Linux: Version 11.2.0.1.0 - Productionon 06-NOV-2016 11:34:59

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

The command completed successfully

[[email protected] ~]$ lsnrctl start

Services Summary...

Service "orcl" has 1 instance(s).

 Instance "orcl", status UNKNOWN, has 1 handler(s) for thisservice...

The command completed successfully

错误3:如果:lsnrctlstart 的时候出现类似如下错误:

TNS-12537:TNS:connection closed

TNS-12560:TNS:protocol adapter error

        TNS-00507: Connection closed

        Linux Error: 29: Illegal seek

查看主机名,会发现/etc/hostslocalhost指向多个地址,引发监听冲突

解决方法:

造成此原因的之一原因是自动获取的ip,有可能就会造成这个原因,改为静态ip就可以了。

1. sudo hostname oracle  修改主机名为oracle

2. 将服务器所在机器(本机)的IP192.168.1.8 写入 /etc/hosts

   格式如下:192.168.1.8    oracle(127.0.0.1行并列)

3. 修改/etc/sysconfig/network这个文件内

  hostname = oracle

——————正常启动提示信息类似如下:——————

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version11.2.0.1.0 - Production

Start Date                28-APR-2015 21:49:50

Uptime                    0 days 0 hr. 0 min. 18 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

Listener Log File        /home/oracle_11/app/diag/tnslsnr/oracle/listener/alert/log.xml

Listening Endpoints Summary...

 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))

Services Summary...

Service "orcl" has 1 instance(s).

 Instance "orcl", status UNKNOWN, has 1 handler(s) for thisservice...

The command completed successfully

错误4如果再启动服务的过程中出现如下错误::

 ora-12560 协议适配器错误

 ora-12514 监听进程不能解析在连接描述符中给出的SERVICE_NAME

解决方法如下:

1. 进入该目录:

  [[email protected] admin]$ pwd

  /home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin

2. 找到listener.ora的文件,并打开。

3. 在文件中增加如下代码:

SID_LIST_LISTENER =

(SID_LIST =

   (SID_DESC =

   (GLOBAL_DBNAME = orcl)

   (ORACLE_HOME = /home/oracle_11/app/oracle/product/11.2.0/db_1)

   (SID_NAME = orcl)

    )

)

ADR_BASE_LISTENER =/home/oracle_11/app 

(此行是listener.ora文件原有的。放在这里用来提示新增代码的位置。)


以上是关于Oracle 11gR2_database的安装的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 11gR2_database的安装

Oracle 11gR2_database的安装

Windows下Oracle 11g的安装

win10 安装oracle 11gR2_database(内附下载地址)

oracle 11g安装失败,未找到文件.......

Linux静默安装Oracle 11g教程