本站用于记录日常工作内容,虚拟化云计算,系统运维,数据库DBA,网络与安全。
 
0

oracle中的转义符

发表者:admin分类:数据库2015-08-15 16:28:57 阅读[2274]
1、单引号那么如果字段的内容中包含了单引号要怎么插入呢?例如:It's fine。方法同样有三·方法一:使用转义字符   SQL > Select 'test' || '''' from dual;   注意:这里的''''四个单引号是什么意思呢?首先第一个和最后一个都是Oracle中的字符串连接符,这个没有异议。那么第二个'和第三'又表示什么意思呢?第二个'是一个转义字符           第三个'才是我们真正的内容·方法二:同样是使用转义字符,只不过方式不同而已   SQL > Select 'test ''' from dual;   注意:这里的第二个,第三个'就是我们上面方法一中提到的转义符和真正的内容·方法三:在SQL中将'替换成chr(39),因为chr(39)是'的ASCII码   SQL > Select 'It' || chr(39) || 'fine' from dual; 2、在SQL语句中将'&'替换成chr(38),因为chr(38)是‘&’的ASCII码
 
0

sql批量修改表权限

发表者:admin分类:数据库2015-08-15 16:28:18 阅读[2238]
批量修改表权限批量修改表权限:sql样例:1 grant references, alter, index on BDP_CBW.TMP_T_TELE_INFO to CBW; 2 grant references, alter, index on BDP_CBW.T_PARAM_ENUM to CBW; 3 grant references, alter, index on BDP_CBW.T_ORG_INDUSTRY_ATTRIBUTE_8888 to CBW;当然了,BDP_CBW地下还有很多表要写,每个手动编写会很麻烦,直接用一个sql语句生成所有要执行的代码:select 'grant references, alter, index on BDP_CBW.'||t.table_name||' to CBW;' from all_all_tables t where t.owner='BDP_CBW';这样就生成了所有更改表权限的语句.其他的批量操作也可以借鉴
oracle  重建 scott 与hr schemas 方案 脚本,完整版本。先建好HR或SCOTT账号与权限。然后sys账号 执行对应的脚本hr.sql 或hr.sql 点击下载oracle HR SCOTTTo install the:  (*) HR schema tables, run hr.sql in the hr_schema directory.  (*) SCOTT schema tables, run hr.sql in the scott_schema directory.
oracle dblink 存储过程 插入大量数据方法需要插入数据的表名先新建个表 (sq,table_name)注意内容:     t_sql := 'insert into ' || c.table_name ||  '  select * from ' || c.table_name || '@dblink';其中 ||  '  select 内容 || ' select   中‘号与select 之前有空格。create or replace procedure p_insert_gps(a in number, b in number) is  t_sql varchar2(2000);begin  for c in (select table_name from gps_insert             where sq >= a               and sq <= b) loop    t_sql := 'insert into ' || c.table_name ||  '  select * from ' || c.table_name || '@dblink';     execute immediate t_sql;    commit;  end loop;end p_insert_gps;
 
0

Oracle 清空回收站Oracle

发表者:admin分类:数据库2015-08-14 13:43:15 阅读[1996]
Oracle 清空回收站Oracle Oracle 10G中有一个好功能,就是Recycle,这个东西可以帮助我们找回删除掉的Table,就像Windows的回收站一样,而且比Windows的回收站更高级,就是当表空间不够时,Oracle 会自动去清理回收站。网上有一篇文章讲这个东西,大家可以参考:http://hi.baidu.com/moses/blog/item/0d9a4b3659bd3edca3cc2bc3.html这篇文章写得还不错,不过其中有些内容有误,比如清除回收站内的Table,应该用table的原名,而不是现在的名字。大家仔细看就可以发现。其实早先我们头就问过我,为什么PLSQL中看到Object中有一堆bin打头的Object,当时不知道是为什么,现在想来,真是够笨的,用了 Oracle这久,居然都不知道这个东东(嘻嘻,好像很多同事都还不知道这个东东)。清除的方法如下:purge table origenal_tableName;purge index origenal_indexName;查询垃圾信息,可以用如下SQL语句:SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t;现在发现,原来还有这个命令:PURGE recyclebin;根本用不了上面那么复杂。呵呵。。。另,删除Table 不进入Recycle的方法:drop table tableName purge;不过,我想一般的人都不...
parfile解决exp时tables过多问题  在对oracle数据库使用exp命令导出数据时,如果tables=后面跟的表比较多,就是导致命令行放不下,从而不能导出。百度一把发现使用prafile命令可以解决该问题首先要创建一个文件e:\exp.par(文件名随便),内容为tables=(tab1,tab2)file=e:\qqhe.dmplog=e:\qqhe_exp.log 然后在命令行中输入:exp user/passwd@dbparfile=e:\exp.par 如此这般就可以实现数据的导出
EXP导出和IMP导入(参数文件模式)   特点:1、数据库必须在open状态下,才可以使用EXP、IMP2、EXP只备份数据,与物理结构无关3、导出的是一个二进制文件 目的:1、数据库的迁移2、归档历史数据3、重新组织表4、转移数据给其它数据库5、物理备份的辅助 使用方式:1、交互模式(傻瓜模式)2、命令行模式(不太好,偶尔使用)3、参数文件模式(最好,最成熟的模式)4、图形向导模式(用的很少) 参数文件模式实验一:导出用户scott下的表T,接着删除表T,再导入恢复表Texp parfile=/home/oracle/test1.txte.txt 文件内容如下:userid=scott/tigerbuffer=100000log=/oradata/exp1.logfile=/oradata/test1.dmpfeedback=10000tables=t 彻底删除表T;drop table t purge; 导入表T;imp parfile=/home/oracle/test1.txt 实验二:导出用户scott下表T中deptno=30的数据,并删除表中数据并恢复exp parfile=/home/oracle/test2.txt内容如下:userid=scott/tigerbuffer=100000log=/oradata/exp2.logfile=/oradata/test2.dmpfeedback=10000tables=tquery='where deptno=30...
 
0
oracle的not like的一个例子 有个表t 的一个字段userid其中里面带"_",譬如:SQL>select * from t;USERID -----------xiaguan_aj xiaguan_sb zenxin xiaguan_hb xiaguan_yg请问我想查询userid不带"_"的userid.怎么我就查询不出来呢?SQL>select * from t where userid not like '%_%';查询结果为空.但是里面有一个zenxin的结果啊?请教了一下高手,原来是要转义一下:SQL> select * from t where userid not like '%=_%' escape '=';Like 查询条件注意SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'
 
0

Oracle中创建dblink的方法

发表者:admin分类:数据库2015-08-13 11:26:05 阅读[1990]
Oracle中创建dblink的方法.使用简单方法:本地数据库创建dblink, 用sys账号执行:create database link to_linkconnect to two identified by two using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 115.144.114.144)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = TWO)))';注意 Service_name = TWO  的值在大写,否则识别不出来。当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建dblink.  创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限。想知道有关dblink的权限,以sys用户登录到本地数据库:  select * from user_sys_privs t  where t.privilege like upper('%link%');  1 SYS CREATE DATABASE LINK NO  2 SYS DROP PUBLIC DATABASE LINK NO  3 SYS CREATE PUBLIC DATABASE LINK NO  可以看出在数据库中dblink有三种权限CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了),CREATE PUBLIC...
假设导入用户为sysdb数据文件存放目录为dump_dir#: mkdir /home/oracle/bakSQL:#   create directory dump_dir as '/home/oracle/bak';查询:select * from dba_directories where DIRECTORY_NAME='DUMP_DIR';查看目录是否存在 select owner,table_name,grantor,privilege from dba_tab_privs where grantee='SYSDB';  //注意SYSDB大写查看是否有read write权限如果没有读写权限,执行如下语句,赋给sysdb读写DATA_PUMP_DIR权限:GRANT WRITE ON DIRECTORY DUMP_DIR TO SYSDB  WITH GRANT OPTION;GRANT READ ON DIRECTORY DUMP_DIR TO SYSDB  WITH GRANT OPTION;expdp system/manager@db1 directory=dump_dir dumpfile=expdp.dmp logfile=expdp.log schemas=hruser content=metadata_only  impdp system/manager@db2 directory=dump_dir logfile=local.impdp.log dumpfile=expdp.dmp
    总共51页,当前第29页 | 页数:
  1. 19
  2. 20
  3. 21
  4. 22
  5. 23
  6. 24
  7. 25
  8. 26
  9. 27
  10. 28
  11. 29
  12. 30
  13. 31
  14. 32
  15. 33
  16. 34
  17. 35
  18. 36
  19. 37
  20. 38
  21. 39