方法:
创新互联主营西宁网站建设的网络公司,主营网站建设方案,成都app开发,西宁h5微信平台小程序开发搭建,西宁网站营销推广欢迎西宁等地区企业咨询
1. 打开secureCRT,连接到数据库所在的linux机器。若用户为root,请输入命令“su - oracle”并回车,若要密码,输入密码后并回车,就切换到了oracle用户下。
2. 关掉oracle的监听进程:命令为“lsnrctl stop”并回车,这时外部没法连接到数据库了。如图有提示关闭成功信息。
3.先杀掉所有session,“ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCAL=NO|awk '{print $2}'|xargs kill”也可以用其他办法。然后用sqlplus登录到数据库。命令依次为:“sqlplus /nolog”-“connect / as sysdba” ,最后用命令关闭oracle数据库"shutdown immediate" 。关闭命令的时候需要等待点时间,成功后会有如图的提示。
4.用命令"exit"退出sqlplus。然后用命令“lsnrctl start”启动数据库的监听进程。如图提示语句表明启动成功。
5.先用sqlplus登录到数据库。命令依次为:“sqlplus /nolog”-“connect / as sysdba”。然后输入命令“startup”并回车。等待几分钟会出现如图提示信息。最后用命令“exit”退出sqlplus。
方法/步骤 用CRT以安装oracle数据库的用户连接oracle数据库所在服务器。 (以服务器为linux 为例) 输入命令: sqlplus /nolog ,进入oracle控制台,并输入 conn /as sysdba;以DBA角色进入。 连接成功后,输入“select username from dba_users”
没关系的,忘记密码后可以通过sysdba用户重新进行密码设置。 sql: conn /as sysdba;--用dba权限登录 sql:alter user username identified by newpassword; --修改忘记密码用户的密码 sql:conn username/newpassword;--用此用户登录。
cmd启动Oracle数据库
新建一个bat文件,复制内容进去,双击即可启动.
?
1
2
3
4
@echo off
net start OracleXETNSListener 2nul
net start OracleServiceXE 2nul
@oradim -startup -sid XE -starttype inst nul 21
Oracle重置数据库命令
新建bat文件,复制以下内容,然后执行。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
@echo off
REM
REM The script assumes that user can connect using "/ as sysdba"
REM
REM =================
REM Restore procedure
REM =================
REM
REM If Installed Oracle home is also lost and oracle binaries were
REM re-installed or the Oracle is installed to new oracle home location
REM compared to backup time, then user will be prompted to enter Flash
REM Recovery Area location.
REM
REM For database in NoArchiveLog mode, database is restored to last offline
REM backup time/scn;
REM For database in Archive log mode, database is restored from last backup
REM and a complete recovery is attempted. If complete recovery fails,
REM user can open the database with resetlogs option provided the files
REM are not recovery fuzzy.
REM
REM The restore log is saved in ?/DATABASE/OXE_RESTORE.LOG
REM
setlocal
set /p inp="This operation will shut down and restore the database. Are you sure [Y/N]?"
:checkinp
if /i "%inp%" == "Y" goto :confirmedyes
if /i "%inp%" == "n" exit
:Askagain
set /p inp=
goto :checkinp
:confirmedyes
echo Restore in progress...
echo db_name=xe %temp%\rman_dummy.ora
echo sga_target=270M %temp%\rman_dummy.ora
net start oracleserviceXe
REM Startup database in nomount mode using RMAN...
@(
echo set echo on^;
echo startup nomount pfile=%temp%\rman_dummy.ora force^;
) %temp%\restore_rman0.dat
rman target / @%temp%\restore_rman0.dat
if not %errorlevel% == 0 set Errorstr= RMAN Error - could not startup dummy instance goto :restorefailederr
@(
echo connect / as sysdba^;
echo set head off
echo set echo off
echo set linesize 515
echo variable var varchar2^(512^)^;
echo execute :var := sys.dbms_backup_restore.normalizefilename^(^'SPFILE2INIT^'^)^;
echo spool %temp%\spfile2init.log
echo select sys.dbms_backup_restore.normalizefilename^(^'SPFILE2INIT.ORA^'^) spfile2init from dual^;
echo exit^;
) %temp%\spfile2init.sql
sqlplus /nolog @%temp%\spfile2init.sql nul
FOR /F %%i in (%temp%\spfile2init.log) do set SPFILE2INIT=%%i
@(
echo connect / as sysdba;
echo set head off
echo set echo off
echo set linesize 515
echo variable var varchar2^(512^)^;
echo execute :var := sys.dbms_backup_restore.normalizefilename^(^'FRA_LOC^'^)^;
echo spool %temp%\restore_rmanlog.log
echo select sys.dbms_backup_restore.normalizefilename^(^'OXE_RESTORE.LOG^'^) RESTORE_RMANLOG from dual^;
echo exit^;
) %temp%\restore_rmanlog.sql
sqlplus /nolog @%temp%\restore_rmanlog.sql nul
FOR /F %%i in (%temp%\restore_rmanlog.log) do set RESTORE_RMANLOG=%%i
if not exist ^"%SPFILE2INIT%^" goto get_rcvarea_loc
@(
echo set echo on^;
echo shutdown immediate^;
echo startup nomount pfile=^"%SPFILE2INIT%^"^;
echo restore ^(spfile from autobackup^) ^(controlfile from autobackup^)^;
echo startup mount force^;
echo configure controlfile autobackup off^;
echo restore database^;
) %temp%\restore_rman1.dat
rman target / @%temp%\restore_rman1.dat trace "%RESTORE_RMANLOG%"
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for error goto :restorefailederr
goto restored_files
:get_rcvarea_loc
set /p rcvarea_loc="Enter the flash recovery area location:"
@(
echo set echo on^;
echo restore ^(spfile from autobackup db_recovery_file_dest=^'%rcvarea_loc%^'^)^;
echo startup nomount force^;
echo restore ^(controlfile from autobackup^)^;
echo alter database mount^;
echo configure controlfile autobackup off^;
echo restore database^;
) %temp%\restore_rman1.dat
rman target / @%temp%\restore_rman1.dat trace "%RESTORE_RMANLOG%"
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for error goto :restorefailederr
goto restored_files
:restored_files
@(
echo connect / as sysdba^;
echo declare cursor n1 is select name from v$tempfile^;
echo begin
echo for a in n1
echo loop
echo begin
echo sys.dbms_backup_restore.deletefile^(a.name^)^;
echo exception
echo when others then
echo null^;
echo end^;
echo end loop^;
echo end^;
echo /
echo exit^;
echo /
) %temp%\deltfile.sql
sqlplus /nolog @%temp%\deltfile.sql nul
@(
echo connect / as sysdba^;
echo set head off
echo set echo off
echo spool %temp%\logmode.log
echo select log_mode from v$database^;
echo exit^;
) %temp%\logmode.sql
sqlplus /nolog @%temp%\logmode.sql nul
FOR /F %%i in (%temp%\logmode.log) do set LOGMODE=%%i
if "%LOGMODE%" == "NOARCHIVELOG" goto process_noarchivelog
if "%LOGMODE%" == "ARCHIVELOG" goto process_archivelog
set Errorstr= Unknown log mode : %LOGMODE%
goto :restorefailederr
:process_noarchivelog
@(
echo set echo on^;
echo alter database open resetlogs;
) %temp%\restore_rman2.dat
rman target / @%temp%\restore_rman2.dat trace "%RESTORE_RMANLOG%" append
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for details goto :restorefailederr
goto :restoresucess
:process_archivelog
@(
echo set echo on^;
echo recover database^;
echo alter database open resetlogs;
) %temp%\restore_rman2.dat
rman target / @%temp%\restore_rman2.dat trace "%RESTORE_RMANLOG%" append
if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for details goto :restorefailederr
goto :restoresucess
:restoresucess
echo Restore of the database succeeded.
echo Log file is at %RESTORE_RMANLOG%.
pause Press any key to exit
exit
goto :EOF
:restorefailederr
echo ==================== ERROR =============================
echo Restore of the database failed.
echo %Errorstr%.
echo Log file is at %RESTORE_RMANLOG%.
echo ==================== ERROR =============================
pause Press any key to exit
exit
goto :EOF