By19.Published on七月 20, 2008 18:33.
33 Views .

Loading ...
ORACLE在IMP时更改用户和表空间的记录.
相关方法网络有很多,最常用的是下面这种,不过在IMP的时候还是有报错某个表有索引之类的问题或者其他的字段类型什么的错误导致此表无法创建。不知道是我EXP的数据有问题还是别的什么,总之问题算是正常解决了。
比如我EXP用SDWW对应的表空间SDWW,IMP到DBSDWW对应的表空间DBSDWW:
1、创建用户DBSDWW,如果SDWW是用dba导出的就给其dba 权限,并且赋予resource,connect权限;
2、回收这个用户的unlimited tablespace和对SDWW(就是EXP出来的SDWW对应的表空间,如果你的库里有的话)表空间的权限,给其默认表空间DBSDWW的限额;
SQL> revoke unlimited tablespace from DBSDWW;
撤销成功。
SQL> alter user DBSDWW quota 0 on SDWW;
用户已更改。
SQL> alter user DBSDWW default tablespace DBSDWW;
SQL> alter user DBSDWW quota unlimited on DBSDWW;
之后imp DBSDWW/密码@*** fromuser=SDWW touser=DBSDWW file=f:DBSDWW.dmp
到这里应该会正常导入数据到新的DBSDWW表空间,不过我在导入的过程中抱过几个错导致有些表没有正常创建(忘记什么错了,当时只记录了没有创建的表的表名)比如TAB_DOC这个表,之后我的做法是在PLSQL里先连接到SDWW用户,选择工具——》导出表,选择没有成功创建的表TAB_DOC导出成单独的DMP文件(或者直接用命令),然后连接到要导入的DBSDWW导入TAB_DOC的DMP文件。
此时已经把所有数据算是导入到DBSDWW用户里了,但是如果用客户端的EnterpriseManagerConsole登陆后选择查看方案-》DBSDWW-》表,可以清楚看见最后导入的这个TAB_DOC表还是在SDWW的表空间里。
用了句命令:
ALTER INDEX DBSDWW.TAB_DOC REBUILD TABLESPACE DBSDWW;
把TAB_DOC从SDWW移动到DBSDWW表空间,但是问题又来了,用EnterpriseManagerConsole查看方案-》DBSDWW-》索引,TAB_DOC的索引SYS_TAB_DOC的状态为unusable。
最后:
ALTER INDEX DBSDWW.SYS_TAB_DOC REBUILD TABLESPACE DBSDWW;
把索引SYS_TAB_DOC从SDWW移动到DBSDWW表空间才算全部解决问题。
继续阅读…Continue reading…
By19.Published on七月 15, 2008 18:37.
8 Views .

Loading ...
SVN架设至Apache的配置记录.
安装Apache 2.2.4
安装TortoiseSVN 1.4.4
下载Subversion for Apache 2.2
(版本比较老了,建议下载新版本 – -)
将下载的subversion包释放到比如C:
编辑C:\Apache Software\Foundation\Apache2.2\conf\httpd.conf
找到
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
将前面的#删掉
添加
LoadModule dav_svn_module “C:/svn-win32-1.4.4/bin/mod_dav_svn.so”
LoadModule authz_svn_module “C:/svn-win32-1.4.4/bin/mod_authz_svn.so”
在最后添加
<Location /svn>
DAV svn
SVNParentPath C:/repo
AuthName “Subversion repositories”
AuthType Basic
AuthUserFile “C:repodav_svn.passwd”
AuthzSVNAccessFile “C:repodav_svn.authz”
Require valid-user
</Location>
建立C:repo目录,作为repository存储的根目录,建立测试目录test,使用资源管理器进入该目录,点击右键,通过totorise菜单create reposiotry,存储类型选择fsfs,建立测试库test
打开命令窗口,进入Aapche/bin目录,创建管理用户
htpasswd -c C:repodav_svn.passwd admin
添加其他用户
htpasswd -m C:repodav_svn.passwd test1
在c:repo下建立dav_svn.authz文件,设定访问权限
[groups]
groupA=admin
groupB=test1
#对目录进行权限设置
[test:/]
@groupA=rw
@groupB=r
启动apache,即可通过http://localhost/svn/test访问版本库
不知道我的理解和配置有没有问题 – -,我是按照下面这样添加资源目录的:
#对目录进行权限设置
[test:/]
@groupA=rw
@groupB=r
rw指的是可以提交(commit)也可以更新 (update),r的意思是只能更新 (update)。
之后右键在test目录上右键选择repo-browser 来添加具体的资源目录。
或者在需要放入的资源文件夹下,比如我在test目录下又建立一个目录叫project后在里面放入了一些工程文件后右键选择import就可以全部导入了。
而且我的理解:不能在test目录本身import否则会报错,必须要在test目录下建立资源文件夹。
之后在test文件夹右键repo-browser,打开结构树的文件夹右键选择show log就可以观看各个版本的文件的提交信息了。
SVN中更改服务器的地址可以右键选择RELOCATE来进行更改,并且可以右键->TortoiseSVN->settings->look and feel->Icon Overlays->Status cache来关闭极占资源并且无太大用处的TVSNCache进程。
继续阅读…Continue reading…