3 恢复目录
31恢复目录的概念
恢复目录是由RMAN使用、维护的用来放置备份信息的仓库。RMAN利用恢复目录记载的信息去判断如何执行需要的备份恢复 *** 作。
恢复目录可以存在于ORACLE数据库的计划中。
虽然恢复目录可以用来备份多个数据库,建议为恢复目录数据库创建一个单独的数据库。
恢复目录数据库不能使用恢复目录备份自身。
32建立恢复目录
第一步,在目录数据库中创建恢复目录所用表空间:
SQL> create tablespace rman_ts datafile 'd:\oracle\oradata\rman\rman_tsdbf' size 20M;
表空间已创建。
第二步,在目录数据库中创建RMAN 用户并授权:
SQL> create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;
用户已创建。
SQL> grant recovery_catalog_owner to rman ;
授权成功。
SQL> grant connect, resource to rman ;
授权成功。
第三步,在目录数据库中创建恢复目录
C:\>rman catalog rman/rman
恢复管理器:版本81600 - Production
RMAN-06008:连接到恢复目录数据库
RMAN-06428:未安装恢复目录
RMAN>create catalog tablespace rman_ts;
RMAN-06431:恢复目录已创建
注意:虽然使用RMAN不一定必需恢复目录,但是推荐使用。因为恢复目录记载的信息大部分可以通过控制文件来记载,RMAN在恢复数据库时使用这些信息。不使用恢复目录将会对备份恢复 *** 作有限制。
33使用恢复目录的优势
可以存储脚本;
记载较长时间的备份恢复 *** 作;
4 启动RMAN
RMAN为交互式命令行处理界面,也可以从企业管理器中运行。
为了使用下面的实例,先检查环境符合:
the target database is called "his" and has the same TNS alias
user rman has been granted "recovery_catalog_owner "privileges
目标数据库的连接用户为internal帐号,或者以其他SYSDBA类型帐号连接
the recovery catalog database is called "rman" and has the same TNS alias
the schema containing the recovery catalog is "rman" (same password)
在使用RMAN前,设置NLS_DATE_FORMAT 和NLS_LANG环境变量,很多RMAN LIST命令的输出结果是与日期时间相关的,这点在用户希望执行以时间为基准的恢复工作也很重要。
下例是环境变量的示范:
NLS_LANG= SIMPLIFIED CHINESE_CHINAZHS16GBK
NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS
为了保证RMAN使用时能连接恢复目录,恢复目录数据库必须打开,目标数据库至少要STARTED(unmount),否则RMAN会返回一个错误,目标数据库必须置于归档模式下。
41使用不带恢复目录的RMAN
设置目标数据库的 ORACLE_SID ,执行:
% rman nocatalog
RMAN> connect target
RMAN> connect target internal/<password>@his
42使用带恢复目录的RMAN
% rman rman_ts rman/rman@rman
RMAN> connect target
% rman rman_ts rman/rman@rman target internal/<password>@his
43使用RMAN
一旦连接到目标数据库,可以通过交互界面或者事先存储的脚本执行指定RMAN命令, 下面是一个使用RMAN交互界面的实例:
RMAN> resync catalog;
RMAN-03022:正在编译命令:resync
RMAN-03023:正在执行命令:resync
RMAN-08002:正在启动全部恢复目录的 resync
RMAN-08004:完成全部 resync
使用脚本的实例:
RMAN> execute script alloc_1_disk;
创建或者替代存储的脚本:
RMAN> replace script alloc_1_disk {
2> allocate channel d1 type disk;
3> }
5注册或者注销目标数据库
51注册目标数据库
数据库状态:
恢复目录状态:打开
目标数据库:加载或者打开
目标数据库在第一次使用RMAN之前必须在恢复目录中注册:
第一步,启动恢复管理器,并且连接目标数据库:
C:\>rman target internal/oracle@his catalog rman/rman@rman
恢复管理器:版本81600 - Production
RMAN-06005:连接到目标数据库:HIS (DBID=3021445076)
RMAN-06008:连接到恢复目录数据库
第二步,注册数据库:
RMAN> register database;
RMAN-03022:正在编译命令:register
RMAN-03023:正在执行命令:register
RMAN-08006:注册在恢复目录中的数据库
RMAN-03023:正在执行命令:full resync
RMAN-08002:正在启动全部恢复目录的resync
RMAN-08004:完成全部resync
52注销目标数据库
RMAN提供了一个注销工具,叫DBMS_RCVCAT工具包,请注意一旦注销了该目标数据库,就不可以使用恢复目录中含有的备份集来恢复数据库了。
为了能注销数据库,需要获得数据库的标识码(DB_ID)和数据库键值(DB_KEY)。其中连接目标数据库时将会获得DB_ID。
C:\>rman target internal/oracle@his catalog rman/rman@rman
恢复管理器:版本81600 - Production
RMAN-06005:连接到目标数据库:HIS (DBID=3021445076)
RMAN-06008:连接到恢复目录数据库
其中DBID=3021445076,利用DBID=3021445076查询数据库键值码:
连接到目标数据库,查询db表:
SQL> select from db;
DB_KEY DB_ID CURR_DBINC_KEY
---------- ---------- --------------
1 3021445076 2
获得DB_KEY=1,这样,该目标数据库DB_KEY=1,DBID=3021445076,利用两个值使用DBMS_RCVCAT工具包就可以注销数据库:
SQL> execute dbms_rcvcatunregisterdatabase(1,3021445076);
PL/SQL 过程已成功完成。
至此,注销数据库 *** 作完成。
请采纳。
1获取当前Subject调用SecurityUtilsgetSubject();
2测试当前用户是否已经被认证,即是否已经登录,调用Subject的isAurhenticated();
3若没有认证,则把用户名和密码封装成UsernamePasswordToken对象
对于B/S应用程序来说,一般用户名和密码是在前台表单中获得的:
1创建一个表单页面
2把请求提交到SpringMVC的Controller
3获取用户名和密码
4执行登录:调用Subjectlogin(AuthenticationToken) 方法
5自定义Realm方法,从数据库中获取对应的记录,返回给Shiro
自定义Realm的实现:
1继承orgapacheshirorealmAuthenticatingRealm类
2实现doGetAuthenticationInfo(AuthenticationToken)方法
1、首先在 SQL Server 2008中选择单击Microsoft SQL Server 2008 Management Studio,会出现一个窗口。2、在服务器名称中选择本机的服务器名字。然后单击连接按钮。就进入Microsoft SQL Server 2008 Management Studio。3、右键单击数据库,选择新建数据库,会出来一个窗口,在这个窗口里可以输入你要建的数据库的名称,同时也可以修改数据库的文件类型。4、数据库的名称和类型都弄好后,点击下方的确定 按钮。数据库就建立了。5、要是想删除自己不想要的数据库也很简单。鼠标右键点击自己不想要的数据库,然后选择删除 ,那么该数据库就删除了。
javalangIllegalArgumentException: Document base D:\stuDB30\Tomcat\webapps\balancer does not exist or is not a readable directory
不是说不存在这个文件BALANCET或者路径不对嘛!
里边好象有JAVA的语言 有点看不懂了
首先,的删除数据库某一列的值分几种情况:
不删除字段,只更新其中的内容
在数据库中其实叫做更新(update)
语句如下:
update 表 set 字段=null
2、删除字段
alter table 表 drop column 字段
数据库一直以来给我的感觉就是——麻烦!!!
接触了Realm之后才终于可以开开心心的使用数据库了。
本文总结一些Realm数据库的常用知识点,包括多线程访问,以及如何与Retrofit20一起使用等
看懂这些知识点之后,个人认为就可以在一般的项目中使用Realm了。
1 model类必须extends RealmObject,所有属性必须用private修饰
2 model中支持基本数据结构:boolean, byte, short, ìnt, long, float, double, String, Dateand byte[]
3若要使用List必须用RealmList<T>,或者继承RealmList
4与Retrofit2一起使用,通过Gson来解析Json数据并直接生成RealmObject,可参考如下写法:
[java] view plain copy
Gson gson = new GsonBuilder()
setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return fgetDeclaringClass()equals(RealmObjectclass);
}
@Override
public boolean shouldSkipClass(Class<> clazz) {
return false;
}
用Navicat打开realmd 数据库 找到table 然后里面会有realmlist表,在里面找到gamebuild这一栏,然后改成你要改的客户端版本号(Navicat是图形化界面工具 *** 作起来很简单的)。如果你够牛就自己写sql语句改写就是了commandsql这个估计是哪个表生成的sql patch文件吧,Navicat 把你图形化 *** 作的结果生成后缀sql文件的功能,以供你进行导入到Navicat中。
以上就是关于oracle RMAN 的使用全部的内容,包括:oracle RMAN 的使用、shiro中没有subject.login()方法,却自动走realm中的认证方法,为什么、ios realm移动端数据库怎么看等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)