
运行 cmd
》exp 用户名/密码@IP地址:1521/实例名 file=scott20140218dmp log=scott20140218log
--------------------------------
上面这个语句是导出远程服务器的数据的
导出本机数据库数据的话,就把上面语句“IP地址:1521/”这部分去掉就可以了。
--------------------------------
或者你直接用plsql工具导也行
工具->导出表,在窗口中选择“Oracle 导出”直接选择输出文件路径就行了
你可以通过查询dba_uses视图来确定有哪些用户和其默认的和临时的TABLESPACE,然后再在另一台需要导入的服务器上,建立好相关的TABLESPACE 后,再建立用户,并赋予相关权限后,进行导入。
1、Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出。
2、设置deferred_segment_creation
参数为FALSE后,无论是空表还是非空表,都分配segment。
在sqlplus中,执行如下命令:
SQL>alter
system
set
deferred_segment_creation=false;
查看:
SQL>show
parameter
deferred_segment_creation;
该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。
3、可以使用手工为空表分配Extent的方式,来解决导出之前建立的空表的问题。说明如下:
31
使用ALLOCATE
EXTENT的说明
使用ALLOCATE
EXTENT可以为数据库对象分配Extent。其语法如下:
-----------
ALLOCATE
EXTENT
{
SIZE
integer
[K
|
M]
|
DATAFILE
'filename'
|
INSTANCE
integer
}
-----------
可以针对数据表、索引、物化视图等手工分配Extent。
ALLOCATE
EXTENT使用样例:
ALLOCATE
EXTENT
ALLOCATE
EXTENT(SIZE
integer
[K
|
M])
ALLOCATE
EXTENT(DATAFILE
'filename')
ALLOCATE
EXTENT(INSTANCE
integer)
ALLOCATE
EXTENT(SIZE
integer
[K
|
M]
DATAFILE
'filename')
ALLOCATE
EXTENT(SIZE
integer
[K
|
M]
INSTANCE
integer)
针对数据表 *** 作的完整语法如下:
-----------
ALTER
TABLE
[schema]table_name
ALLOCATE
EXTENT
[({
SIZE
integer
[K
|
M]
|
DATAFILE
'filename'
|
INSTANCE
integer})]
-----------
故,需要构建如下样子简单的SQL命令:
-----------
alter
table
aTabelName
allocate
extent
-----------
32
构建对空表分配空间的SQL命令,
查询当前用户下的所有空表(一个用户最好对应一个默认表空间)。命令如下:
-----------
SQL>select
table_name
from
user_tables
where
NUM_ROWS=0;
-----------
根据上述查询,可以构建针对空表分配空间的命令语句,如下:
-----------
SQL>Select
'alter
table
'||table_name||'
allocate
extent;'
from
user_tables
where
num_rows=0
-----------
批量输出上述生成的SQL语句,建立C:\createsqlsql,其内容如下:
-----------
set
heading
off;
set
echo
off;
set
feedback
off;
set
termout
on;
spool
C:\allocatesql;
Select
'alter
table
'||table_name||'
allocate
extent;'
from
user_tables
where
num_rows=0;
spool
off;
-----------
执行C:\createsqlsql,命令如下:
-----------
SQL>@
C:\createsqlsql;
-----------
执行完毕后,得到C:\allocatesql文件。
打开该文件会看到,已经得到对所有空表分配空间的命令SQL语句。
34
执行SQL命令,对空表分配空间:
执行C:\allocatesql,命令如下:
-----------
SQL>@
C:\allocatesql;
-----------
执行完毕,表已更改。
34
此时执行exp命令,即可把包括空表在内的所有表,正常导出。
另外:Oracle11g中,对密码是大小写敏感的,即密码中的字母是区分大小写的。
在Oracle10g中及以前,密码中的字母大小写无所谓。
可以用exp语句导出。
1、在本地oracle下找到tnsnamesora文件,一般在~\oracle\product\1020\db_1\network\ADMIN目录下。
2、打开tnsnamesora文件(文本方式打开即可),添加如下内容:
bendi =(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库IP地址)(PORT = 数据库端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 数据库服务名)
)
)
其中“bendi”可自定义,然后还需要知道远程数据库IP地址,数据库端口号,及数据库服务名。
3、本地打开命令提示符,输入以下内容:
exp 数据库用户名/密码@本地实例名 file=路径:\文件名dmp log=路径:\日志名log owner=数据库所属用户4、敲击电脑回车键,等待导出结束即可。
首先,第一步里的connect to orcl identified by orcl是你需要连接的远程数据库orcl(using后面那个)的用户名 / 密码,而不是你本地的用户名密码;
比如你本机叫scott/tiger,需要连接远程服务器上的exptest/exptest,那你这里就需要些成"connect to exptest identified by exptest",第四步导出的时候写"expdp scott/tiger ";而且如果导出表的话,在表前面还要加上远程那个用户名,例如要导出testTable,则要写成"expdp scott/tiger tables=exptesttestTable "这样
其次,要保证你字都没打错,如你建立的link是orlink 还是ytlink,还有第三步里是orcl打成了oacl
楼主可以使用oracle客户端软件 pl/sql develper 进行exp导出。
使用该工具时可以先全选AA用户的所有对象,
再按住control键单击TAA TBB TCC进行取消,不导出他们仨。
如此可满足你的要求。
对于:oracle的exp,就你的问题简答如下:
1、用户名和密码,提供这两个参数的作用是什么
ORACLE是有权限管理及加密的,不知道用户名与密码会让你导不出数据。
(当然,如果你能本地登录安装ORALCE的地服务器,一般可以用管理员身份强登后改密码进行相关处理)。
2、提供用户名是导出该用户下的所有内容吗?
ORACLE中,用户与数据库是相对独立的概念,就象某几个人与某几个办公室,并不是一一对应关系,一个人可以有几个办公室的钥匙,当然,也可能一个办公室的钥匙都没有,或是只有能过窗户查看某个办公室内情况的权。
所以,某个用户,可以导出该用户下的内容,也可以导出其它用户的内容,前提是你登录的这个用户有相关的权限。
比如sys用户一般就是超级用户,可以导出所有用户的对象(表、存储过程,等等)。
3、那提供的数据库名又是干什么的
就是上面我说的“办公室”的概念了。一般exp一次只能导出一个“办公室”(数据库)里的数据。
你倒入时也用的是整个参数吗?如果是整个倒入,应该不会出这个问题的。是你的应用用户没有导过来么?如果应用用户没有,建议你再重新导入。
下面这个sql可以生成建用户有脚本,在源库执行,把执行结果放目标库里再执行:
select 'create user '||username||' identified by values '''||password||''' default tablespace '||default_tablespace||' temporary tablespace '||temporary_tablespace||';' from dba_users;
以上就是关于oracle用exp如何导出某个用户下的所有的表,比如scott用户下的表,改怎么写exp。全部的内容,包括:oracle用exp如何导出某个用户下的所有的表,比如scott用户下的表,改怎么写exp。、oracle 如何导出所有用户名和密码 我用exp导出整个数据库之后。。在另一个服务器进行导入,却发现没有帐号、如何用EXP导出oracle数据库中没有记录的表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)