imp和exp命令对Oracle9i+SDE空间数据库的整体备份、恢复或迁移
2009-04-03 00:21
357 查看
imp和exp命令对Oracle9i+SDE空间数据库的整体备份、恢复或迁移:
字串4
假设:现在需要把OriSDE服务器上的空间数据库迁移到DesSDE服务器上,在创建SDE时二个服务器上的默认用户都是SDE,密码是SDE。OriSDE服务器上还有另外一个SDE数据用户RasterData,密码是RasterData。
1, 备份SDE用户(创建SDE时默认创建的用户)下的所有数据:例如
exp sde/sde@ OriSDE file=c:/sde.dmp
2, 备份其它操作SDE数据的用户,方法同上。例如:
ExpRasterData/RasterData@ OriSDE file=c: RasterData.dmp
3, 停止DesSDE服务器上的服务:
a) 方法1:打开cmd,输入以下语名:sdemon –o shutdown –s DesSDE(服务名) –p SDE(SDE用户的密码),如下图: 字串1
注:出现上图中的第二行语句才说明SDE服务已经被成功停止了。
b) 方法2:在控制面板中打到ArcSDE服务后停止它。
注意:一定要确保DesSDE已经被关闭了!才能进行以下的操作!
4, 打开DesSDE上的Oracle控制台,并以DBA的身份登录DesSDE,然后删除方案SDE下面的所有对象,包括:表、索引、视图、同义词、序列、簇、源类型、用户类型。如下图所示:
字串5
一般情况下,删除表、索引,视图后,以下五项已经没有内容了。但是要确定删除了这八项下面的所有内容。
5, 在DesSDE Oraccle服务器上建立 RasterData用户,并使其具有的在OriSDE 服务器上相同的表空间、角色和系统权限。
6, 导入SDE.dmp到OriSDE数据库中,例如:
Imp sde/sde fromuser=sde file=c:/sde.dmp touser=sde
7, 导入数据用户RasterData的数据备份RasterData.dmp
Imp RasterData/RasterData fromuser=RasterData file=c:/RasterData.dmp touser=RasterData
8, 重新启动DesSDE服务器上的SDE服务。
a) 方法1,运行CMD,输入以下语名:sdemon –o start –s DesSDE –p SDE
字串8
注:出现上图中的第二句话说明启动成功!
b) 方法2,从控制面板/服务里找到ArcSDE服务,启动该服务。
9, 打开ArcCatalog,建立与DesSDE的连接,并察看是否能浏览数据,如果可以的话,就说明SDE数据库已经迁移成功了。 字串2
这里主要是SDE用户及其数据的恢复(3、4、5这三个步骤)。因为SDE用户下面保存了所有SDE数据用户的所有表的对应关系,所以这一项的恢复是否成功关系到SDE数据库的迁移是否成功。其它的备份和恢复操作都可以参照oracle 备份和恢复操作进行。
新服务器上的SDE用户和表空间不要删除。因为在创建SDE服务时,会有一个wise_err.log文件让用户查看创建的结果,从上面我们可以看到有30多个表被创建,还创建了GeoDatabase日志(Creating GeoDatabase Schema),如果没有恢复这些表及日志的把握,最好别删除SDE用户和表空间,否则SDE用户下的数据恢复就很难成功(这可能是因为表没有创建完整的问题),即使成功了,SDE服务也很难启动起来(这可能是因为日志文件的问题)。实践出真知,如果不信,可以试试 (失败了没有关系,可以重新安装SDE的)!
当然,这只能用于同一版本的SDE之间数据库的恢复或迁移(9.0和9.1视为同版本),在不同版本的SDE空间数据库之间迁移数据库会作另外的论述。
下面是dreambird网友提供的在oracle中批量删除某个用户下面的所有对象的方法:
其实,我不是什么oracle高手,皮毛而已,否则那些高手会气死的。哈哈,我的qq125861109,欢迎交流。另外,上面的代码我又做了优化,因为某些表有主外键关系时是不允许删除的。我测试过了,绝对可用。可以在oracle的plsql developer 下运行。 字串6
DECLARE
TYPE name_list IS TABLE OF VARCHAR2(40);
TYPE type_list IS TABLE OF VARCHAR2(20);
字串1
Tab_name name_list:=name_list();
Tab_type type_list:=type_list();
字串9
sql_str VARCHAR2(500);
BEGIN
sql_str := ’select uo.object_name,uo.object_type from user_objects uo where uo.object_type not in('’INDEX'’,'’LOB'’) order by uo.object_type desc’;
EXECUTE IMMEDIATE sql_str BULK COLLECT INTO tab_name,tab_type;
字串4
FOR i IN Tab_name.FIRST.. Tab_name.LAST LOOP
if tab_type(i)=’TABLE’ then
sql_str := ‘DROP ‘ || Tab_type(i) || ‘ ‘ || Tab_name(i) || ‘ CASCADE CONSTRAINTS’;
else
sql_str := ‘DROP ‘ || Tab_type(i) || ‘ ‘ || Tab_name(i) ;
end if;
EXECUTE IMMEDIATE sql_str;
END LOOP;
END;
以后考虑做成批处理,这样就方便解决了sde的备份问题。
字串6
字串4
假设:现在需要把OriSDE服务器上的空间数据库迁移到DesSDE服务器上,在创建SDE时二个服务器上的默认用户都是SDE,密码是SDE。OriSDE服务器上还有另外一个SDE数据用户RasterData,密码是RasterData。
1, 备份SDE用户(创建SDE时默认创建的用户)下的所有数据:例如
exp sde/sde@ OriSDE file=c:/sde.dmp
2, 备份其它操作SDE数据的用户,方法同上。例如:
ExpRasterData/RasterData@ OriSDE file=c: RasterData.dmp
3, 停止DesSDE服务器上的服务:
a) 方法1:打开cmd,输入以下语名:sdemon –o shutdown –s DesSDE(服务名) –p SDE(SDE用户的密码),如下图: 字串1
注:出现上图中的第二行语句才说明SDE服务已经被成功停止了。
b) 方法2:在控制面板中打到ArcSDE服务后停止它。
注意:一定要确保DesSDE已经被关闭了!才能进行以下的操作!
4, 打开DesSDE上的Oracle控制台,并以DBA的身份登录DesSDE,然后删除方案SDE下面的所有对象,包括:表、索引、视图、同义词、序列、簇、源类型、用户类型。如下图所示:
字串5
一般情况下,删除表、索引,视图后,以下五项已经没有内容了。但是要确定删除了这八项下面的所有内容。
5, 在DesSDE Oraccle服务器上建立 RasterData用户,并使其具有的在OriSDE 服务器上相同的表空间、角色和系统权限。
6, 导入SDE.dmp到OriSDE数据库中,例如:
Imp sde/sde fromuser=sde file=c:/sde.dmp touser=sde
7, 导入数据用户RasterData的数据备份RasterData.dmp
Imp RasterData/RasterData fromuser=RasterData file=c:/RasterData.dmp touser=RasterData
8, 重新启动DesSDE服务器上的SDE服务。
a) 方法1,运行CMD,输入以下语名:sdemon –o start –s DesSDE –p SDE
字串8
注:出现上图中的第二句话说明启动成功!
b) 方法2,从控制面板/服务里找到ArcSDE服务,启动该服务。
9, 打开ArcCatalog,建立与DesSDE的连接,并察看是否能浏览数据,如果可以的话,就说明SDE数据库已经迁移成功了。 字串2
这里主要是SDE用户及其数据的恢复(3、4、5这三个步骤)。因为SDE用户下面保存了所有SDE数据用户的所有表的对应关系,所以这一项的恢复是否成功关系到SDE数据库的迁移是否成功。其它的备份和恢复操作都可以参照oracle 备份和恢复操作进行。
新服务器上的SDE用户和表空间不要删除。因为在创建SDE服务时,会有一个wise_err.log文件让用户查看创建的结果,从上面我们可以看到有30多个表被创建,还创建了GeoDatabase日志(Creating GeoDatabase Schema),如果没有恢复这些表及日志的把握,最好别删除SDE用户和表空间,否则SDE用户下的数据恢复就很难成功(这可能是因为表没有创建完整的问题),即使成功了,SDE服务也很难启动起来(这可能是因为日志文件的问题)。实践出真知,如果不信,可以试试 (失败了没有关系,可以重新安装SDE的)!
当然,这只能用于同一版本的SDE之间数据库的恢复或迁移(9.0和9.1视为同版本),在不同版本的SDE空间数据库之间迁移数据库会作另外的论述。
下面是dreambird网友提供的在oracle中批量删除某个用户下面的所有对象的方法:
其实,我不是什么oracle高手,皮毛而已,否则那些高手会气死的。哈哈,我的qq125861109,欢迎交流。另外,上面的代码我又做了优化,因为某些表有主外键关系时是不允许删除的。我测试过了,绝对可用。可以在oracle的plsql developer 下运行。 字串6
DECLARE
TYPE name_list IS TABLE OF VARCHAR2(40);
TYPE type_list IS TABLE OF VARCHAR2(20);
字串1
Tab_name name_list:=name_list();
Tab_type type_list:=type_list();
字串9
sql_str VARCHAR2(500);
BEGIN
sql_str := ’select uo.object_name,uo.object_type from user_objects uo where uo.object_type not in('’INDEX'’,'’LOB'’) order by uo.object_type desc’;
EXECUTE IMMEDIATE sql_str BULK COLLECT INTO tab_name,tab_type;
字串4
FOR i IN Tab_name.FIRST.. Tab_name.LAST LOOP
if tab_type(i)=’TABLE’ then
sql_str := ‘DROP ‘ || Tab_type(i) || ‘ ‘ || Tab_name(i) || ‘ CASCADE CONSTRAINTS’;
else
sql_str := ‘DROP ‘ || Tab_type(i) || ‘ ‘ || Tab_name(i) ;
end if;
EXECUTE IMMEDIATE sql_str;
END LOOP;
END;
以后考虑做成批处理,这样就方便解决了sde的备份问题。
字串6
相关文章推荐
- Oraclae备份与恢复:exp和imp命令
- Oracle数据库imp,exp导入导出命令(备份与恢复)
- Oracle下备份恢复之EXP、IMP命令详解
- Oracle下备份恢复之EXP、IMP命令详解
- 使用exp&imp工具进行数据库备份及恢复
- Oracle数据库备份与恢复(1):exp和imp
- Oracle数据库备份与恢复1\Oracle数据库备份与恢复(1)exp和imp 之三
- Oracle备份与恢复之exp/imp
- Oracle exp imp备份、恢复表空间数据步骤
- Oracle数据库备份与恢复之exp/imp
- 使用sdeexport和sdeimport命令对SDE数据库的备份、迁移或恢复
- ORACLE 备份与恢复EXP/IMP 命令参数 (转)
- oracle10g备份与恢复(expdp和impdp、exp和imp)(二)
- Oracle数据库备份与恢复(1)exp和imp 之一
- Oracle数据库备份与恢复1\Oracle数据库备份与恢复(1)exp和imp 之二
- oracle数据库备份(2)——Oracle 的数据导出导入命令:exp、imp
- oracle数据库备份(imp,exp命令)
- Oracle的备份与恢复exp/imp命令
- 使用sdeexport和sdeimport命令对SDE数据库的备份、迁移或恢复
- Oracle exp/imp导出导入命令及数据库备份