oracle 11g 进em后 到实例的代理连接 状态 失败 详细资料 ORA-12505: TNS: 监听程序当前无法识别连接描述

oracle 11g 进em后 到实例的代理连接 状态 失败 详细资料 ORA-12505: TNS: 监听程序当前无法识别连接描述,第1张

两个方法,

监听服务没有启动,在我的猜陆清电脑,右键--管理--服穗前务中,启动服务即可。

在net manager中设置监听和悉誉服务,原理吗,网上可以找到.ora文件的手工配置方法,里面有介绍,呵呵。

系统环境安装说明文档

1、linux ubuntu 8.04系统安装(略)

2、oracle 10g(10.0.2.0) 安装(基于linux ubuntu 8.04 bata 版)纳判

1、 成功的安装并配置了 ununtu Linux。并且安装好了 sudo apt-get install gcc lesstif2 libc6 rpm libaio1 mawk gawk original-awk binutils libdb3 libdb1-compat cpp-3.3 gcc-3.3 libstdc++5-3.3-dev libstdc++2.10-glibc2.2 base-files netbase libc6-dev make (附加包:ssh,jdk6,vim)包

2、创建用户和组

oracle 安装需要两个 linux 用户组和一个运行时的 oracle 用户。

#addgroup oinstall

#addgroup dba

#addgroup nobody

#useradd -g oinstall -G dba -p passwd -d /home/oracle -s /bin/bash oracle

#usermod -g nobody nobody

3、创建目录

我们假设 oracle 的安装目录为/opt/ora10。

#mkdir -p /opt/ora10

#mkdir -p /opt/oradata

#chown -R oracle:oinstall /opt/ora*

#chmod -R 775 /opt/ora*

您生成了 oracle 的运行时路径,并且授写权限给 oracle 用户,执行权限给 dba 组。

4、设置内核参数

a)修改 sysctl.conf

添加如下的行到/etc/sysctl.conf 中:

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 1048576

net.core.rmem_max = 1048576

net.core.wmem_default = 262144

net.core.wmem_max = 262144

注:shmmax(最大共享内存)是一个很重要参数洞纯改,根据您的机器的内存来设定。如果您设置不合适的

话,在创建数据库到约 86%的时候就会挂掉。

b)修改 limits.conf

添加下面的行到/etc/security/limits.conf 以修改你的资源限制:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

c)让修改生效

修改了以上文件后,您必须让其裤贺生效,您重启系统,或者切换到 root 用户下用以下的方式改变内核运

行参数:

#sysctl –p

d)创建程序链接

# ln -s /usr/bin/awk /bin/awk

#ln -s /usr/bin/rpm /bin/rpm

#ln -s /usr/bin/basename /bin/basename

#mkdir /etc/rc.d

#ln -s /etc/rc0.d /etc/rc.d/rc0.d

#ln -s /etc/rc2.d /etc/rc.d/rc2.d

#ln -s /etc/rc3.d /etc/rc.d/rc3.d

#ln -s /etc/rc4.d /etc/rc.d/rc4.d

#ln -s /etc/rc5.d /etc/rc.d/rc5.d

#ln -s /etc/rc6.d /etc/rc.d/rc6.d

#ln -s /etc/init.d /etc/rc.d/init.d

5、设置 Oracle 用户环境

以 oracle 用户登录:

~$su oracle

修改~/.bash_profile 文件,去掉下列三行的注释符,使.bashrc 文件生效:

#if [ -f ~/.bashrc ]then

#. ~/.bashrc

#fi

ununtu 默认是没有注释的,debian 用户需要取消掉这个。

添加下列行到~/.bashrc:

# oracle 10g

export ORACLE_BASE=/opt/ora10

export ORACLE_HOME=/opt/ora10

export ORACLE_OWNER=oracle

export ORACLE_SID=kingdem

export ORACLE_TERM=xterm

# Edit paths

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export PATH=/opt/ora10/bin:$PATH

6、执行安装

a)交换分区的调整(可不做)

以 oracle 用户启动 X,进行安装。

重设交换分区可以使用如下 *** 作:

shell# dd if=/dev/zero f=tmp_swap bs=1k count=900000

shell# chmod 600 tmp_swap

shell# mkswap tmp_swap

shell# swapon tmp_swap

完成安装以后,可以释放这个空间:

shell# swapoff tmp_swap

shell# rm tmp_swap

count 值是根据您需要调整的交换分区大小而定。

b)安装前的准备

我们假设下载的安装文件位于/home/sungaoyong/oracle 下,名称为

10201_database_linux32.zip 解压后。把runlistaller和install/unzip 设置成可执行权限

chmod 775 runlistaller

chmod 775 /install/unzip

创建一个文件 /etc/redhat-release:添加如下内容。

Red Hat Linux release 3.1 (drupal)

oracle 将会把系统认为是 redhat 3 了:)

c)运行 Installer

进入 oracle 数据库解压的目录

./runInstaller

7、启动数据库

1.启动

$ sqlplus " scott/tiger as sysdba"

将出现如下连接数据库信息:

SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 3 月 24 16:23:27 2004

Copyright (c) 1982, 2004, Oracle. All rights reserved.

连接到:

Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL>

表明登录数据库系统成功,运行 startup 命令启动数据库。

SQL>startup

ORACLE instance started.

Total System Global Area 336356520 bytes

Fixed Size 279720 bytes

Variable Size 268435456 bytes

Database Buffers 67108864 bytes

Redo Buffers 532480 bytes

Database mounted.

Database opened.

SQL>

表示数据库正常启动。

2. 关闭 Oracle10g 数据库

$ sqlplus "scott/tiger as sysdba" //以 sysdba 用户登录数据库

成功登录数据库系统后,运行 shudown 命令关闭数据库。

SQL>shutdown

3. 启动 Oracle10g 监听程序

Oracle 的监听程序主要是为客户端的连接提供接口,在控制台窗口键入如下命令:

$ lsnrctl

将出现如下监听程序信息:

LSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 24-3 月 -2004 16

:59:51

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

欢迎来到 LSNRCTL, 请键入"help"以获得信息。

LSNRCTL>

表明登录监听程序控制台成功,运行 start 命令启动监听程序。

LSNRCTL>start

将出现监听程序的一系列启动和配置情况信息列表。

信息行的最后一行是“The command completed successfully”字样时,监听程序启动成

功。

4. 关闭 Oracle10g 监听程序

运行 stop 命令关闭监听程序。

LSNRCTL>stop

7.创建自启动脚本

创建 oracledb 脚本到/etc/init.d/oracledb,内容如下

#!/bin/bash

#

# /etc/init.d/oracledb

#

# Run-level Startup script. for the Oracle Instance, Listener, and

# Web Interface

export ORACLE_HOME=/opt/ora10

export ORACLE_SID=kingdem

export PATH=$PATH:$ORACLE_HOME/bin

ORA_OWNR="oracle"

# if the executables do not exist -- display error

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

echo "Oracle startup: cannot start"

exit 1

fi

# depending on parameter -- startup, shutdown, restart

# of the instance and listener or usage display

case "$1" in

start)

# Oracle listener and instance startup

echo -n "Starting Oracle: "

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

su $ORA_OWNR -c $ORACLE_HOME/bin/dbstart

touch /var/lock/oracle

su $ORA_OWNR -c $ORACLE_HOME/bin/emctl start dbconsole

echo "OK"

stop)

# Oracle listener and instance shutdown

echo -n "Shutdown Oracle: "

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

su $ORA_OWNR -c $ORACLE_HOME/bin/dbshut

rm -f /var/lock/oracle

su $ORA_OWNR -c $ORACLE_HOME/bin/emctl stop dbconsole

echo "OK"

reload|restart)

$0 stop

$0 start

*)

echo "Usage: `basename $0` start|stop|restart|reload"

exit 1

esac

exit 0

设置权限,放到启动脚本中去

#chmod 755 /etc/init.d/oracledb

#update-rc.d oracledb defaults 99

7.使用企业管理器

启动控制台

#emctl start dbconsole

访问数据库控制器

http://localhost.localdomain:1158/em/

要提供 sys/passwd as sysdba

你要从一个客户端浏览器访问 em 数据库控制器,必须要运行 dbconsole 进程.安装之后,dbconsole 进程是自

动会启动的.然后,如果这个集成没有启动,你可以向下面的命令行手工的启动它:

1.到$ORACLE_HOME/bin 目录下

2.执行下面的命令: emctl start dbconsole

这样你就可以打开 web 浏览器,输入下面的 http://hostnameortnumber/em

来访问 em db control.

host 那么是你的计算机的名字或地址.portnumber 是 em db control http 的端口号,这是在安装的时候指定

的.

默认的是 1158 ,你可以在$ORACLE_HOME/install/portlist.ini 文件中找到这个值.

如果实例启动了,EM 就会显示 db control 登录页.你必须使用授权访问 db control 的用户登录到数据库.一开

始是 sys 用户,

使用在安装的时候你确定的 sys 用户的密码.从 connect as 下拉框选 sysdba,然后点登录.这样就会出现 db

control 的主页.

常用命令:

创建用户:

create user USERNAME identified by PASSWORD

授权:

grant connect,resource,dba to USERNAME

导入/导出

全表导入: imp user/password@odbc file=c:\***.dmp full=y ignore=y

单表导入: imp user/password@odbc file= c:\***.dmp tables=t_question_class ignore=y

创建表空间

Sql>create tablespace histdb datafile 'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' size 200m autoextend on next 10m maxsize unlimited

1) DATAFILE: 表空间数据文件存放路径

2) SIZE: 起初设置为200M

3) UNIFORM. 指定区尺寸为128k,如不指定,区尺寸默认为64k

4) 空间名称histdb 与 数据文件名称 histdb.dbf 不要求相同,可随意命名.

5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间

删除表空间

DROP TABLESPACE histdb INCLUDING CONTENTS AND DATAFILES

方法一:

在oracle_home下找到lsnrctl.exe 输入 start

方法二

可能认不到实例名

在cmd下运行

set oracle_sid=自己数据库闭举的实例名(大多数尺歼orcl)

网上还有很多解决办法

也许不见得管用,这种问题具体问题具体分析比较好。介绍的这2种您的机器还不行。就去修改一个TNSNAMES.ORA。

***************************************************************

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = TESTDB)

(ORACLE_HOME = E:\oracle\product\10.2.0\轿困碧db_1)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

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

)

)

Listener 改为上面的样子(ORACLE_SID为TESTDB,如果实际不是,自己改一下).

然后lsnrctl stop

lsnrctl start


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

原文地址: https://outofmemory.cn/yw/12527325.html

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

发表评论

登录后才能评论

评论列表(0条)

保存