忘记了oracle 9i的所有密码,所有的用户sys system sysman scott等等,以及网上说的很多方法,如3.sqlplus / as sysdba;
4.alter user sys identified by 123; 5.alter user system identified by 123; 等等都没有用!我忘记了所有的用户密码,进SQL*PLUS都不能进
,幸好还可以通过命令行进去,但是进去了也没用,不知道用哪个用户连接??谁能告诉我该怎么办啊。
4.alter user sys identified by 123; 5.alter user system identified by 123; 等等都没有用!我忘记了所有的用户密码,进SQL*PLUS都不能进
,幸好还可以通过命令行进去,但是进去了也没用,不知道用哪个用户连接??谁能告诉我该怎么办啊。
在使用Oracle Instance Manager创建一数据库实例的时侯,在ORACLE_HOME\DATABASE目录下还自动创建了一个与之对应的密码文件,文件名为 PWDSID.ORA,其中SID代表相应的Oracle数据库系统标识符。此密码文件是进行初始数据库管理工作的基矗在此之后,管理员也可以根据需要,使用工具ORAPWD.EXE手工创建密码文件,命令格式如下:C:\ >ORAPWDFILE=< FILENAME >PASSWORD =< PASSWORD > ENTRIES=< MAX_USERS >各命令参数的含义为:FILENAME:密码文件名;PASSWORD:设置INTERNAL/SYS帐号的口令;MAX_USERS:密码文件中可以存放的最大用户数,对应于允许以SYSDBA/SYSOPER权限登录数据库的最大用户数。由于在以后的维护中,若用户数超出了此限制,则需要重建密码文件,所以此参数可以根据需要设置得大一些。
show user;
如下操作可以自己修改密码。
(数据库本机系统用户登录,可以不输入密码登录数据库,sql下语句以";"结尾,如果提示2行号或其他行号,而你又不要输入内容,可以输入“/” 符号,以执行以上语句内容。)Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.C:\Documents and Settings\Administrator>sqlplus /nologSQL*Plus: Release 9.2.0.8.0 - Production on 星期三 10月 28 09:21:40 2009Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> conn /as sysdba
已连接。
SQL>alter user sys identified by 123;
楼主生成的文件放到什么目录下了? 要放到$ORACLE_HOME\database 目录下面
orapwd file=D:\oracle\ora92\database\PWDorcl.ora password=admin entries=5; windows下oracle默认的位置是db_1/database目录,默认的文件名是pwdSID.ora,对于别的文件名是不认的。linux下oracle默认的位置是$ORACLE_HOME/dbs目录,默认的文件名是orapwSID,对于别的文件名是不认的。
其中参数entries的含义是表示口令文件中可以存放的最大用户数,对应于允许以SYSDBA/SYSOPER权限登录数据库的最大用户数,如果用户数超过这个值只能重建口令文件,增大entries。
cmd:sqlplus /nolog
SQL>
SQL>conn /as sysdba
SQL>Connected.
SQL>Show user
USER is "SYS"
SQL>alter user liap identified by liap;User altered.SQL>grant sysdba to liap;*
ERROR at line 1:
ORA-01994:GRANT failed:connot add users to public password file搜索不到密码文件pwdSID.ora·····折腾了这么久,我也有点点理解,如果是在本机上,可以使用系统认证的方法修改用户密码,类似我刚刚操作的;但是如果是远程的,可以使用重建密码文件方法。不知道我说的对不对,但是我两种方法都行不通。登录不了ORACLE Enterprise manager console(非独立启动,而是登陆到服务器)
系统认证还是原来的问题,在命令行里可以CONNECTED,但是到ORACLE Enterprise manager console就登录不聊,提示:VTK-1000:无法连接到managerment server zcb。请验证您已输入oracle managerment server的正确主机名和状态。
密码文件认证提示以下错误:OPW:00001 unable to open password file。
4.alter user sys identified by 123; 5.alter user system identified by 123; 等等都没有用!我忘记了所有的用户密码,进SQL*PLUS都不能进
,幸好还可以通过命令行进去,但是进去了也没用,不知道用哪个用户连接??谁能告诉我该怎么办啊。
用sqlplus / as sysdba;这样的方式登录数据库是不涉及到sys用户的密码文件的,该方式是用操作系统认证的方式登录数据库。只要你登录服务器的用户属于osdba组,就能够通过sqlplus / as sysdba;进入数据库的。然后在进行alter user sys identified by 123;操作,即可。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;public class ConcurrentTest { private static int thread_num = 200;
private static int client_num = 460;
private static Map keywordMap = new HashMap(); static {
try {
InputStreamReader isr = new InputStreamReader(new FileInputStream(
new File("clicks.txt")), "GBK");
BufferedReader buffer = new BufferedReader(isr);
String line = "";
while ((line = buffer.readLine()) != null) {
keywordMap.put(line.substring(0, line.lastIndexOf(":")), "");
}
} catch (Exception e) {
e.printStackTrace();
} } /*
*
* @param args
*
* @BuildDate:2010-1-19
*
* @Version
*/
public static void main(String[] args) { int size = keywordMap.size(); // TODO Auto-generated method stub
ExecutorService exec = Executors.newCachedThreadPool();
// 50个线程可以同时访问
final Semaphore semp = new Semaphore(thread_num);
// 模拟2000个客户端访问
for (int index = 0; index < client_num; index++) {
final int NO = index;
Runnable run = new Runnable() {
public void run() {
try {
// 获取许可
semp.acquire();
System.out.println("Thread:" + NO);
String host = "http://10.99.23.42:7001/KMQueryCenter/query.do?";
String para = "method=getQueryResult&pageNum=1&pageSize=5&"
+ "queryKeyWord="
+ getRandomSearchKey(NO)
+ "&questionID=-1&questionIdPath=-1&searchType=1"
+ "&proLine=&proSeries=&proType=" + NO;
System.out.println(host + para);
URL url = new URL(host);// 此处填写供测试的url
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
// connection.setRequestMethod("POST");
// connection.setRequestProperty("Proxy-Connection",
// "Keep-Alive");
connection.setDoOutput(true);
connection.setDoInput(true); PrintWriter out = new PrintWriter(connection
.getOutputStream());
out.print(para);
out.flush();
out.close(); BufferedReader in = new BufferedReader(
new InputStreamReader(connection
.getInputStream())); String line = "";
String result = "";
while ((line = in.readLine()) != null) {
result += line;
} // System.out.println(result);
// Thread.sleep((long) (Math.random()) * 1000);
// 释放
System.out.println("第:" + NO + " 个");
semp.release();
} catch (Exception e) {
e.printStackTrace();
}
}
};
exec.execute(run);
}
// 退出线程池
exec.shutdown();
} private static String getRandomSearchKey(final int no) {
String ret = "";
int size = keywordMap.size();
// int wanna = (int) (Math.random()) * (size - 1);
ret = (keywordMap.entrySet().toArray())[no].toString();
ret = ret.substring(0, ret.lastIndexOf("="));
System.out.println("\t" + ret);
return ret;
}
}