1.首先,确认oracle服务器上用oracle红色标记的相关服务是否已经正常启动,如下图。
2.然后关闭百条PLSQL,让连接退出,确保断开到数据库的所有连接,如果数据库是连接到客户端,备份可能会有异常通知。
3.然后打开CMD命令提示窗口,输入备份数据库的命令。xp命令后面是用户名和密码,如下图。
4.要有耐心。当导出数据时,CMD窗口中会出现一个提示,表明数据库备份导出已经完成。
5.此时,在计算机中找到步骤4中设置的文件的保存路径。在下面的截图中,您将发现还有一个DMP文件,它是我们需要的备份文件,如下图。
建议采用数据泵来导出 exp (远端) /expdp (server 端)比较好吧,
在DOS 模式
exp sys/passwd file=filename log=logfile_name full=y
如果是导出 储存过程的话以下仅供参考:
create or replace PROCEDURE PROC_PROCEDURE_BCK
IS
File_Handle Utl_File.File_Type
Stor_Text Varchar2(4000)
n Number
i Number
Begin
For a In (Select object_Name As Name From User_Objects where Object_type= Upper('procedure') )
Loop
File_Handle := UTL_FILE.FOPEN('BCCCGC', a.name || '.prc', 'W') //BCCCGC 为提前定义好的路径
Select Max(Line) Into n From All_Source Where Owner = Upper( 'TSD' ) And Name = a.name and TYPE='PROCEDURE'
DBMS_OUTPUT.PUT_LINE(a.NAME)
While i <= n Loop
Select Text Into Stor_Text From All_Source Where Owner = Upper( 'TSD' ) And Name = a.name And Line = i and TYPE='PROCEDURE'
i := i + 1
Utl_File.Put_Line(File_Handle, Stor_Text)
End Loop
i := 1
Utl_File.Fclose(File_Handle)
Commit
End Loop
End
1、 准备数据库创建脚本
create tablespace whc_tbs datafile 'E:\oracle\oradata\whcdb\whc.dbf' size 100M
--DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS
create user whc identified by whc default tablespace whc_tbs
grant connect,resource to whc
grant dba to whc
--Revoke dba from whc
其中--的注释语句是删除命名空间和移除DBA用户的权限的。
以上这些脚本是为了我们在新建一个表空间和Oracle数据库的时候使用的。
其中E:\oracle\oradata\whcdb\whc.dbf路径是我们要存放数据库数据的位置,因此要保证该路径有足够的空间和足够的访问权限,否则会失败的。
2、 导出数据库对象
在PL/SQL Developer的菜单Tools=>Export User Objects中出来一个对话框界面,然后框选要到处的Oracle 数据库对象,包括表,序列,存储过程,视图,函数等等,并指定导出的文件名称,如下 *** 作。
3)导出表数据
导出表结构和其他对象后,我们下一步就是把数据库的表数据进行导出,PL/SQL Developer工具支持导出数据到PL/SQL数据库脚本中,如下所示。这样导出的脚本,我们可以在PL/SQL Developer工具导入或者自己通过Sql plus 工具进行导入。
至此,我们就已经完成了三种脚本了,包括创建数据库空间和数据库脚本、创建Oracle数据库对象(表、存储过程、视图、序列等)、创建导入数据的脚本,这样三种合一,就是一个完整的数据库了。最后一步就是我们如何导入数据库对象和数据的问题了。
4)导入数据库对象及数据
导入数据库对象和数据的 *** 作一样,都可以通过Import Tables *** 作实现,我们指定刚才上面两步创建的数据库脚本,执行即可再新的环境中创建数据库对象和数据库数据了。如下所示。
完成上面几个步骤,我们在新的数据库环境中,就具备了所有的东西了,顺利完成整个Oracle数据库对象及数据的迁移工作。
以上值得注意的是,我们导出Oracle对象和数据的时候,默认还是原来Oracle数据库的表空间和数据库用户名称的,如果我们想要在新的数据库服务器中指定不同的表空间和数据库用户对象,那么我们就需要替换生成的sql脚本,并在第一步指定合理的表空间和数据库用户。
如果是Linux平台下的数据库服务器,第一步 *** 作也是差不多的,就是指定表空间的路径名稍微不同,其他 *** 作并无差异。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)