4)按查询条件导
expdp v45test/1 directory=dp_dir dumpfile=expdp.dmp Tables=t_s_user query='WHERE c_user_code=ywy';
5)按表空间导
expdp v45test/1 directory=dp_dir dumpfile=expdp.dmp tablespaces=example;
6)导整个数据库
expdp v45test/1 directory=dp_dir dumpfile=expdp.dmp full=y;
5、还原数据
1)导到指定用户下
impdp username/1 DIRECTORY=dp_dir DUMPFILE=expdp.dmp SCHEMAS=username;
2)改变表的owner
impdp username/1 DIRECTORY=dp_dir DUMPFILE=expdp.dmp TABLES=v45test.dept REMAP_SCHEMA=v45test:username;
3)导入表空间
impdp username/1 DIRECTORY=dp_dir DUMPFILE=expdp.dmp TABLESPACES=example;
4)导入数据库
impdb username/1 DIRECTORY=dp_dir DUMPFILE=expdp.dmp FULL=y;
5)追加数据
impdp username/1 DIRECTORY=dp_dir DUMPFILE=expdp.dmp SCHEMAS=username TABLE_EXISTS_ACTION=append;
6)并行命令
从oss_scap_83(db_link名)导出scap用户,然后导入到本地数据库上scap用户上
impdp username/oracle NETWORK_LINK=oss_scap_83 directory=dp_dir SCHEMAS=scap job_name=expdmp parallel=4;
7)高版本导入底版本(12c到11g)
expdp v45test/1 directory=dp_dir dumpfile=expdp_%U.dmp parallel=6 Version=11.2.0.4.0 logfile=expdp.log schemas=v45test compression=all;
expdp v45test/1 directory=dp_dir dumpfile=expdp.dmp Version=11.2.0.4.0 logfile=expdp.log schemas=v45test ;
impdp username/1 directory=dp_dir dumpfile=expdp.dmp remap_schema=v45test:username logfile=impdp.log;
impdp username/1 directory=dp_dir parallel=6 dumpfile=expdp_01.dmp,expdp_02.dmp,expdp_03.dmp,expdp_04.dmp,expdp_05.dmp,expdp_06.dmp remap_schema=v45test:username logfile=impdp.log;
expdp username/1 directory=dp_dir dumpfile=expdp_%U.dmp parallel=6 logfile=expdp.log schemas=username compression=all;
8)不同用户不同表空间下的导入操作:
impdp 用户名/密码 directory='您创建的目录的名称' dumpfile='导出的文件名称'
remap_schema=导出的用户名称:要导入的用户名称 remap_tablespace=导出的表空间名称:要导入的表空间名称
例如:
[oracle@server36 ~]$ impdp system/oracle@XXX.XXX.XX.XXX/service_name directory=dp_dir remap_schema= EFMIS_23_YANSHI:efmis_23_20150511 dumpfile=EFMIS_23_YANSHI_201505110900.dmp
remap_schema=导出的用户:预备导入的用户
service_name:一般是orcl,可查询:select instance_name from v$instance;
9)数据文件压缩
/*压缩服务器上当前目录的内容为xxx.zip文件*/
zip -r expdp.zip ./*
/*解压zip文件到当前目录*/
unzip expdp.zip
--8 Oracle导库后操作
SQL>alter user test account unlock; --解锁用户
SQL>alter user username identified by 1; --数据库用户密码置1
SQL>update t_s_user set c_user_pwd = '
6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B' --系统用户密码置1
SQL> grant execute on DBMS_CRYPTO to test; --用户赋权
SQL> @D:Encrypt_AES.plb;
SQL> @D:Decrypt_AES.plb;
SQL> @D:调整sequence-生成脚本.sql;
--9 Oracle报错解决
ORA-04031: 无法分配 4064 字节的共享内存
第一种:治标不治本 。
alter system flush shared_pool;
这种方法可以立即有效果,但是不是根本的解决办法,一小时左右又开始报上面的错误了,再次执行就可以了 。
第二种:治标又治本 。
ALTER SYSTEM SET SHARED_POOL_SIZE='100M' SCOPE=spfile;
1
然后重启下:
sql>shutdown immediate;
sql>startup;
---------------------
ORA-12519: TNS:no appropriate service handler found 解决
有时候连得上数据库,有时候又连不上.
可能是数据库上当前的连接数目已经超过了它能够处理的最大值.
select count(*) from v$process --当前的连接数
select value from v$parameter where name = 'processes' --数据库允许的最大连接数
修改最大连接数:
alter system set processes = 1000 scope = spfile;
重启数据库:
shutdown immediate;
startup;
--查看当前有哪些用户正在使用数据库
SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;
select SEQ_ACM_CLAIM.NEXTVAL from DUAL --查询一下这个表的序列号在什么位子
alter sequence SEQ_ACM_CLAIM increment by 100 --表中SEQ_NO的值大于查询到的值,就将把索引值进行更新,设定序列步长为100(一般都是1)
select * from user_sequences; --查询所有所有索引:--
drop sequence SEQ_ACM_CLAIM; --删除索引:
CREATE UNIQUE INDEX SEQ_ACM_CLAIM ON TBL_ACM_CLAIM(SEQ_NO); ---创建索引
select * from t_s_db_up_his a where a.n_exe_status<>2; --表示执行失败的日志记录
推荐阅读
- ES的基本概念及常用命令
- 从感性到理性 经典语句?感性的说说心情随笔
- 向日葵花盘能喝吗,向日葵花盘煮水功效介绍
- 最常用的5种汽车音响改装方案
- oracle连接查询详解
- 藏红花对备孕有影响吗,藏红花男人可以喝吗
- mg是什么单位?
- RabbitMQ——最常用的三大模式
- 华为交换机查看端口相关信息常用命令,排查故障法宝,转发收藏
- 脑梗塞常用药4种药,桑叶药对