一、sql数据怎么转到ORACLE里?
可以参考如下解决方法:
1利用某个工具将数据导出成txt文件(里面的内容类似insetintotablevalues();形式)。这个步骤也有讲究。有两个方案:
1)直接从这个大表中一个id一个id的导出数据。
2)先采取createtablet_idnameasselect*fromsouce_tablewhereid=1;的形式建立15000个id表。然后直接一个表一个表的导出数据。
优点是:导出的时候速度快,目标清晰,出错了容易处理。
缺点:前期准备工作很多。得考虑磁盘空间等。2导出文件的处理。因为sqlserver和oracle的一些数据类型不同,一些关键字也不同。需要对导出文件进行处理。
(如果导出工具支持的话,可以直接在导出工具中设置进行处理,兼并到第一步中去)3导入。没什么好说的,采用oracle的sqlload工具即可。
另外还可以在sqlserver里建立dblink,连oracle然后,就在sqlserver方,用sql把数据转到dblink连着的数据库里。
二、oracle sql调换两列数据?
这个简单: select case when (syddm=1 and id=1) or (syddm=2 and id=2) then id else syddm as syddm_t, case when (syddm=1 and id=1) or (syddm=2 and id=2) then id else syddm as id_t from table_t; 你的问题不太明确,我只能是假设你的要求是,当syddm、id条件满足你所列出的任意条件时,原syddm列显示id值,原id列显示syddm值。
所以我的解决思路是使用case when来处理,当满足你的两个条件中的任意时,交换两列值。三、如何用Oracle扩展SQL跟踪数据?
我明白你的意思了,你是要看插入这个值的SQL语句是怎么样的;
都是在动态表里面存储的,v$session,v$sqlarea,V$sqltext
以上三个表你查下吧,如果正在执行的语句,都能查到,如果已经执行完毕,建议从后两张表查询
查询Oracle正在执行和执行过的SQL语句
---正在执行的
selecta.username,a.sid,b.SQL_TEXT,b.SQL_FULLTEXT
fromv$sessiona,v$sqlareab
wherea.sql_address=b.address
---执行过的
selectb.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXT
fromv$sqlareab
whereb.FIRST_LOAD_TIMEbetween'2009-10-15/09:24:47'and
'2009-10-15/09:24:47'orderbyb.FIRST_LOAD_TIME
(此方法好处可以查看某一时间段执行过的sql,并且SQL_FULLTEXT包含了完整的sql语句)
其他
selectOSUSER,PROGRAM,USERNAME,SCHEMANAME,B.Cpu_Time,STATUS,B.SQL_TEXT
fromV$SESSIONALEFTJOINV$SQLBONA.SQL_ADDRESS=B.ADDRESSANDA.SQL_HASH_VALUE=B.HASH_VALUEorderbyb.cpu_timedesc
selectaddress,sql_text,piece
fromv$session,v$sqltext
whereaddress=sql_address
--andmachine=
orderbyaddress,piece
四、ORACLE快速查询数据SQL语句?
单条匹配,没有索引也不准备建索引。
只能靠并发来加快检索速度,最快的语句应该是:select /*+ full(A) parallel(A,10) */ * from A where b=c;理由有2:full table scan 时,oracle会一次读出多个block加快速度parallel指定并发10线程检索,当然如果允许,你指定20也可以。最好等于CPU个数。不过还是建议在b列上建索引,这是最好的办法。五、oracle如何诊断数据库sql问题?
Oracle诊断数据库SQL问题有多种方法,可以使用SQL Trace、AWR报告、SQL优化工具等。其中SQL Trace可以捕获所有SQL语句的执行相关信息,AWR报告可以监测系统的负荷和性能瓶颈,SQL优化工具可以根据SQL执行计划和统计数据进行优化。
通过综合利用这些工具,可以高效地诊断数据库SQL问题,并采取相应的优化措施,提升数据库的性能和可用性。
六、能将Oracle数据导入sql server数据库吗?
试试用DBLink连到另外一个库上:-- Create database link create public database link 名字 connect to user identified by password using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = PORT)))(CONNECT_DATA = (SERVICE_NAME = SID)))';使用时候 可以使用select × from TB名@DBLink_Name
七、SQL链接Oracle?
设置方法如下:
1、找到$ORACLE_HOME/client_1/network/admin目录下的tnsnames.ora文件,并用文本模式打开。
2、添加以下内容: 本地实例名= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 端口号)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 服务名) ) )
3、用PL/SQL工具登录即可。
八、oracle快照可以恢复多久数据?
10g以前称为快照(SNAPSHOT),之后就运用于AWR了。
AWR默认每隔60分钟采集一次,最小时间间隔10分钟,默认保存周期8天
Oracle按照10个并行会话来估计存储8天的数据将需要200M~300M的磁盘空间,应保证Sysaux表空间有这么多可用空间,否则将会删除最旧的快照。采集频率越大,保留时间越长,用户会话越多,采集的数据量就越大,所需要空间就越大。可在OEM中管理
SQL>exec dbms_workload_repository.modify_snapshot_settings (interval=>30,retention =>3*24*60);
(interval=>0即可关闭AWR信息收集)
九、oracle sql developer怎么导入sql?
有几种方式:
1.在sql窗口中使用insert语句插入数据。例如:
insert into table (a, b) values ('asd', '123');
2.在sql窗口中select * from table for update;
然后在结果的表格中填写数据;
3.导入含有insert语句的sql脚本;
4.导入dmp文件;
5.还有其他方式可以导入数据,这里就不多举例了。
十、oracle数据库求差值的sql语句?
with t1 as (select shuzi,riqi,rownum as rnfrom (select shuzi,riqifrom Aorder by 2) t)select p.shuzi-nvl(m.shuzi,0) as new_shuzi,p.riqifrom t1 pleft join t1 m on p.rn-1=m.rn;你看下这个结果
- 相关评论
- 我要评论
-