1、一般使用建表空间、建用户的流程是:
建立表空间;
建立用户角色,赋予权限给用户角色;
建立用户;
赋予用户权限;(把用户角色的权限赋予给用户)
这样后,如果删除了 这个用户角色,那么用户的权限也消失了,需要重新建立这个用户角色,并且重新给此用户赋予角色权限才行。
2、使用逻辑备份,导出的dmp包,里面包含所使用的表空间的名字;
有时在进行导入操作前,并无检查dmp包表空间的名字,导致在导入到另外的服务器数据库时提示表空间不存在,一般我用2个方法来解决:
1、直接修改dmp包。在linux 服务器上直接使用vi x.dmp
通过使用修改名字,全局修改名字
vi x.dmp
:%s/TABLESPACE "xxxx"/TABLESPACE "yyyy"/g
保存退出!
2、由于有时dmp文件很大,打开时十分费时;为了保持新的服务器也是用一样的表空间名字,那么先确认原来使用的表空间名字再建表空间,然后导入。
导入数据库后,如果想修改表空间的名字,那么可以直接用
alter tablespace xxxx rename to yyyy;
进行修改,修改后进行逻辑备份出来的新的dmp 包里面的表空间名字为新的名字。
3、第三个方法好像可以通过在imp导入时是添加index???的参数,来指定导入的表空间来解决,这个我还没试过。
转载于:https://blog.51cto.com/liaozy/747766