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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章