Oracle导出程序Exp的使用具体过程

Oracle导出程序Exp的使用具体过程,第1张

 Oracle的导出实用程序(Export utility)允许从数据库提取数据 并且将数据写入 *** 作系统文件 exp使用的基本格式 exp[username[/password[@service]]] 以下例举exp常用用法 获取帮助 exp help=y 导出一个完整数据库 exp system/manager file=bible_db log=dible_db full=y 导出数据库定义而不导出数据 exp system/manager file=bible_db log=dible_db full=y rows=n 导出一个或一组指定用户所属的全部表 索引和其他对象 exp system/manager file=seapark log=seapark owner=seaparkexp system/manager file=seapark log=seapark owner=(seapark amy amyc harold)注意 在导出用户时 尽管已经得到了这个用户的所有对象 但是还是不能得到这些对象引用的任何同义词 解决方法是用以下的SQLPlus命令创建一个脚本文件 运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本 然后在目标数据库上运行该脚本就可重建同义词了 SET LINESIZE SET PAGESIZE SET TRIMSPOOL ONSPOOL c:\seapark synSELECT Create public synonym ||synonym_name|| for ||table_owner|| ||table_name|| ; FROM dba_synonymsWHERE table_owner = SEAPARK AND owner = PUBLIC ;SPOOL OFF 导出一个或多个指定表 exp seapark/seapark file=tank log=tank tables=tankexp system/manager file=tank log=tank tables=seapark tankexp system/manager file=tank log=tank tables=(seapark tank amy artist) 估计导出文件的大小 全部表总字节数 SELECT sum(bytes) FROM dba_segments WHERE segment_type = TABLE ;seapark用户所属表的总字节数 SELECT sum(bytes)FROM dba_segmentsWHERE owner = SEAPARK AND segment_type = TABLE ;seapark用户下的aquatic_animal表的字节数 SELECT sum(bytes)FROM dba_segmentsWHERE owner = SEAPARK AND segment_type = TABLE AND segment_name = AQUATIC_ANIMAL ; 导出表数据的子集(oracle i以上) NT系统 exp system/manager query= Where salad_type= FRUIT tables=amy salad_type file=fruit log=fruitUNIX系统 exp system/manager query=\ Where salad_type=\ FRUIT\ \ tables=amy salad_type file=fruit log=fruit 用多个文件分割一个导出文件 exp system/manager file=(paycheck_ paycheck_ paycheck_ paycheck_ )log=paycheck filesize= G tables=hr paycheck 使用参数文件 exp system/manager parfile=bible_tables parbible_tables par参数文件 #Export the sample tables used for the Oracle i Database Administrator s Bible file=bible_tableslog=bible_tablestables=(amy artistamy booksseapark checkupems) 增量导出 完全 增量导出(plete) 即备份整个数据库 exp system/manager inctype=plete file= dmp 增量型 增量导出(incremental) 即备份上一次备份后改变的数据 exp system/manager inctype=incremental file= dmp 累计型 增量导出(cumulative) 即备份上一次 完全 导出之后改变的数据 exp system/manager inctype=cumulative file= dmp lishixinzhi/Article/program/Oracle/201311/17383

什么是OPS OPS(Oracle Parallel Server)可以让位于不同系统的多个实例同时访问同一个数据库 并行服务器可以有效地提高系统的可用性和对多系统的访问性能 但是 如果你的数据没有做很好的分割 性能可能还会下降 安装OPS时 多个实例mount同一数据库文件 实例间的通讯由分布式锁管理器(DLM)来管理 需要注意的是分布式锁管理器与你所使用的硬件和 *** 作系统有着密切的关系 为了确定多个企图同时修改同一数据的实例 Oracle使用了十个后台进程 LCK LCK 来锁定某一实例所使用的资源 OPS主要用于UNIX/LINUX集群环境中 OPS的优点 )高可用性 )加快事务响应时间 可用于决策支持系统 )增大交易连接数 可用于联机事务处理系统 所有的应用都是适合OPS吗? 可以根据功能或数据进行分割的应用最适合OPS 那些有 热数据 (经常被多实例同时访问的数据)的应用并不适合使用OPS OPS需要特殊的硬件吗? OPS要求服务器之间互连并共享磁盘子系统 所有可以做成集群的系统都可以 常用的有UNIX/LINUX和NT等 如何设置OPS? )关闭数据库 )启用OPS选项 在UNIX中通过重新连接Oracle软件的方式来完成 )使Oracle软件在所有节点上都有效 可以通过复制软件到其他节点或共享磁盘的方式来完成 )每个实例要有自己的Redo log file 所以要增加必要的log文件 ALTER DATABASE ADD LOGFILE THREAD GROUP G ( RAW_FILE ) SIZE k GROUP G ( RAW_FILE ) SIZE k GROUP G ( RAW_FILE ) SIZE k;ALTER DATABASE ENABLE PUBLIC THREAD ; )每个实例要有自己的回滚段 所以要增加必要的回滚段 CREATE ROLLBACK SEGMENT RB TABLESPACE RBS; )编辑初始化参数文件initSID ora文件 添加如下几项 PARALLEL_SERVER = TRUEINSTANCE_NUMBER = THREAD = ROLLBACK_SEGMENTS = (r r r r ) )创建OPS所需的数据字典 即运行CATPARR SQL )在所有的节点上启动实例 如何确定一个数据库是运行在并行状态? show parameter parallel_server 如何跟踪活动的实例? SELECT FROM SYS V_$ACTIVE_INSTANCES;SELECT FROM SYS V_$THREAD; 如何确定每个实例使用了多少个PCM锁? select count() Number of hashed PCM locks from v$lock_element where bitand(flags ) != /select count() Number of fine grain PCM locks from v$lock_element where bitand(flags ) = / 如何查看每个数据文件分配了多少个PCM锁以及ping率? col file_name format a col tablespace format a col blocking format col nlocks format col start_lk format select l file_id || || l file_name file_name l ts_name TABLESPACE start_lk nlocks blocking frequency PING COUNT from sys file_ping p sys file_lock lwhere l file_id = p file_idorder by l file_id/ 什么是pinging? Pinging是进程 用于协调多实例对同一数据块的读写 *** 作 OPS性能优化的一个挑战就是要最小化pinging 如何监控PCM锁的活动情况? 查看当前实例活动PCM锁的总数 select from sys v$lock_activity;查看每个数据库对象的PCM锁活动状况 col table format a select file# kind|| ||username|| ||name TABLE sum(xnc) pingsfrom sys v$false_ping p sys dba_users uwhere u user_id = p owner#group by file# kind|| ||username|| ||name xncorder by xnc desc/ 如何设置一个对所有OPS实例通用的SQLNet连接串? )首先要求所有节点上的SID相同 如果不相同可以按如下 *** 作进行更改 关闭数据库的所有实例将ORACLE_SID环境变量设成一致复制原来的初始化文件initOLDSID ora为initMON ora重起所有实例 )编辑本地TNSNAMES ora 如下例 PHOENIX =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )))(CONNECT_DATA =(SERVICE_NAME = ora ))) lishixinzhi/Article/program/Oracle/201311/17315

1、用CAPI连接MySQL数据库有两个步骤:

1)初始化一个连接句柄

2)建立连接

所用到的函数如下:

MYSQL mysql_init(MYSQL connection); // 初始化连接句柄

//成功返回MySQL结构指针,失败返回NULL

MYSQL mysql_real_connect(MYSQL connection,

const char server_host,

const char sql_user_name,

const char sql_password,

const char db_name,

unsigned int port_number,

const char unix_socket_name,

unsigned int flags); //建立连接

//成功返回MySQL结构指针,失败返回NULL

以下是完整实例:

#include <iostream>

#include <fstream>

#include <cstdlib>

#include <mysql/mysqlh>

using namespace std;

void mysql_err_function(MYSQL connection);

int main()

{

//freopen("inputtxt","r",stdin);

MYSQL connection;

connection = mysql_init(NULL);

if (!connection)

{

cout << "mysql_init failed!" << endl;

可以写一个脚本。内容如下:

@echo off

set NLS_LANG= AMERICAN_AMERICAAL32UTF8

set hour=%time:~,2%

if "%time:~,1%"==" " set hour=0%time:~1,1%

set temp=%date:~0,4%-%date:~5,2%-%date:~8,2%-%hour%-%time:~3,2%-%time:~6,2%

exp 用户名/密码@数据库实例 file=D:\db_backup\daily_backup\oradata_%temp%dmp log=D:\db_backup\daily_backup\oradata_%temp%log tables=(表名)

pause

说明:其中中文部分按照自己实际情况填写,保存文件以bat为后缀,如上述文件可起名为expbat,保存在D:\db_backup\daily_backup\路径下。

然后是设定执行时间,以win7为例:

1、点击开始按钮,依次选择打开“所有程序—附件—系统工具”,找到“任务计划程序”即可打开Win7系统的任务计划设置面板。也可以点击Win7开始按钮,在多功能搜索框中输入“任务计划”,直接从搜索结果中打开。

2、在Win7系统的“任务计划程序”设置面板中,我们点击菜单“ *** 作—创建基本任务”。

3、输入新建任务的名称和描述,点击“下一步”按钮。

4、在“触发器”选项中选择自己需要的执行频率,比如是每天、每周、每月还是单次等等,继续下一步。

5、继续设置触发时间详细选项。继续点击下一步。

6、现在进入启动程序详细设置,在“程序或脚本”一栏点击“浏览”,选择自己已经写好的批处理文件。

7、点击下一步之后,我们可以看见Win7任务计划会给出当前设置任务的详细情况,确认无误后点击“确认”按钮即可完成Win7定时关机的任务计划设定。

不用,可以

远程连接

到服务器,windows系统可以通过远程连接,linux/

unix系统

可以通过ssh/telnet连接,在服务器上用

db2

connect

to

数据库名连接数据库,然后通过db2look

-d

数据库名

-e

-a

-c

-o

导出文件名sql

-i

用户名

-w

密码

导出结构,通过db2move

数据库名

export

-u

用户名

-p

密码

导出数据;在本地导入前先connect

数据库,然后db2

-td;

-cf

导出文件名sql

在本地根据该文件sql建立数据结构,之后用db2move

数据库名

load

-u

用户名

-p

密码

导入数据

提供两种解决方案:

使用sqlserver带的数据导入导出功能。

如果数据内部数据类型比较简单的话,也就是没有那些换行或者tab键之类的数据。可以将excel内的数据拷贝到记事本种,然后使用sybase的bcp工具导入sybase库中。

sybase是美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。 Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。

以上就是关于Oracle导出程序Exp的使用具体过程全部的内容,包括:Oracle导出程序Exp的使用具体过程、中文表名-导入导出-字符集、怎么用c++导出mysql数据库的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/sjk/9754130.html

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

发表评论

登录后才能评论

评论列表(0条)

保存