说明两个数据库处于nomount状态。
数据库一共有四个状态,分别是shutdown/nomount/mount/open。
每种状态可以执行不同的维护 *** 作。
从shutdown到nomount通过读取参数文件打开实例(分配内存、启动进程),
从nomount到mount状态打开控制文件,
从mount到open打开数据文件和日志文件。
附件添加一篇我写的学习文档。内容是oracle数据库的启动和关闭详解。
希望能帮到你。
1 创建一个名为rman的数据库,可以使用dbca工具,根据向导提示建立即可,该数据库用于备份信息的管理2 在rman数据库中创建rman用户(密码暂设为rman),用于访问rman数据库,并赋予权限
export ORACLE_SID=rman
sqlplus / as sysdba
create user rman identified by rman default tablespace users quota unlimited on users
grant create type,recovery_catalog_owner to rman
exit
3 使用rman用户登录到rman数据库,建立catalog编录
rman catalog rman/rman@rman
create catalog
exit
4 使用rman命令连接要备份的数据库,例如orcl,进行注册
export ORACLE_SID=orcl
rman target / catalog rman/rman@rman
register database
这样就可以通过rman命令进行orcl数据库的备份管理了。
常见rman命令有:
rman target / catalog rman/rman@rman
list backup列出所有备份
report obsolete 列出过期备份
report need backup days=3列出最近三天没有备份的文件
backup database备份数据库
backup tablespace tbsname备份表空间tbsname
restore database 恢复数据库
要求:本地已有生产数据库prod,制定rman备份策略,将数据备份到制定目录/oracle/rman_bk下。现在需要做恢复测试,验证备份出来的数据是有效的。且不影响原有的生产数据库prod。
解决思路:在备份出来的数据中(控制文件),包含了数据库名,数据文件,redo log等文件的存放路径,如果在本地直接做恢复,将和原有的数据库****,因此,需要修改这些信息,将备份出来的数据恢复到另外一个数据库中。具体步骤如下:
创建新数据库数据文件及跟踪文件存放目录
-bash-2.05b$mkdir -p /oracle/oradata/test
-bash-2.05b$mkdir -p /oracle/admin/test/bdump
-bash-2.05b$mkdir -p /oracle/admin/test/udump
-bash-2.05b$mkdir -p /oracle/admin/test/cdump
2.登录到生产数据库。查看当前数据文件信息:
-bash-2.05b$ sqlplus '/ as sysdba'
SQL>select file#,name from v$datafile
FILE# NAME
---------- --------------------------------------------------
1 /oracle/oradata/test/system01.dbf
2 /oracle/oradata/test/undo01.dbf
3 /oracle/oradata/test/users01.dbf
3.利用rman更改数据文件存放路径并restore到新的路径
run {
set newname for datafile 1 to '/oracle/oradata/test/system01.dbf'
set newname for datafile 2 to '/oracle/oradata/test/undo01.dbf'
set newname for datafile 3 to '/oracle/oradata/test/users01.dbf'
restore datafile 1
restore datafile 2
restore datafile 3
}
4。重建控制文件
CREATE CONTROLFILE REUSE set DATABASE "test" RESETLOGS ARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 16
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 1
MAXLOGHISTORY 453
LOGFILE
GROUP 1 '/oracle/oradata/test/redo01.log' SIZE 10M,
GROUP 2 '/oracle/oradata/test/redo02.log' SIZE 10M,
GROUP 3 '/oracle/oradata/test/redo03.log' SIZE 10M
-- STANDBY LOGFILE
DATAFILE
'/oracle/oradata/test/system01.dbf',
'/oracle/oradata/test/undo01.dbf',
'/oracle/oradata/test/users01.dbf'
CHARACTER SET ZHS16GBK
5.打开数据库
SQL>alter database open resetlogs
backup archivelog all delete input format '/rman/rman_%t_%s_%p.arc'
with a as
(select rownum p from dual connect by level<=21)
select
7 + CEIL(
(7 + CEIL(
(7 + CEIL(p/3))
/3))
/3)
from a
7+CEIL((7+CEIL((7+CEIL(p/3))/3))/3
本答案来自于互联网,仅供参考学习作用
如果您对我的回答有不满意的地方,还请您继续追问;
答题不易,互相理解,互相帮助!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)