您的位置:首页 > 数据库 > Oracle

忘了Oracle的sys用户和MySQL的root用户密码,解决方法

2010-04-14 14:08 621 查看
忘了Oracle的sys用户和MySQL的root用户密码,解决方法
2007年03月16日星期五09:44
作者:hexiong 
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://hi.baidu.com/hexiong/blog/item/b4acd72a85272d2cd42af1b1.html
经常碰到有人在论坛上问这个问题,干脆在这里总结一下。当然这里不主张采用所谓的“暴力”破解这类野蛮的方法。
首先,真想批评一下使用数据库的人,怎么连密码都忘掉了呢?

一、先看看MySQL

新装MYSQL默认搂ROOT密码为空
设置如下:mysql-urootmysql
mysql>状态下输入updateusersetpassword=password('新密码')whereuser='root';
回显
QueryOK,0rowsaffected(0.00sec)
Rowsmatched:2Changed:0Warnings:0
mysql>状态下输入FLUSHPRIVILEGES;
回显
QueryOK,0rowsaffected(0.00sec)
mysql>状态下输入quit
退出sql

如果忘记了ROOT密码,要重置ROOT密码的话
设置如下:1.KILL掉系统里的MySQL进程;
2.用以下命令启动MySQL,以不检查权限的方式启动;
mysqld--skip-grant-tables&
3.然后用空密码方式使用root用户登录MySQL;
mysql-uroot
4.修改root用户的密码;
mysql>updatemysql.usersetpassword=PASSWORD('新密码')whereUser='root';
mysql>flushprivileges;
mysql>quit
5.重新启动MySQL,就可以使用新密码登录了。

如果想修改现有密码
设置如下:
mysql-uroot-p
password:输入你的旧密码
mysql>updatemysql.usersetpassword=PASSWORD('新密码')whereUser='root';
mysql>flushprivileges;
mysql>quit
重新启动MySQL,就可以使用新密码登录了。
当然这里其实可以使用更优雅的法子:
mysql有这么个命令:
mysqladmin-uroot-ppassword新密码



二、再看Oracle数据库
忘了sys密码,再修改sys密码,一般是通过生新生成密码文件来恢复

用工具orapwd创建新的口令文件.将文件保存到%ORACLE_HOME%/database目录下面,
ORAPWDFILE=%ORACLE_HOME%/database/PWDoral.orapassword=admin

顺便借花献佛,手动创建一个Oracle实例及其数据库的方法如下:

1、备分数据库
2、产生并编辑InitSID.ora参数文件
3、创建实例
4、启动实例
5、创建数据库

1、原参数文件模板在C:/oracle/admin/orcl/pfile路径下,拷贝到C:/oracle/ora92/database(oracle默认参数路径)路径下。修改文件名,命名规则——init实例名.ora如:initjind.ora
接下来修改initjind.org,如不确定的参数可以注释掉,这样oracle会使用缺省值。

2、创建实例:
命令:oradim-new-sidjind-intpwd123456-startmodeauto
new——新建一实例
sid——实例名
intpwd——sys用户的口令
startmode——自动打开数据库
命令执行后所做操作:新建立一服务,建立口令文件(C:/oracle/ora92/database/PWDjind.ORA),注册表中HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0增加四个键值。

#RAC的概念——多个实例对应一个数据库。两台计算机各装一个实例,对应同一个数据库,这个数据库放在阵列上。
#unix下没有注册表,不用执行创建实例命令,配置好参数文件放到指定位置,用orapwd命令创建一口令文件即可。

3、启动实例:
setoracle_sid=jind
c:/>sqlplus/nolog
SQL>connectsys/123456assysdba
SQL>startupnomount
#实例启动慢,是因为警告文件和日志文件路径在参数文件中填写错误。

4、创建数据库
其实就是创建数据文件(system表空间的)、日志文件、控制文件(路径已在实例的参数文件中配置)。

输入命令:
createdatabasejind
logfilegroup1'd:/jind/jind1a.log'size4m,
group2'd:/jind/jind12a.log'size4m
datafile'd:/jind/system1.dbf'size200m
autoextendonnext10mmaxsizeunlimited
undotablespaceundotbs1datafile'd:/jind/undo1.dbf'size50m
charactersetzhs16gbk
执行后显示:“数据库已创建。
5、安装数据字典视图:
@C:/oracle/ora92/rdbms/admin/catalog.sql
6、安装系统包及过程:
@C:/oracle/ora92/rdbms/admin/catproc.sql
查看:selectusernamefromdba_users;(查询用户)
selecttablespace_namefromdba_tablespaces;(查看表空间)
7、安装用户资源集:
SQL>connectsystem/manager(必须用system安装,sys安装后将来可能会出现错误)
已连接。
SQL>@%oracle_home%/sqlplus/admin/pupbld.sql

#数据字典视图,大致分三类.DBA_??开头的是查询整个数据库中的对象,USER_???开头的可以查看用户拥有的对象.ALL_??开头的,用户可以访问的对象.

8、配置监听文件(也可以使用NetManager工具配置)
  路径:C:/oracle/ora92/network/admin/listener.ora(服务器端监听文件)
         参数说明:GLOBAL_DBNAME=数据库名 SID_NAME=实例名 

     修改后重新启动监听服务,unix下用使用lsnrctl命令 进入后stop关闭监听,start启动监听
     C:/oracle/ora92/network/admin/tnsnames.ora(客户端监听文件)

  验证:用system用户登陆,
       SQL>selectinstance_namefromv$instance;
       INSTANCE_NAM
       ----------------
       jind

oracle实例管理

操作系统验证:
C:/oracle/ora92/network/admin/sqlnet.ora
必须有这行,SQLNET.AUTHENTICATION_SERVICES=(NTS)(意义不大)
创建口令文件:
orapwdfile=口令文件名 password=口令 entries=数量(缺省值是5)其他用户加入到sysdba组,就具有了SYS一样的权限,所以也要写入到口令文件中。这个设置指定最多可以有5个这样的用户。   
windows下 口令文件名是pwdsid.ora unix下:口令文件名是orapwsid.ora
 例如:

查看口令文件中的用户命令:

select*fromv$pwfile_users;

数据库的启动过程:
关闭数据库命令:SQL>shutdownimmediate
启动数据库命令:SQL>startup
启动到nomount状态:SQL>startupnomount (读取参数文件)
启动到加载数据库状态:SQL>alterdatabasemount;(读取控制文件)
启动到打开数据库状态:SQL>alterdatabaseopen;(读取数据文件和日志文件)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: