oracle中rman后显示“连接到目标数据库***<未装载>”是怎么回事?

oracle中rman后显示“连接到目标数据库***<未装载>”是怎么回事?,第1张

说明两个数据库处于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

本答案来自于互联网,仅供参考学习作用

如果您对我的回答有不满意的地方,还请您继续追问;

答题不易,互相理解,互相帮助!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9901949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存