使用oracle DB_LINK的一个注意点】的更多相关文章

今天使用db_link的时候遇到了个有趣的问题,和大家分享一下; 环境:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 是这样的,数据库有2个实例,分别为orcl和orcl2,在orcl实例用户A下有一张产品表,tfund_info,另外一个实例下需要获取该表的数据,并做修改,然后将更新同步回实例A. 早上的时候我在实例orcl2内建立了一张用于存储tfund_info的数据,取名为joyi…
Oracle中把一个DateTime或者该形态字符串转化成date类型. to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'), 或者: select to_date('2010-10-20 13:23:44','yyyy-mm-dd hh24:mi:ss')  from dual; 是用" /"还是" -"取决于字符串是什么结构的. date类型转换成char类型, 例子to_char(' ','yyyymmd…
oracle 编译中一个关于clntsh 库的一个 帖子 ,收藏! ----------------------------------------------------------------------------------------------------------------------------------- (求助)proc 和gcc 编译问题 关于clntsh库 [问题点数:40分,结帖人tongzhipeng5699] 我的环境是虚拟机+UBUNTU11.10+ORAC…
ORACLE如何停止一个JOB1 相关表.视图2 问题描述为同事解决一个因为网络连接情况不佳时,执行一个超长时间的SQL插入操作.既然网络状况不好,就选择了使用一次性使用JOB来完成该插入操作.在JOB执行一段时间后,我发现被插入表有些问题(惭愧,当时也没有先检查检查就做了).准备停止JOB,因为在JOB运行情况下,我的所有修改都会报系统资源忙的错误.强行KILL SESSION是行不通的,因为过会儿,JOB还会重新启动,如果执行的SQL也被KILL了通过重新启动的JOB还是会被再次新执行的.3…
前阵子,Oracle 发布了一个黑科技 "GraalVM",号称是一个全新的通用全栈虚拟机,并具有高性能.跨语言交互等逆天特性,真有这么神奇? GraalVM 简介 GraalVM 是一个跨语言的通用虚拟机,不仅支持了 Java.Scala.Groovy.Kotlin 等基于 JVM 的语言,以及 C.C++ 等基于 LLVM 的语言,还支持其他像 JavaScript.Ruby.Python 和 R 语言等. GraalVM 有以下几个特性. 更加高效快速的运行代码 能与大多数编程语…
发现FIREDAC(DELPHI10 or 10.1)提交数据给ORACLE数据库的一个不是BUG的BUG,提交的表名大小写是敏感的. 只要有一个表名字母的大小写不匹配,ORACLE就会认为是一个不认识的表,提交的时候就会报错:表或视图不存在. 而有意思的是新增一行记录,提交的时候却不会报这个错误,只有修改数据再提交才会报这个错. MSSQL数据库则没有此问题. 请遇到同样问题的同仁注意这个问题.解决办法:表名大小写完全要匹配.…
oracle创建触发器,把本地新增.修改数据过程同步到另一个服务器上去. 如果是本地,加数据库名即可.如果是远程服务器,不是一台机器,做一个db_link操作即可. ------------------ 终极新增用户增加触发器版,测试可以用 create or replace trigger tr_tguser_insert ---触发器名称 before insert on bjlt.sys_user ---在新增之前进行操作,也有after属性 for each row ---每改动一行就同…
1.先创建远程数据库服务名(注意,如果服务器既有oracle服务端又有客户端,需要在服务端的tnsnames.ora中配置服务名,否则会报如下错误): SQL> select count(*) from webxxxt_pic.xxx@pic_link; select count(*) from webxxxt_pic.xxx@pic_link * 第 行出现错误: ORA-: TNS: 无法解析指定的连接标识符 2.给需要赋予创建DB_LINK的权限: grant CREATE PUBLIC…
oracle安装好之后,有一个默认的scott用户,该用户有一个默认的emp表,怎样让新创建的用户也能够访问这个表呢? 授权xiaoming这个用户访问emp表,但是xiaoming只有select权限,如果想给他delete权限,只需要把select换为delete即可,如果想给他所有权限,则把select换为all即可. 那么怎么撤销授权呢? 版权声明:本文为博主原创文章,未经博主允许不得转载.…
一.场景   两台不同的服务器A.B分别装有不同业务的oracle数据库,因业务需要,现需要将B中test表的数据,定时同步到A中. 二.实现   根据以上场景,我想到了oracle中的dblink,当用户需要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库可以通过创建远程数据库的dblink,实现像访问本地数据库一样访问远程数据库表中的数据. 三.具体操作 1.用sysdba身份登录A服务器oracle,首先确定是否有创建link的权限,执行锁起来: select * from use…
这两天老大让我再oracle中把要替换的表被其他对象引用之处找出来,整理一份表,接到这个任务,我是一脸懵逼,怎么找?大海捞针么?问同事.查资料,自己研究,最后整理一下仅供大家参考,同时以备将来回顾.本篇只涉及表被其他数据库对象引用,不涉及外键,想寻找外键的,自己查看下面附有的链接. 首先有下列几种方式: 1.plsql工具 : 点击工具,找到 查找数据库对象 最后进入到查找页面 最后根据页面把要查找的 表对象或者关键词填入 文本查找   里,再在对象条件里 选择自己要筛选的条件即可筛选.但是此方…
oracle数据库支持多用户间同时对同一个表进行操作,但是数据不一定同步,因为oracle数据库是支持脏数据的,比如A用户删除了表的数据但没有提交,B用户也能查询访问到,如果要避免这种情况只能加锁,A用户在操作表时先进行select * from table_name for update,这是,如果B用户再查询时只会等待A用户提交完成后才能查询到数据,如果A不提交,B用户只能在等待. 1. 问题 1 多用户对一个表同时进行增,删,改,查等操作的情况 多用户操作的影响主要是会锁定记录,oracl…
select count(*) from (select count(*) from 表名称 group by 多种数据量 ) 表名; 举个栗子: 比如说我有一个数据类型的字段, 里面有很多种的数据类型. 而且每个数据类型都有近些年的数据.  就是有很多重复的数据类型的数据. 我的目的就是查询出 数据类型的个数. 先查询出不重复的数据类型. select count(*) from 表名称 group by SJLX; 然后我们在用count(*) 查询这些条目数的总个数. select cou…
开始 SQL> col file_id format 99SQL> col file_name format a50SQL> col tablespace_name format a10SQL> col autoextensible format a10 SQL> select file_id,file_name,tablespace_name,autoextensible from dba_data_files; FILE_ID FILE_NAME             …
语句,或可通过可视化操作 -- Create database link create database link DBL_TESTconnect to UID identified by PSWusing '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XX.XX)(PORT = XXXX))(CONNECT_DATA =(SERVER = XXX)(SERVICE_NAME = XX)))'; 在建了该  DB_LINK 的…
很多时候我们想知道一个表或一个索引占用多少M的空间,以下脚本就是满足这个要求的,记住替换其中的内容. SELECT owner, segment_name, SUM(bytes)/1024/1024 FROM dba_segments --WHERE owner='MYUSER' --And segment_name='MYSEG' GROUP BY owner,segment_name ORDER BY 3 DESC;…
于是我就直接在上面改字段,在点打钩(记入改变)的时候提示,记录被另一个用户锁住,一开始还以为整个表被锁住了,后来发现,仅仅是这个字段不能改变,其他的字段可以. 网上找了资料,发现是:当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况造成的.网上也给出了答案: 1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v\(locked_object; 或者用以下命令: select b.owner,…
SET TRANSACTION NAME 'Update salaries'; SAVEPOINT before_salary_update; UPDATE employees SET salary=9100 WHERE employee_id=1234 # DML ROLLBACK TO SAVEPOINT before_salary_update; UPDATE employees SET salary=9200 WHERE employee_id=1234 # DML COMMIT COM…
先从历史表中查询最新的一个语句: select t.id from ( select r.*, row_number() over(partition by r.分组字段 order by r.排序时间 desc) rw from 表A r ' ) t 下面是完整语句:需要插入的表中字段要和下面查询语句字段对应上 insert into uav_flight_real_location (ID,LOCATION_TIME,GPS_LONGITUDE) select sys_guid() as i…
update (select length(t.name), t.* -- name,length(name) from g_enterprise_info t where nvl2(translate(name, '\1234567890 ', '\'), 'is characters ', 'is number ') = 'is number ' and asciistr(gszcdjh) like '%\%') set name = gszcdjh, gszcdjh =name ; 判断一…
-- 大概 这个样子,如果没有 FK 的话,一下子就都删掉了. begin for x in (select table_name from user_tables) loop execute immediate 'delete ' || x.table_name ;  end loop ;  end ;…
如图 文件夹 打开文件夹,如图 autoExeSyn-local.bat文件里的内容如下 @echo off -----------用户/密码-实例-------------执行的sql文件--->-生成日志--- sqlplus cqy_2v/gmgl@GLXT @F:\自动运行脚本\delete.sql > log.txt --退出-- exit delete.sql文件的内容 drop user syncto cascade;…
INSERT INTO DBTHNEW.L_MEMBER_ROLE_REL SELECT    *FROM    DBTH.L_MEMBER_ROLE_REL…
1.create user A identified by Apassword,创建用户,用户名是A,密码是Apassword2.grant connect to A --授予connect权限3.grant select on test to A --给指定用户的表或者视图授予select(只读)权限,其中test是表名 注意:1.如果是以普通用户(jtg1)身份登录,并创建的用户,查询时要 select * from jtg1.test才能查询出来 2. 如何直接通过select * fro…
现象:在两个节点上做CRS的重启,这个实例都不能随CRS的启动而启动.CRS启动后做crs_start -all可以把没启动的资源起来,而且无报错. 分析:去crsd.log中找原因,发现CRS根本就没有去尝试启动该instance以及相关的HA资源.用crs_stat -p把资源详细信息输出后发现该实例的所有资源的auto_start=2,意味着该资源不会自动启动 解决:更新资源的auto_start=1       ./crs_register resource_name -update -…
首先需要新建存储过程 一 存储过程: create or replace procedure Insertdata is begin INSERT INTO tab_dayta select * from tab_data<span style="font-family: Arial, Helvetica, sans-serif;">_bak2015</span>; INSERT INTO tab_curuser select * from tab_curuse…
如果表已经存在,用如下方法设置默认值. alter table 表名 modify 字段名 default 默认值; 如test表中设置address字段为'浙江省',可用如下语句: alter table test modify address default '浙江省';…
1.select dbms_random.string('x', 3) from dual ; x是类型,3是长度. /* opt可取值如下: 'u','U'    :    大写字母 'l','L'    :    小写字母 'a','A'    :    大.小写字母 'x','X'    :    数字.大写字母 'p','P'    :    可打印字符*/ 2.生成GUID(32位 ) {数字与大写字母组合} [这个生成的随机数里面包含数字较多比上边的(dbms_random.stri…
1.使用 create or replace package refcursor_pkg is -- Author : mr.yang -- Created : 5/14/2017 5:13:42 PM -- Purpose : type refcur_t is ref cursor return sys_product%rowtype; type refcur_t1 is ref cursor /*return sys_product%rowtype*/ ; type refcur_t2 is…
//把system读写权限 授权给scottselect 'Grant all on '||table_name||' to scott;' from all_tables where owner = upper('system'); 然后执行以上的所有查询结果:…