windows oracle 忘记密码 解决办法

好久没用oracle数据库了,今天打开连系统管理员密码也忘了,好多权限的操作命令也忘了,于是自己网上找了下解决方法如下:
首先启动oracle数据库
1.正常普通连接进入:sqlplus scott/tiger
或者以管理员身份登录:sqlplus sys/password as sysdba

2.如果忘记了系统管理员密码:
         2.1 可以先匿名登入: sqlplus /nolog
在用本地sid协议的登录: conn / sysdba
如果登不上,报错
      2.2 用orclre实例sid登录
设置环境变量ORACLE_SID的值为你想登录的oracle实例的SID:set ORACLE_SID=orcl
        2.3 该本地oracle的文件:pwdctcsys
再登不上还可以去改本地文件 pwdctcsys 目录一般为: ORACLE_HOME\dbhome_1\database\pwdctcsys.ora
我的 ORACLE_HOME目录在: C:\app\jiangfeng\product\11.2.0\dbhome_1\
则:以admin身份运行打开窗口,运行命令:
orapwd file=C:\app\jiangfeng\product\11.2.0\dbhome_1\database\PWDorcl.ora password=password entries=10 force=y;
这个命令重新生成了数据库的密码文件。密码文件的位置在ORACLE_HOME目录下的\database目录下。 force=y 表示强制跟新覆盖,这个密码是修改sys用户的密码。除sys其他用户的密码不会改变。

以上参考:http://blog.itpub.net/26015009/viewspace-717505/


3. 关于改用户的密码:

系统管理员帐户
先解锁:alter user CHEPC account unlock; (oracle默认用户才解锁,自己建的略过次步骤)
在改密码:alter user CHEPC identified by password;
另外:
select distinct owner from all_objects; 查看当前用户
授权:grant create session to 用户名;
grant create table to 用户名;
grant create tablespace to 用户名;
grant create view to 用户名;


4.数据库的启动脚本(mysql和oracle)

附上:启动oracle数据库的bat脚本文件:(前一半命令是获取系统admin权限)

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::      软媒魔方自动添加批处理文件管理员权限      ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
CLS
ECHO.

:init
setlocal DisableDelayedExpansion
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
:getPrivileges
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
ECHO.
ECHO ********************************
ECHO 请求 UAC 权限批准……
ECHO ********************************
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " "  >> "%vbsGetPrivileges%"
ECHO Next >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
exit /B
:gotPrivileges
setlocal & pushd .
cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul  &  shift /1)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::     以下为需要运行的批处理文件代码     ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
rem 本行以下可修改为你需要的bat命令(从上面三行冒号开始到下面都可删改)

@echo off
:dosmenu
REM 选择菜单
echo #**********************************************************************#
echo       Windows 服务启动脚本     
echo #**********************************************************************#
echo       命令相关参数说明如下 快速切换
echo #**********************************************************************#
echo.
echo [1]启动 mysql  [2]关闭mysql [3]启动oracletest  [4]关闭oracletest  [5]关闭  
echo.
echo #**********************************************************************#
set /P CHS= 请选择: [1],[2],[3],[4],[5]
if /I "%CHS%"=="1" (
goto aaaa
) 
if /I "%CHS%"=="2" (
goto bbbb
)
if /I "%CHS%"=="3" (
goto cccc
)
if /I "%CHS%"=="4" (
goto dddd
)
if /I "%CHS%"=="5" (
goto zzzz
)
:aaaa
rem 打开mysql
net start "mysql"
pause
cls
goto dosmenu

goto dosmenu
:bbbb
rem 关闭mysql
net stop "mysql"
pause
cls
goto dosmenu
:cccc
REM 启动oracletest 
net start "OracleServiceORCL"
net start "OracleOraDb11g_home1TNSListener"
pause
cls

:dddd
rem 关闭oracletest
net stop "OracleOraDb11g_home1TNSListener"
net stop "OracleServiceORCL"
pause
cls
goto dosmenu
:zzzz
REM 退出
exit

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值