Linux安装oracle报错(netca配置监听)

Linux安装oracle报错(netca配置监听),第1张

照着网上的资料重装一遍oracle的时候,走到这边报错了。仔细看了下,提示: LISTENER:The information provided for this listener is currently in use by another listener on this computer

想着可能是之前的oracle没有删干净,端口还是被占用的原因,于是切换到root用户下,查看1521端口对应的进程,然后kill掉。再次执行 netca /silent /responseFile 路径 命令,终于成功了。

1、找到C:\Program Files (x86)\Oracle\odac_client\tnsnamesora文件,用记事本打开,显示oracle值:

ORACLE =

(DESCRIPTION =

(ADDRESS = 

(PROTOCOL = TCP)

(HOST =自动分配的IP地址)

(PORT =1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)))

2、修改如下:

10110183/orcl =  

(DESCRIPTION =  

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

  (CONNECT_DATA =  

    (SERVER = DEDICATED)  

    (SERVICE_NAME = orcl)  

  )  

)

3、主机名输入localhost或127001都会提示无监听程序。由于自动分配的IP地址会有变动,所以将oracle值中的host改成本机的计算机名,保存修改后的tnsnamesora。再次连接(10110183/orcl)数据库,出错问题解决。

Oracle监听问题:

(1)第一个错误:

注册表使用了优化软件被删除相关项, 对于每一个系统服务实际上都会在注册表之中有所保存,注册表中的相关项名:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OracleOraDb11g_home1TNSListener

里面有一个imagePath:E:\oracleInstall\product\1120\dbhome_1\BIN\TNSLSNR,这个选项有可能被优化软件给自动删除,如果被删除的话按照格式从新建立一个相关的注册项。

(2)第二个错误:

网络环境改变(10G版本),11g版本得到改善,主要是计算机的名称被改变:

当网络环境发生改变的时候,监听服务就启动不了,解次问题的方法就是必须修改网络配置文件,配置文件路径:E:\oracleInstall\product\1120\dbhome_1\NETWORK\ADMIN,有两个配置文件listenerora和tnsnamesora,通过记事本打开两个文件:

但是以后使用程序连接oracle1G的话不能正常访问数据库,选择Net Manager,进入到网络配置界面:

解决方式:

启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计算机名字或者ip,端口号还是1521,然后保存。

重启监听服务。

启动Database configuration Assistant “配置数据库选件”就可以重新配置em了,而不用删除数据库。再次创建数据库时也不会报如上的错误。

在控制面板里,管理工具--服务 里面有 oracle的监听服务。手动启动,或是打 lsnrctl start dos命令里。

oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序

错误分析:

经过查看警告中给出的日志文件

F:\develop\oracle_data\app\Administrator\cfgtoollogs\dbca\test\emConfiglog有如下内容:

配置:connectDesc :(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=BUG-CLASS)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=test)))

但是在listenerora中是这样的:

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

显然计算机BUG-CLASS是不能够访问localhost(暂不理解)。

方法1:把HOST= zk换成你的IP试试;

方法2:提供给你一个最简单的listenerora配置,你只需要简单的把IP和ORACLE_HOME换成你的就可以:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = orcl)

(ORACLE_HOME = /opt/app/oracle/product/1020/db1)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

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

1配置hostname

[root@oracledb ~]#hostnamectl set-hostname oracledb

[root@oracledb ~]#echo " 10100110 oracledb" >>/etc/hosts

2关闭selinux和防火墙

[root@oracledb ~]#sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

[root@oracledb ~]#setenforce 0

[root@oracledb ~]#systemctl stop firewalld

[root@oracledb ~]#systemctl disable firewalld

[root@oracledb ~]#systemctl status firewalld

3下载Oracle软件包 且上传到服务器上,进行解压缩

建议使用winSCP工具进行上传到服务器的/opt目录下

[root@oracledb ~]# ls -lh /opt/

-rw-r--r-- 1 root root 12G Mar 30 16:12 linuxx64_11gR2_database_1of2zip

-rw-r--r-- 1 root root 11G Mar 30 16:11 linuxx64_11gR2_database_2of2zip

4安装oracle环境所需要的依赖包-配置YUM源

安装依赖包之前,一定要设置好服务器上的安装源,原因是:可以在没有互联网的时候安装服务所需依赖包;常用的安装源有两种方式:

(1) 配置本地yum源

新建配置文件vi /etc/yumreposd/localsourcerepo输入如下内容:

[localsource]

name=localsource

baseurl=file:///media/cdrom

enabled=1

gpgcheck=0

(2) 生成本地yum 缓存

注意:从Oracle 11g 11202版本开始,在Linux x86_64上安装时,只需要安装64位的软件包,但是,对于11202之前的任何Oracle database 11g,下表中列出的32位和64位的安装包都必须安装

5安装oracle环境所需要的依赖包-安装依赖包

(1)安装依赖包

[root@oracledb ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip

(2)安装完成后,检查依赖是否全部安装成功

[root@oracledb ~]# rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip | grep "not installed"

(3)创建所需的用户组和用户

如果要安装Oracle数据库,通常需要以下本地 *** 作系统用户组和用户:

Oracle inventory组(通常为 oinstall)

OSDBA组 (通常为 dba)

OSOPER组 (通常为 oper)

Oracle软件所有者(通常为 oracle)

创建用户组和用户:

[root@oracledb ~]# groupadd oinstall

[root@oracledb ~]# groupadd dba

[root@oracledb ~]# groupadd oper

[root@oracledb ~]# useradd -g oinstall -G dba oracle

(4)修改oracle用户密码:建议密码配置为字符+数字+特殊字符

[root@oracledb ~]# passwd oracle

6配置内核参数和资源限制

(1)编辑配置文件vi /etc/sysctlconf添加如下参数:

vmmax_map_count = 655360

fsaio-max-nr = 1048576

fsfile-max = 6815744

kernelshmall = 2097152

kernelshmmax = 2147483648 ###最小值: 536870912

kernelshmmni = 4096

kernelsem = 250 32000 100 128

netipv4ip_local_port_range = 9000 65500

netcorermem_default = 262144

netcorermem_max = 4194304

netcorewmem_default = 262144

netcorewmem_max = 1048576

注意:如果系统中某个参数高于上面的参数的值 ,保留较大的值,上面的数值只是官方要求的最小值,可以根据系统调整数值,以优化系统性能

(2)使内核参数生效

[root@oracledb ~]# sysctl -p

7创建oracle安装目录

如下目录,根据自己的实际情况可做修改:

[root@oracledb ~]# mkdir -p /data/app/oracle/product/1120

[root@oracledb ~]# cd /data/app/oracle/

[root@oracledb oracle]# mkdir oradata inventory fast_recovery_area

[root@oracledb ~]# chown -R oracle:oinstall /data/app/oracle

[root@oracledb ~]# chmod -R 775 /data/app/oracle

8配置oracle用户环境变量

编辑配置文件vi /home/oracle/bash_profile添加如下内容:

export ORACLE_BASE=/data/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/1120

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

9 解压下载好的两个Oracle数据库文件

[root@oracledb ~]# cd /opt

[root@oracledb ~]# unzip linuxx64_11gR2_database_1of2zip -d /data

[root@oracledb ~]# unzip linuxx64_11gR2_database_2of2zip -d /data

10 编辑静默安装响应文件

(1)切换到oracle用户执行

[root@oracledb ~]# su - oracle

(2)切换到响应文件的目录下

[oracle@oracledb ~]$ cp -R /data/database/response/

[oracle@oracledb ~]$ cd response/

[oracle@oracledb response]$ ls

dbcarsp db_installrsp netcarsp

11修改配置文件:vi /home/oracle/response/db_installrsp,修改以下变量的值

oracleinstalloption=INSTALL_DB_SWONLY

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/app/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/app/oracle/product/1120

ORACLE_BASE=/data/app/oracle

oracleinstalldbInstallEdition=EE

oracleinstalldbDBA_GROUP=dba

oracleinstalldbOPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

12 开始静默安装Oracle 11g

(1)开始安装oracle数据库

[oracle@oracledb ~]$ cd /data/database

[oracle@oracledb ~]$ /runInstaller -silent -responseFile /home/oracle/response/db_installrsp -ignorePrereq

注意:安装期间可以使用tail命令查看oracle的安装日志,且日志文件名称是根

据自己的实际执行时间确定的,安装日志文件会在安装时提示,需要等待3分钟左右,注意不要停止运行;安装完成后有如下提示,如果有类似如下提示,说明安装完成。

The following configuration scripts need to be executed as the "root" user

#!/bin/sh

#Root scripts to run

/data/app/oraInventory/orainstRootsh

/data/app/oracle/product/1120/db_1/rootsh

To execute the configuration scripts:

1 Open a terminal window

2 Log in as "root"

3 Run the scripts

4 Return to this window and hit "Enter" key to continue

Successfully Setup Software

13使用 root用户执行脚本

(1)切换到root用户执行

[root@oracledb ~]# su - root

(2)执行两个用户脚本

[root@oracledb ~]# sh /data/app/oracle/inventory/orainstRootsh

[root@oracledb ~]# sh /data/app/oracle/product/1120/rootsh

14配置监听程序

(1)切换到oracle用户执行(建议退出重进oracle用户)

[root@oracledb ~]# su - oracle

(2)配置监听,查看输出结果

[oracle@oracledb ~]$ netca /silent /responsefile /home/oracle/response/netcarsp

(3)查看监听服务状态,若没启动需要启动

[oracle@oracledb ~]$ lsnrctl status

[oracle@oracledb ~]$ lsnrctl start

查看结果:

Parsing command line arguments:

Parameter "silent" = true

Parameter "responsefile" = /data/etc/netcarsp

Done parsing command line arguments

Oracle Net Services Configuration:

Profile configuration complete

Oracle Net Listener Startup:

Running Listener Control:

/data/app/oracle/product/1120/bin/lsnrctl start LISTENER

Listener Control complete

Listener started successfully

Listener configuration complete

Oracle Net Services configuration successful The exit code is 0

(4)查看监听端口

[oracle@oracledb ~]$ netstat -tnpl | grep 1521

15静默创建数据库

GDBNAME = "orcl"

SID = "orcl"

SYSPASSWORD = "oracle"

SYSTEMPASSWORD = "oracle"

SYSMANPASSWORD = "oracle"

DBSNMPPASSWORD = "oracle"

DATAFILEDESTINATION =/data/app/oracle/oradata

RECOVERYAREADESTINATION=/data/app/oracle/fast_recovery_area

CHARACTERSET = "ZHS16GBK"

TOTALMEMORY = " 6552 "

##其中TOTALMEMORY = " 6552 " 为6552 MB,物理内存8G80%

(2)切换到oracle用户执行

[root@oracledb ~]# su - oracle

(3)执行静默建库

[oracle@oracledb ~]$ dbca -silent -responseFile /home/oracle/response/dbcarsp

执行过程如下:

Copying database files

1% complete

3% complete

11% complete

18% complete

26% complete

37% complete

Creating and starting Oracle instance

40% complete

45% complete

50% complete

55% complete

56% complete

60% complete

62% complete

Completing Database Creation

66% complete

70% complete

73% complete

85% complete

96% complete

100% complete

Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcllog" for further details

(4)查看进程

[oracle@oracledb ~]$ ps -ef | grep ora_ | grep -v grep

(5)再次查看监听状态进行确认

[oracle@oracledb ~]$ lsnrctl status

结果显示:

The command completed successfully

16至此数据库就安装成功了,下面我们登录下数据库

(1)切换到oracle用户执行

[root@oracledb ~]# su - oracle

(2)登录数据库

[oracle@oracledb ~]$ sqlplus / as sysdba

(3)查询实例状态

SQL>select status from v$instance;

(4)查看数据库版本

SQL> select from v$version;

(5)激活scott用户

SQL>alter user scott account unlock;

SQL>alter user scott identified by tiger;

SQL>select username,account_status from dba_users;

17设置Oracle开机启动

(1)修改配置文件vi /data/app/oracle/product/1120/bin/dbstart 修改如下内容:

将脚本中的ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

(2)修改配置文件vi /data/app/oracle/product/1120/bin/dbshut 修改如下内容:

将脚本中的ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

(3)修改配置文件 vi /etc/oratab修改如下内容,

orcl:/data/app/oracle/product/1120:Y

(4)新建文件:vi /etc/rcd/initd/oracle 注意:建议全部复制脚本内容

#! /bin/bash

# oracle: Start/Stop Oracle Database 11g R2

# chkconfig: 345 90 10

# description: The Oracle Database is an Object-Relational Database Management System

# processname: oracle

/etc/rcd/initd/functions

LOCKFILE=/var/lock/subsys/oracle

ORACLE_HOME=/data/app/oracle/product/1120

ORACLE_USER=oracle

case "$1" in

start)

if [ -f $LOCKFILE ]; then

echo $0 already running

exit 1

fi

echo -n #34;Starting Oracle Database:"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"

touch $LOCKFILE

;;

stop)

if [ ! -f $LOCKFILE ]; then

echo $0 already stopping

exit 1

fi

echo -n #34;Stopping Oracle Database:"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"

rm -f $LOCKFILE

;;

restart)

$0 stop

$0 start

;;

status)

if [ -f $LOCKFILE ]; then

echo $0 started

else

echo $0 stopped

fi

;;

)

echo "Usage: $0 [start|stop|status]"

exit 1

esac

exit 0

(5)给 /etc/initd/oracle添加执行权限

[root@oracledb ~]# chmod +x /etc/initd/oracle

(6)开机启动oracle

[root@oracledb ~]# chkconfig oracle on

(7)给启动文件加权限

[root@oracledb ~]# cd /data/app/oracle/product/1120/bin/

[root@oracledb bin]# chmod 6751 oracle

[root@oracledb bin]# cd /var/tmp

[root@oracledb tmp]# chown -R oracle:oinstall oracle

(8)重启测试

[root@oracledb ~]# reboot

(9)切换到oracle用户登录状态下

[root@oracledb ~]# su - oracle

[oracle@oracledb ~]$ sqlplus / as sysdba

(10)解除锁定

SQL> alter user SYSTEM account unlock;

(11)这时候就可以用Navicat连接了

SQL> conn;

用户名:SYSTEM

密码:oracle

如果不能正确连接,改下密码试试

alter user system identified by 新密码

[root@oracledb ~]# mkdir -p /data/szzt

[root@oracledb ~]# cd /data/

[root@oracledb data]# chown oracle:oinstall -R szzt

[root@oracledb data]# ll

total 0

drwxr-xr-x 3 root root 20 Apr 8 21:14 app

drwxr-xr-x 8 root root 128 Aug 21 2009 database

drwxr-xr-x 2 oracle oinstall 6 Apr 14 16:17 szzt

[root@oracledb ~]# su - oracle

[oracle@oracledb ~]$ sqlplus / as sysdba

SQL> conn cshi

Enter password: 登录失败

Connected

SQL> create temporary tablespace DB_DATA_TMP tempfile'/data/szzt/DB_DATA_TMPdbf' size 500m autoextend on next 100m maxsize 10240m extent management local;

显示结果:

Tablespace created

SQL> create tablespace DB_DATA logging datafile'/data/szzt/DB_DATAdbf' size 2048m autoextend on next 100m maxsize 10240m extent management local;

显示结果:

Tablespace created

SQL> create user ceshi identified by ceshi default tablespace DB_DATA temporary tablespace DB_DATA_TMP;

显示结果:

User created

SQL> grant dba to ceshi;

显示结果:

Grant succeeded

SQL> conn ceshi ###用户名和密码一样,此时登录成功

[oracle@oracledb ~]$ cd /data/app/oracle/product/1120/bin/

注意:数据库导出 *** 作是在 源服务器 上进行

[oracle@oracledb bin]$ exp 用户名/密码@ IP地址 /orcl file =/data/szzt/ceshidmp owner='用户名'

Export terminated successfully without warnings

注意:数据库导入 *** 作是在 目标服务器 上进行

[oracle@oracledb bin]$ imp ceshi/ceshi@ 10100110 /orcl file=/data/szzt/ceshidmp fromuser=ceshi touser=ceshi

显示结果:可以看到导入的表过程(10100110是自己的目标数据库服务器)

Import terminated successfully without warnings

(1)、数据导入完毕后,我们可以使用DBeaver对数据库进行远程管理

(2)、测试连接,没问题后完成新建

(3)、连接上来后,我们就可以使用工具来进行管理数据库

以上就是关于Linux安装oracle报错(netca配置监听)全部的内容,包括:Linux安装oracle报错(netca配置监听)、oracle安装完配置无监听服务,如何解决、oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序要怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9723691.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存