dmp文件导入到Oracle数据库
2010年5月12日
SQL> alter user scott account unlock;
SQL> alter user scott identified by pan;
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中 安装目录\ora81\BIN被设置为全局路径,
该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例。
数据导出:
1 将数据库TEST完全导出,用户名system 密码sql 导出到D:\daochu.dmp中
exp system/sql@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/sql@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1、table2导出
exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=( table1、table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/sql@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
数据的导入:
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/sql@TEST file=d:\daochu.dmp
imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/sql@TEST file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
2010年5月12日
析Oracle用户解锁命令的两则实现方法
2009-11-3 作者: 编辑:崔晓帆 点击进入论坛
关键词:Oracle 解锁
在安装完Oracle 10g之后,想打开sql*plus来学习,然后按照书上的步骤用scott用户来连接数据库,可输了好几次都提示一个错误。
error: the account is locked
然后上网查了一下之后发现这个用户被锁定了,至于它为什么被锁定,可能是下面几个原因。
1.尝试多次登录未成功.(可能密码不正确)
2.此用户被管理员手工锁定.
3.用户密码到期.未按时修改密码.等等...
这个用户肯定是登陆不了了,然后我用system这个用户登录,可是登了半天都没有进去,又去网上查,网上面大都是关于 oracle 9i的用户和密码,后来我记得在安装的时候就提示输入了,用那个试了一下就连接上了,所以在oracle 10g的system这个用户的密码不是默认的,而是安装的时候自己设定的。
拿system登录进去之后,执行下面的命令:
SQL> alter user scott account unlock;
用户已更改。
这样就完成解锁的操作。接下来,你还可以重新给scott这个用户设定密码
修改scott的登录密码
SQL> alter user scott identified by pan;
用户已更改。
ok了,你再拿scott 和 pan来登录就可以了!
SQL> conn scott/pan 2010年5月12日
已连接。
新装完Oracle 10g后,用system/password可以正常登录,而使用scott/tiger用户却不能登录:
conn scott/tiger error:Oracle 10g the account is locked Oracle 10g the password has
expired
原因:默认Oracle 10g的scott不能登陆。被禁用了。
解决方法:
首先确认已经安装oracle 数据库和客户端
.在客户端DOS下执行如下语句:
注意提示符号
c:\sqlplus /nolog sqlp\ conn sys/system@oracle10 as sysdba // sys为当前的oracle
用户 system 为该用户密码 oracle10 为SID # alter user soctt account lock; // 把 scott用户锁定 # alter user scott account unlock; //把scott用户解锁 # alter user scott identified
by scott //修改scott用户密码为 scott,scott用户默认密码为 tiger
1 Dos下输入C:\sqlplus /nolog
2 以DBA的身份登录
conn sys/password as sysdba;
3 解锁
alter user scott account unlock;
4 弹出一个修改密码的对话框,修改密码
conn scott/tiger SQL> conn sys/sys as sysdba; Connected. SQL> alter user scott
account unlock; User altered. SQL> commit; Commit complete. SQL> conn scott/tiger//请输入新密码,并确认后OK Password changed Connected.
oracle 10g数据泵之impdp 2010年5月12日
(2008-08-18 08:47:50)
转载
标签:
程序
it 分类:
数据库
要了解impdp,请先了解导出,我之前作过导出的笔记:oracle 10g数据泵之expdp。这两个笔记也许只对程序员有用,通常用于把正式区的数据导入到测试区,对数据库管理员也许帮助不大,他们使用这些工具大多是用于数据备份。
impdp可以将数据加载到整个数据库、特定的方案(也就是用户)、特定的表空间或者特定的表,也可以将表空间传输到数据库。impdp支持网络模式操作,即从另一个数据库加载数据。
使用impdp导入数据
1.指定转储文件(存放导出数据的文件)存放的目录
SQL>connect sys/password as sysdba;
SQL>create directory dump_dir as „d:\dump‟;
2.使用impdp命令
开始-->运行-->cmd
impdp username/password parameter1[,parameter2,….]
其中,username表示用户名;password表示用户密码;parameter1和parameter2表示参数。参数的类型有近40个,可以使用命令impdp help=y查看所有参数和参数的含义。下面介绍一些对导入数据库和表需要的常用参数,它们的含义和在expdp中的含义完全相同。
content :指定导入的内容。语法格式:content={all| data_only|metadate_only}。其中all表示导入对象定义及其数据,data_only表示只导入对象数据,metadate_only表示只导入对象定义。默认为all
directory:指定转储文件和日志文件所在的默认位置(也就是保存数据的文件位置)。语法格式:directory=direcotry_object。direcotry_object 是create directory语句创建的目录对象。
dumpfile:指定转储文件的名称。语法格式:dumpfile=[ direcotry_object:]file_name[,….]。direcotry_object默认为上面directory参数指定的目录对象。file_name默认名称是expdat.dmp。如果导入文件过大,可以指定多个文件名,如direcotry_object:mydb_%U.dmp。”%U”是一个占位符,使用这种方式不会出现同名的文件。
logfile:指定日志文件的名称。语法格式:logfile=[ direcotry_object:]file_name。direcotry_object默认为directory参数指定的目录对象。file_name日志文件,默认名称是export.log。
exclude:导入时要排除的对象。语法格式: exclude=object_type[:name_clause][,….]。object_type表示对象类型,如table、view、index、function、preocedure,name_clause表示使用SQL语句,指定对象名的筛选条件,如table:”like „emp%‟”表示排除emp开始的任何表。
include:导入时要包含的对象。语法格式:include =object_type[:name_clause][,….]。object_type
在plsql中使用exp imp工具实现oracle数据导出导入
在plsql中使用exp imp工具实现oracle数据导出导入
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目录\\ora81\\BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。 SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例。 数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\\daochu.dmp中
exp system/manager@TEST file=d:\\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:\\daochu.dmp
owner=(system,sys) 3 将数据库中的表inner_notify、notify_staff_relat导出 exp aichannel/aichannel@TESTDB2 file= d:\\data\\newsmgnt.dmp
tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以\"00\"打头的数据导出 exp system/manager@TEST
imp和exp命令导入和导出.dmp文件
Oracle数据库文件中的导入\导出(imp/exp命令)
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
下面介绍的是导入导出的实例。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp
tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where
filed1 like '00%'"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
Oracle11g安装卸载与DMP文件的恢复数据库
Oracle11g安装卸载与DMP⽂件的恢复数据库
1、orcale 11g 安装
1.1 管理员运⾏setup.exe(没有安装包的下⾯群⾥联系我)
1.2不⽤接收更新
1.3选择第⼀个
1.4选择桌⾯类
1.5 我是默认的⼝令还是写⼀下
1.6 安装
1.7 这是我卸载后在安装的 位置我选了F盘 安装过程的截图
1.8 安装完成⼝令管理截图
2、oracle 11g 完全卸载
2.1开始->设置->控制⾯板->管理⼯具->服务,停⽌所有Oracle服务。
2.2开始->程序->Oracle_OraDB11g_Home1->OracleInstallation Products->Universal Installer,单击“卸载产品”-“全部展开”,选中除“OraDb11g_home1”外的全部⽬录,删除2.3 运⾏regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个⼊⼝。
2.4 运⾏regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle⼊⼝(以oracle或OraWeb开头的键)。
2.5运⾏refedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle⼊⼝。
2.6删除HKEY_CLASSES_ROOT⽬录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键。
2.7删除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\StartMenu\Programs中所有以oracle开头的键。2.8删除HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI中除MicrosoftODBC for Oracle注册表键以外的所有含有Oracle的键。2.9我的电脑-->属性-->⾼级-->环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定
toad for oracle10g数据导出与导入
一、 导出表空间JZDB中用户YSL的所有表及表中数据
1. 选择菜单Database/Export/Export Utility Wizard,出现如下界面,选择Export users,下一步
2. 选择要导出的用户YSL,下一步
3. 选择默认设置,下一步
4. 只需命名.dmp文件及选择存储路径,之后下一步
5. 默认选项,下一步
6. 导出成功,出现以下界面
二、 导入上面导出的数据
1. 创建表空间TEST_YSL_1
在Schema Browser下选择Tablespaces标签,选择“Create
Tablespace”的图标
表空间名字填TEST_YSL_1,其它默认
选择Data Files标签,选择“Add”按钮,选择“Find/Copy”,任选择一个DBF文件,将文件名改为TEST_YSL_1
Datafile size的设置如下,
选ok
选ok,创建完成
2. 创建用户SUN_1
在Schema Browser下选择Tablespaces标签,选择“Create
User”的图标
User Name标签
Tablespace标签
Roles标签
选择ok,创建成功
3. 导入数据
选择菜单Database/Import/Import Utility Wizard,出现如下界面,选择Import users,下一步
其它默认,至这步,选择Export file name
选择Finish,导入成功
impdp命令使用要点
impdp命令使⽤要点
1、场景 导出远程数据库的数据到本地,再将导出⽂件导⼊到本地oracle数据库中
2、条件 两个库的字符集⼀致
3、使⽤⼯具或命令 expdp/impdp
步骤
本地机器数据库⽤户名:admin
远程机器数据库⽤户名:db1
现将远程⽤户db1下的t,t1表导出到本地⽬录D:\dump
步骤:1.⾸先找个鸡窝,让母鸡能把蛋下进窝⾥。
在D盘下建⼀个⽂件夹取名为dump (如果是liux系统 mkdir /home/oracle/dump)
2.其次把鸡抓进窝⾥,防⽌母鸡把蛋下进公鸡窝⾥,专业点讲就是建数据库⽬录。
C:\Users\admin>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期⼆ 7⽉ 10 09:10:40 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from dba_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ --------------------------------------------------------------------------------
SYS ORACLECLRDIR E:\Oracle11g\app\admin\product\11.2.0\dbhome_1\bin\clr
oracle11g数据库的导出导入-dp模式
1、导出数据库
1)在服务器建立授权目录,用sqlplus执行如下代码进行授权,导出的数据库文件将自动放入此目录。(或其它如plsql、seldevelope等工具的sql执行状态下)
create or replace directory dumpdir as '/export/home/oracle/dpdmp';
(windows系统则为d:\dpdmp)
grant read,write on directory dumpdir to public;
(或者 grant read,write on directory dumpdir to system;)
grant exp_full_database,imp_full_database to system;
2) 按schema(也可理解为按用户)导出数据库(这个命令可在远端执行,不是非要在服务器本地执行。)
expdp system/123456@121.101.219.130:1521/orcl schemas=x5sys directory=dumpdir
dumpfile=x5sys_20131128.dmp
expdp system/123456@121.101.219.130:1521/orcl schemas=x5doc directory=dumpdir
dumpfile=x5doc_20131128.dmp
expdp system/123456@121.101.219.130:1521/orcl schemas=x5hr directory=dumpdir
dumpfile=x5hr_20131128.dmp
expdp system/123456@121.101.219.130:1521/orcl schemas=bidmgr directory=dumpdir
dumpfile=bidmgr_20131128.dmp
imp和exp命令导入和导出.dmp文件 2
Oracle数据库文件中的导入\导出(imp/exp命令)
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
下面介绍的是导入导出的实例。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp
tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where
filed1 like '00%'"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
impdp 用法
impdp 是 Oracle 数据库中用于数据导入的工具。下面是 impdp 命令的基本用法和一些常见的参数:
命令基本结构:
bash
impdp [用户名]/[密码] DIRECTORY=目录名 DUMPFILE=转储文件名 [其他参数]
常见参数:
DIRECTORY:指定转储文件的路径。该目录在数据库服务器上存在,且包含了转储文件的访问权限。
DUMPFILE:指定包含要导入的数据的转储文件名。
REMAP_DATAFILE:用于指定一个源数据文件,该文件在转储文件中不存在,但需要将其映射到目标数据库中的某个数据文件。
REMAP_SCHEMA:用于将源模式中的对象映射到目标模式中的对象。
TRUNCATE:用于指定在导入数据之前,是否截断目标表中的现有数据。
APPEND:用于指定将新数据追加到目标表的现有数据之后。
INDEXFILE:用于指定一个包含要导入的索引的转储文件名。
FULL=Y/N:用于指定是否导入整个转储文件。如果设置为 Y,则导入整个转储文件;如果设置为 N,则只导入部分转储文件。
示例用法:
bash
impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=test.dmp FULL=Y
这个示例命令将使用用户名 scott 和密码 tiger 登录到数据库,并从目录 dmpdir 中的
test.dmp 转储文件中导入数据。FULL=Y 参数表示导入整个转储文件。
请注意,上述示例中的用户名、密码、目录和转储文件名都是示例值,实际使用时需要替换为正确的值。此外,还可以根据需要使用其他参数来满足特定的导入需求。
PLSQL导入导出Oracle数据库方法
PLSQL导入导出Oracle数据库方法
在Oracle数据库中,我们可以使用PL/SQL来导入和导出数据。下面是一些常用的方法:
1. 使用SQL*Loader工具导入数据:
SQL*Loader是Oracle提供的一个强大的数据导入工具。通过创建一个控制文件和数据文件,可以将数据从外部文件导入到Oracle表中。以下是一个简单的示例:
```sql
LOADDATA
INFILE 'data.txt'
INTO TABLE emp
FIELDSTERMINATEDBY','
```
2. 使用Oracle Data Pump导入导出数据:
Oracle Data Pump是Oracle 10g之后引入的一种高效的导入导出工具。它提供了更快的数据加载和卸载速度,并且可以在导入导出过程中进行并行操作。以下是一个简单的示例:
```sql
--导出数据 EXPORT SCHEMA scott DIRECTORY=data_pump_dir
DUMPFILE=scott.dmp
--导入数据
IMPORT SCHEMA scott DIRECTORY=data_pump_dir
DUMPFILE=scott.dmp
```
3.使用PL/SQL脚本导入导出数据:
我们可以使用PL/SQL脚本编写自定义的导入导出逻辑。以下是一个简单的示例:
```sql
--导出数据
DECLARE
file_handle UTL_FILE.FILE_TYPE;
emp_rec emp%ROWTYPE;
BEGIN
file_handle := UTL_FILE.FOPEN('DATA_DIR', 'emp_data.txt',
'W');
FOR emp_rec IN (SELECT * FROM emp) LOOP
UTL_FILE.PUT_LINE(file_handle, emp_rec.empno , ',' ,
oracleimpdp导入时提示“ORA-39002:操作无效ORA-39070:无法打开。。。
oracleimpdp导⼊时提⽰“ORA-39002:操作⽆效ORA-39070:⽆
法打开。。。
第⼀步:⾸先使⽤DBA权限的⽤户创建directory,我使⽤system ,可以在服务器本地创建,也可以远程连接sqlplus进⾏创建,使⽤的将是服务器上⾯的路径。要确保创建directory时,操作系统层⾯的路径已经存在。如果不存在,可以删除directory后,再重新建⽴directory。
1 create directory data_pump_dir as '\exphd\datapump'; 此处注意,即便操作系统层⾯不存在相应的⽬录,也会显⽰创建成功,但是在执⾏expdp的时候会出现错误:ORA-39002: 操作⽆效
ORA-39070: ⽆法打开⽇志⽂件。
ORA-39087: directory name DUMPDIR is invalid
第⼆步:连接到其它dba权限的⽤户,授权给要使⽤expdp的⽤户,,也可远程执⾏,即expdp 中的userid中的⽤户,⽽不是schemas=后⾯的⽤户:
1 grant read,write on directory DUMPDIR to system;如果没有授权使⽤,也会出相应的错误
第三步:查看管理理员⽬录,也可远程执⾏:
1 select * from dba_directories;建⽴的directory 都是⾪属于sys⽤户的,列出的路径也都是指服务器上⾯的,可以在此对照下物理⽬录是否存在问题。
注意事项:1、需要注意的是,虽然可以远程建⽴⽬录、授权和查询,expdp只能在服务器端执⾏,在客户端执⾏会出现:
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - PrWith the Partitioning, OLAP, Data Mining and Real Application Testing
