plsql如何导出数据库整个库

plsql如何导出数据库整个库,第1张

首先登录到数据中,通过PLSQL工具等到到数据库,然后点击右上角有个工具栏,然后点击工具栏上的tools。工具栏上的tools(工具)

选择导出用户对象,点击tools工具之后,向下查找Export User Objects功能,通过这个功能导出数据。

选择需要导出的表或者序列或者存储过程等。在Type列中展示的是对象属性,表、序列和存储过程等。这里要选择存储过程或者序列,

选择多个导出的对象。按住ctrl键进行多选导出的对象。点击Output File输出文件路径,选择文件路径输入文件名称,后缀是sql。如果后缀是sql,则是一些数据库语句,可以直接在其他应用上执行,

开始导出数据脚本。点击Export按钮,开始对选中的对象进行导出成数据脚本。出的时候需要选择一个目录,

查看导出文件。导出完成后,双击打开导出后的文件,就可以看到是一些建表存储过程等脚本。查看导出文件就可以看到是具体的脚本语言,

如果进入PL/SQL没有首选项,有可能是因为没有正确设置PL/SQL的配置参数或者因为安装或使用过程中的错误导致的。为了解决这个问题,可以尝试以下步骤:

1 检查PL/SQL的配置参数

打开PL/SQL设置,检查是否设置了正确的配置参数,比如路径、文件夹等等。如果没有设置或者设置错误,可以尝试依次修改这些参数,然后重新启动软件,看是否可以显示首选项页面。

2 重新安装PL/SQL

如果检查配置参数后仍然无法解决问题,那么可以尝试重新安装PL/SQL。首先卸载原来的PL/SQL软件,然后重新下载最新版本的PL/SQL进行安装,这样就能够重新设置首选项并正常使用了。

3 检查电脑环境

在重新安装后仍然无法显示首选项页面时,可能是因为电脑环境导致的。可以检查 *** 作系统是否支持PL/SQL,并且查看是否需要安装其他的驱动程序或其他软件才能运行PL/SQL。

总体来说,没有首选项的问题可能是由于多种原因造成的。如果以上三种方法都无法解决问题,可以尝试通过查询错误日志等方式进行进一步排查。

--逻辑备份

--导出ORACLE参数

参数 说明

USERID 确定执行导出实用程序的用户名和口令

BUFFER 确定导出数据时所使用的缓冲区大小,其大小用字节表示

FILE 指定导出的二进制文件名称,默认的扩展名是dmp

FULL 指定是否以全部数据库方式导出,只有授权用户才可使用此参数

OWNER 要导出的数据库用户列表

HELP 指定是否显示帮助消息和参数说明

ROWS 确定是否要导出表中的数据

TABLES 按表方式导出时,指定需导出的表和分区的名称

PARFILE 指定传递给导出实用程序的参数文件名

TABLESPACES 按表空间方式导出时,指定要导出的表空间名

--导出

--全库导出

exp system/accp@accp --在后面的参数中选择E

--按用户方式导出

exp system/accp@newer file=d:\expdmp owner=scott,system

--按表方式导出

exp scott/tiger@accp tables=(emp, dept) file=scott_back_tab

--按表分区方式导出

exp scott/tiger@accp tables=(emp:p3) file=scott_back_tab

--按表空间方式导出

exp system/aptech@accp tablespaces=(users) file=tbs_users

--按参数文件方式导出,将要导出的命令写在文本文件中

exp system/aptech parfile='C:\parameterstxt'

--导入ORACLE参数

参数 说明

USERID 指定执行导入的用户名和密码

BUFFER 指定用来读取数据的缓冲区大小,以字节为单位

COMMIT 指定是否在每个数组(其大小由BUFFER参数设置)插入后进行提交

FILE 指定要导入的二进制文件名

FROMUSER 指定要从导出转储文件中导入的用户模式

TOUSER 指定要将对象导入的用户名。FROMUSER与TOUSER可以不同

FULL 指定是否要导入整个导出转储文件

TABLES 指定要导入的表的列表

ROWS 指定是否要导入表中的行

PARFILE 指定传递给导入实用程序的参数文件名,此文件可以包含这里列出的所有参数

IGNORE 导入时是否忽略遇到的错误,默认为N

TABLESPACES 按表空间方式导入,列出要导入的表空间名

--导入

--整个文件导入

imp accp/accp@accp file=d:\item_backdmp ignore=y full=y

--特定用户的表导入到指定的用户下面

imp system/aptech@accp file=d:\item_backdmp fromuser=scott touser=martin tables=(emp,dept)

--参数文件方式导入,将要导入的命令文本写在文件中

imp system/oracle parfile='C:\parameterstxt'

--物理备份

冷备份

1 connect sys/sys@newer as sysdba

2 shutdown immediate

3 复制 oracle目录中的oradata\oradb的子目录中的所有文件 到备份的目录中

冷恢复

1将数据文件还原回所在位置 ,然后启动数据库

2starup

进行热备份必须处于“归档日志模式下”

1启动sqlplus ,并以sysdba方式链接到数据库系统,输入下列命令看看是否处于归档模式

SQL> archive log list

数据库日志模式 非存档模式

自动存档 禁用

存档终点 d:\oracle\ora92\RDBMS

最早的概要日志序列 1

当前日志序列 3

2 启动归档日志模式

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup mount

ORACLE 例程已经启动。

Total System Global Area 143727516 bytes

Fixed Size 453532 bytes

Variable Size 109051904 bytes

Database Buffers 33554432 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

SQL> alter database archivelog;

数据库已更改。

SQL> archive log list

数据库日志模式 存档模式

自动存档 禁用

存档终点 d:\oracle\ora92\RDBMS

最早的概要日志序列 1

下一个存档日志序列 3

当前日志序列 3

3关闭存档模式, alter data base noarchivelog

--查看归档日志方式,在SQL_PLUS中,不能在PL/SQL中

conn sys/accp@accp as sysdba;

archive log list;

--查看归档日志信息

SELECT DEST_ID,DEST_NAME,STATUS,DESTINATION

FROM V$ARCHIVE_DEST WHERE STATUS='VALID';

--查看归档日志的日志

SELECT DEST_ID,NAME,ARCHIVED

FROM V$ARCHIVED_LOG;

--在命令行中 *** 作数据库

--登录

sqlplus sys/accp@newer as sysdba

--关闭数据库

shutdown immediate

--启动数据库

startup restrict

startup mount

--修改归档日志模式

alter database archivelog

ARCHIVELOG模式的优点:

·有可能进行完全恢复。由于对数据库所做的全部改动就保存在日志文件中,如果因为包括介质失效在内的某种失效而导致数据库文件丢失的话,可以利用物理备份和归档日志完全恢复数据库,不会丢失任何数据。所有已经提交的事务都可以查到。

·有可能进行联机备份。允许用户在进行数据备份的同时使用数据库。

·表空间可以立即脱机。

·如果一个分布式数据库系统的所有节点都运行在ARCHIVELOG模式下,可以进行分布式恢复。

·提供更多的恢复选择。

·通过使用一个备用数据库,能够提供最大限度的灾难保护手段。

ARCHIVELOG模式的缺点:

·保存归档日志文件需要更多的磁盘空间。

·DBA需要更多的时间来管理数据库。

NOARCHIVELOG模式的特点:

·由于数据文件的丢失,如果需要恢复,只能恢复到最后一个完全脱机数据库备份。在最后一个完全脱机备份后的数据改动都将丢失。因此,需要进行非常频繁的脱机备份。

·必须进行完整的数据库备份,不能仅备份部分数据库。

·不能进行联机备份,脱机备份过程中不能使用数据库。

·表空间不能立即脱机。

·DBA的管理的工作减少

采用Oracle ArchiveLog模式和非ArchiveLog模式对备份恢复的影响

备份的目的在于,当系统或数据库出现问题时,能够快速将数据库进行恢复。对于Oracle数据库,一般有两种备份方式:“物理备份”和“逻辑备份”。“物理备份”指的是以copy数据文件方式进行备份;“逻辑备份”指的是用export等方式将数据从数据库中抽取出来。物理备份又可以分为冷备份和热备份。以下是各种备份的说明及前提条件。

- Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。

- Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。

- Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。

“物理备份”方式以相当于copy数据文件的方式进行备份,恢复时可以快速以相当于copy的方式将备份的数据copy回来,所以备份速度特别是恢复速度非常快。

如果不采用Archive Log模式运行Oracle数据库,只有两种可用的备份方法:冷备份或export逻辑备份。根据关键业务服务器的特点,停下数据库进行冷备份是根本不可能的,因此如果不采用Archive Log,只能进行逻辑备份。

如果仅采用“逻辑备份”方式,恢复时会有以下两个主要问题:

1 无法恢复到最近时间点的数据。只能恢复到上一次export时的数据状态,当天的数据将丢失。Archive Log模式下的物理备份可以用数据文件备份及Archive Log备份,将数据库恢复到数据库失败前的时间点,不会丢失数据。

2 完成恢复可能需要很长时间。恢复只能用import方法进行,所以需要的时间包括:

a create database及所有的tablespace: 以每2分钟初始化一个2G的数据文件来计算,建立一个400G的Oracle数据库需要约67个小时。

b import。时间较难确定,但保守估计应在10个小时以上(如果import过程中出现问题,恢复时间将延长)

3 恢复时步骤较多,易出现人为故障。

由于 这些原因,一般备份/恢复时都把export/import的方式做为辅助备份/恢复方式,对一些重要的表进行二级保护。这种备份方式也称为“逻辑备份”方式,当某些重要的表被意外删除时可进行逻辑import恢复。

而对于整个数据库的日常备份/恢复,需要采用“物理备份”方式,即以相当于copy数据文件的方式进行备份,恢复时可以快速以相当于copy的方式将备份的数据copy回来。一般物理备份/恢复都采用Oracle RMAN工具来进行。

下面是“逻辑备份”与“物理备份”在数据库故障时的恢复比较:

1 Oracle逻辑错误造成无法启动

逻辑恢复: 重新create database及各tablespace,import。可恢复到上次export的数据

物理恢复: 将所有datafile copy回来,并利用archivelog将数据库recover到故障前的状态

2 某一个datafile故障或丢失

逻辑恢复: 重新create database及各tablespace,import。可恢复到上次export的数据

物理恢复: 将该datafile copy回来

3 某一个tablespace故障

逻辑恢复: 重新create database及各tablespace,import。可恢复到上次export的数据

物理恢复: 将该tablespace copy回来

4 意外drop table

逻辑恢复: Import 该table

物理恢复: 将备份恢复到另一服务器上,export该table,在原数据库中import

5 意外drop user

逻辑恢复: Import 该user

物理恢复: 将备份恢复到另一服务器上,export该user,在原数据库中import

6 意外drop tablespace

逻辑恢复: 情况较复杂,恢复易造成数据库表之间的参照完整性被破坏。在此不做分析

物理恢复: 情况较复杂,恢复易造成数据库表之间的参照完整性被破坏。在此不做分析

在进行数据库的恢复时,一定要了解Oracle数据库的原理,分析故障的原因,然后针对故障的情况进行相应的恢复。例如以下情况:

- Oracle程序文件损坏?

- control file损坏?

- Online redo log损坏?

- datafile损坏?

- archive log损坏?

- table或其中数据被意外删除?

不同情况下需要采用的恢复手段都是不尽相同的,需根据损坏的情况进行相应的恢复步骤。

迁移的话,直接导出一个库的dmp文件,之后导入到另外一个库里面就可以了(导出和导入数据库版本必须一直,否则导入可能会报错)。

迁移数据导出:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochudmp中

  exp system/manager@TEST file=d:\daochudmp full=y

2 将数据库中system用户与sys用户的表导出

  exp system/manager@TEST file=d:\daochudmp owner=(system,sys)

3 将数据库中的表table1 、table2导出

  exp system/manager@TEST file=d:\daochudmp tables=(table1,table2)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

  exp system/manager@TEST file=d:\daochudmp tables=(table1) query=\" where filed1 like  '00%'\"

迁移数据的导入

1 将D:\daochudmp 中的数据导入 TEST数据库中。

  imp system/manager@TEST  file=d:\daochudmp

  上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

  在后面加上 ignore=y 就可以了。

2 将d:\daochudmp中的表table1 导入

imp system/manager@TEST  file=d:\daochudmp  tables=(table1)

Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便、快捷的 *** 作,使得我们不再为Oracle本身丑陋、难用的UI而抱怨。由于我们一般都是建建表、查查数据的 *** 作居多,较少会考虑系统的整个Oracle的完整备份 *** 作。但是在我们一些发布 *** 作中,我们必须考虑如何把Oracle的对象、表数据导出到Sql脚本中,并且把创建Oracle表空间、创建Oracle数据库的 *** 作也放到脚本中,这样我们就方便快速还原或者部署Oracle数据库到新的机器上了。

本文主要介绍如何结合Sql脚本和PL/SQL Developer工具来实现创建表空间、创建数据库、备份数据库、数据导出等 *** 作,然后实现Oracle对象创建、导入数据等 *** 作,方便我们快速了解、创建所需要的部署Sql脚本和数据库 *** 作。

plsql如何配置连接oracle数据库,具体 *** 作方法如下:

1、首先我们打开PLSQL,点取消进去进入数据库。

2、然后d出PLSQL主界面,找到菜单栏的tools选择属性preferences进去。

3、d出如下界面,配置oracleclient,配置好两个设置项,点apply,然后点ok,关闭PLSQL,重启PLSQL。

4、上边的两个填写项就是第一步中的目录,以及目录下的一个文件,如下图所示,在哪个目录就对应的去找就可以了。

5、重启PLSQL进入到登录界面,输入相关信息,用户名密码,以及连接信息连接信息:可以是ip:1521/实例名,也可以是network/admin目录下的tnsnameora中配置的TNS别名。

6、连接进去成功之后。可以随便写一个语句查查,是否正常,查询无误。

以上就是关于plsql如何导出数据库整个库全部的内容,包括:plsql如何导出数据库整个库、进入plsql没有首选项、如何用命令在PLSQL脚本中导出oracle数据库中的多个表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9289721.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存