Timesten重建用户,datastore.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Timesten重建用户,datastore

Timesten重建用户,datastore一、实例背景:在测试环境中需要在内存库上将bill用户下的所有对象全部删除,然后再从正式环境中将其bill用户下的对象导入测试环境的bill用户下。二、操作总结(比较白话,没有直接写最终的操作方法,而是记录了所有错误经过)1、沿袭操作ORACLE数据库的思想,在这种情况下,一般会首先DROP掉bill用户(drop用户的同时,删除该用户下所有对象),然后重建bill用户,再从正式环境中将其bill用户下的对象导入测试环境的bill用户下。 操作步骤:Command drop user bill;15167: Cannot drop a user that is currently connected第1种报错:很明显,oracle也有这样的情况,当前有链接,不能drop,停下应用应该就能避免这个错了,还这么报错的话就不知道是谁连这个库了,直接杀session吧!是不是要问怎么杀session,我当时也这么问自己的,很自然的就想当然一把,借鉴一下oracle的经验吧,从v$session系统视图里找出要杀的session,alter system kill session。。。其实压根不是这么回事,因为根本就没有v$session这么个视图,怎么办呢,timesten肯定不会杀不了session的,最笨的办法就是先把tt库停了,ttDaemonAdmin –stop,(停之前做个Commandcall ttckpt;)然后再起来ttDaemonAdmin –start,这样以前的不管什么session也没了;可是这样太粗鲁了,咱们还是有温柔一点的方法的,ttxactadmin dsn 这条命令就能解决啦,是不是很难记,光记个起停就很烦了,其实执行下这个命令就知道这就是查出支持那个session的系统PID,查出来直接kill,既然是要找个pid,那ps –ef 足够了。OK,经过一番努力session终于杀死了,重新drop下试试吧!Command drop user bill;15168: Cannot drop a user that owns database objects (TABLE BILL.A)The command failed.第2种报错:看字面意思就是,不能删除有对象的用户,换句话说不就是删用户前要先把它的对象都删了,查看了下Timesten的文档对于drop user的描述:DescriptionBefore you can drop a user:The user must exist either internally or externally in the database.You must drop objects that the user owns.When replication is configured, this statement is replicated.这个描述写了对执行drop user前应该确认的事,第一条是废话,没这个用户肯定没法子drop了;第二条就是上面那个错误的原因了,存在对象的用户不能被drop;第三条看意思是存在复制关系的时候drop用户这条操作也会被复制的,就是备机的这个用户也会被drop掉,测试环境限制,没能试试,不过相信oracle的文档不会忽悠人的。现在似乎情况已经明朗了,造语句一个一个对象的删吧,嗯我查了下,对象也就几百个,找出来慢慢删这实在不符合我的懒惰品质,于是借助google和度娘开始找寻别的方法完成这个任务。终于发现了data store这个东西,bill用户就是建立在一个叫做master1的datastore上的,那么直接destroy掉这个datastore再重新建个datastore,再在上面建用户bill可以么,事实证明是可以的。先看看datastore是什么吧,官方的解释:DataStoreThe database path name uniquely identifies the physical database. It is the full path name of the database and the file name prefix, for example: C:\data\AdminData. This name is not a file name. The actual database file names have suffixes, such as .ds0 and .log0, for example C:\data\AdminData.ds0 and C:\data\AdminData.log0.这段话就是告诉我们datastore是数据库文件名的前缀

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档