学习oracle库管理日记
纯菜鸟
努力学习,天天看书.
展开
-
学习和管理oracle角色
角色是相关权限的命令的集合,使用角色的主要目的是简化权限管理.预定义角色是Oracle提供的角色,这些角色是在建立数据库,安装数据字典视图何PL/SQL包时建立的,并且每种角色都用于执行一些特定管理任务.1,CONNECT角色CONNECT角色时在建立数据库时,oracle执行脚本SQL.BSQ自动建立的角色,该角色具有应用开发人员所需的多数权限.CONNECT角色具有的所有系统权限如转载 2016-12-14 10:49:32 · 472 阅读 · 0 评论 -
dblink
select * from user_sys_privs t where t.privilege like upper('%link%');grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to addtaxapp;create public database link mydblink connect t原创 2016-12-14 13:43:35 · 352 阅读 · 0 评论 -
sqlplus导入数据乱码问题
要解决Oracle的客户端乱码问题关键是要把服务器端使用的字符集跟客户端使用的字符集统一起来。Oracle客户端(Sqlplus)通过NLS_LANG环境变量来确定客户端使用的字符集。NLS_LANG参数由以下部分组成:NLS_LANG=_.NLS_LANG各部分含义如下:LANGUAGE指定:-Oracle消息使用的语言-日期中月份和日显示TERRITORY指定-货币转载 2016-12-14 14:19:04 · 859 阅读 · 0 评论 -
oracle创建用户与表空间
-- 创建表空间-- 创建表空间 VMSS_ISTCREATE TABLESPACE VMSS_IST DATAFILE 'D:/Soft/Oracle/oradata/vms/VMSS_IST_0001.ORA' SIZE 256M AUTOEXTEND ON NEXT 64M MAXSIZE 1024M EXTENT MANAGEMENT LOCAL SEGMENT SPA原创 2016-12-14 16:04:46 · 186 阅读 · 0 评论 -
oracle常用语句自动补齐
s = SELECT t.* FROM tw = WHEREb = BETWEEN ANDl = LIKE '%%'o = ORDER BYinsw = IN (SELECT a FROM a WHERE a )sw = SELECT t.* FROM t WHERE tsc* = SELECT COUNT(*) FROM tst = SELECT t.* ,t.ROWI原创 2017-01-05 14:59:34 · 1492 阅读 · 0 评论 -
oracle数据库 查找带有时分秒数据
select * from TEST_JOB t WHERE to_char(t.para_date, 'YYYY/MM/DD HH24:MI:SS') between '2016/11/08 10:55:18' and '2018/8/22 10:55:18' to_char函数 转换时间格式原创 2017-01-05 15:55:48 · 4209 阅读 · 0 评论 -
sql 查出一张表中重复的所有记录数据
1、在面试的时候碰到一个 问题,就是让写一张表中有id和name 两个字段,查询出name重复的所有数据,现在列下:select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1)2、查询出所有数据进行分组之后,和重复数据的重复次数的查转载 2017-02-17 15:11:58 · 185 阅读 · 0 评论 -
oracle 自动备份数据库 liunx
第一部分:编写Oracle备份shell脚本(分常规方式和数据泵方式,根据需要选择一种,创建shell脚本文件:autobackup.sh)/********************************exp常规方式的shell脚本部分*********************************/#! /bin/sh#set environment variableexp转载 2017-03-30 10:34:45 · 516 阅读 · 0 评论 -
Oracle 闪回
Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复。闪回技术是Oracle 数据库独有的,支持任何级别的恢复,包括行、事务、表和数据库范围。使用闪回特性,您可以查询以前的数据版本,还可以执行更改分析和自助式修复,以便在保持数据库联机的同时从逻辑损坏中恢复。闪回技术包括以下特性: (1)闪回查询允许用户查询过去某个时间点的数据,以重新构建由于意外删除或更转载 2017-03-30 10:47:27 · 94 阅读 · 0 评论 -
闪回开关
在Oracle的建库过程中,通常会提示是否开启闪回并指定闪回恢复区大小,我一般会选择不开启。这样,如果需要使用闪回功能,就需要手动开启。1.环境准备我们在Oracle11g上进行测试。点击(此处)折叠或打开SQL> select * from v$version;BANNER----------------------------------转载 2017-03-30 10:59:16 · 102 阅读 · 0 评论 -
分组排序函数的用法
项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1、要求取出按field1分组后,并在每组中按照field2排序;2、亦或更加要求取出1中已经分组排序好的前多少行的数据这里通过一张表的示例和SQL语句阐述下oracle数据库中用于分组排序函数的用法。a、row_number() over()row_number()over(partition by col1 order b转载 2017-04-01 15:57:32 · 1800 阅读 · 0 评论 -
oracle加快查询速度
平时用查询sql查询时都是简单的select,如果关联关系多了的话就加入Left Join / Right Join /inner join ,左/右/内等加快表直接的查询和查询逻辑。但是没加一个左/右/内连接,就会消耗一些数据库的资源,当你联查的表越多时你就会发现你的数据库会查询一个多小时都没有结果。这时候需要在原sql上加一些速度优化,例如: SELECT /*+app原创 2017-06-22 10:31:35 · 3550 阅读 · 0 评论 -
kettle安装使用
kettle相对来说比较简单,下载下来直接就可以用的,要注意的是要看下版本是否和你环境上的jdk版本一致,因为数据库操作也需要java环境的。如果环境配置完毕之后还打不开工具的话,就要修改启动的批处理文件了,直接右键打开,编辑里面的内容对应上你jdk的内容就可以。下面是简单的截图,如果在安装和使用上有什么问题,在下面留言一起探讨。原创 2017-06-22 11:30:44 · 345 阅读 · 0 评论 -
Oracle锁表查询和解锁方法
数据库操作语句的分类DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert、delete、updateDCL:数据库控制语言 ,关键字:grant、removeDQL:数据库查询语言,关键字:selectoracle表在什么情况下会被锁住DML锁又可以分为,行锁、表锁、死锁行锁:当事务执行数据库插入、更新、删除操作时,该事务自动获得操转载 2017-06-13 10:02:40 · 664 阅读 · 0 评论 -
oracle常用语句整理
查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>s转载 2017-06-27 15:30:14 · 341 阅读 · 0 评论 -
oracle调用JAVA类的方法
oracle调用JAVA类的方法主要有以下三种:1. 用loadjava方法装载;可能是调试方便,据说这种方法比较通用。c:\test\hello.javapublic class hello{ public static void main(String[] args) { System.out.println("Hello"); hel转载 2017-09-20 15:04:12 · 2750 阅读 · 0 评论 -
oracle数据库自带dual浅解
dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。我们可以用它来做很多事情,如下:1、查看当前用户,可以在 SQL Plus中执行下面语句select user from dual;2、用来调用系统函数select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;原创 2016-12-14 13:39:46 · 509 阅读 · 0 评论 -
Oracle插入多表(insert all/first)
1、建测试表 CREATE TABLE EDW_INT ( AGMT_NO VARCHAR2(40 BYTE) NOT NULL, AGMT_SUB_NO VARCHAR2(4 BYTE) NOT NULL, NEED_REPAY_INT NUMBER(22,2转载 2016-12-14 11:34:29 · 302 阅读 · 0 评论 -
Oracle用户,权限,角色以及登录管理
1. sys和system用户的区别system用户只能用normal身份登陆em。除非你对它授予了sysdba的系统权限或者syspoer系统权限。sys用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。--最重要的区别,存储的数据的重要性不同sys所有Oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于转载 2016-12-14 10:50:57 · 2164 阅读 · 1 评论 -
ORACLE中的default role,set role
Oracle权限体系中有个default role,比较难以理解。下面用实例说明一下作用。 我们可以给某个用户分配一些角色,比如role r1,r2,r3,r4,而其中可以将某些角色比如r1设置为default role,其他的不设置成default role,这样,当该用户登录时,自动具有default role中所包含的权限,其他的角色所具有的权限要通过set role 角色来获得。转载 2016-12-14 10:52:14 · 1358 阅读 · 0 评论 -
ORACLE关于锁和V$LOCK的分析
ORACLE关于锁和V$LOCK的分析 为了实现并发,oracle数据库使用了锁机制。要了解锁,首先要了解视图v$lock。v$lock这个视图列出 Oracle 服务器当前拥有的锁以及未完成的锁请求。如果你觉着 session 处于等待事件队列当中,那你应该检查视图v$lock。v$lock中的常用列有以下列:转载 2016-12-14 10:54:48 · 494 阅读 · 0 评论 -
Oracle外键级联删除和级联更新
Oracle外键级联删除和级联更新1 级联删除在添加foreing key约束时,还可以指定级联操作的类型,主要用于确定当删除(on delete) 附表中的一条记录时,如何处理子表中的外键字段,有如下三种引用类型。Oracle在外键的删除上有NO ACTION(类似RESTRICT)、CASCADE和SET NULL三种行为。下面以学生-班级为例说明不转载 2016-12-14 10:57:02 · 2825 阅读 · 0 评论 -
Oracle用户、权限、角色管理
Oracle用户、权限、角色管理前言:系统权限是用户用于创建删除以及修改本用户内的数据库对象时用到的;对象权限是本用户用于修改(以及创建删除)别人用户内的数据库对象时用到的;当前用户下执行的grant语句,其所能grant的权限都是当前用户本身所拥有的权限。总结: 1. with admin option与with grant option转载 2016-12-14 11:02:34 · 592 阅读 · 0 评论 -
Oracle 用户及角色介绍
Oracle 用户及角色介绍 一. 用户管理1.1 建立用户(数据库验证) CREATE USER DAVE IDENTIFIED BY pwd DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 5m ON users; 1.2 修改用户A转载 2016-12-14 11:03:44 · 209 阅读 · 0 评论 -
ORACLE转义字符的那点事
ORACLE转义字符的那点事 在Oracle中,某些字符表示的有特殊的含义的,比如说&符号,表示变量替换;%表示在查询过程中的通配符下面列出一些在ORACLE中有特殊含义的字符作以测试:符号功能类型%在where子句中表示0到任意个字符通配符转载 2016-12-14 11:06:14 · 461 阅读 · 0 评论 -
Oracle批量导出表数据到CSV文件
Oracle批量导出表数据到CSV文件需求:把Oracle数据库中符合条件的N多表,导出成csv文本文件,并以表名.csv为文件名存放。 实现:通过存储过程中UTL_FILE函数来实现。导出的csv文件放入提前创建好的directory中。使用方法:使用以下命令数据预执行的SQL脚本 SELECT 'EXEC sql_to_csv(''select * fr转载 2016-12-14 11:08:03 · 4794 阅读 · 0 评论 -
Oracle中删除用户下所有对象的多种方法
Oracle中删除用户下所有对象的多种方法Oracle删除用户下所有对象的方法未必人人都会,下面就为您介绍两种常用的Oracle删除用户下所有对象的方法,希望对您学习Oracle删除用户方面能有所帮助。 方法1: drop user XXXX cascade; drop tablespace XXXX INCLUDING CONTENTS; 方法2: 写存储过程实现转载 2016-12-14 11:12:35 · 5959 阅读 · 0 评论 -
Oracle User和Schema的区别
Oracle User和Schema的区别(原创)博客分类: Oracle日常管理 概述Schema和User的定义如下A schema is a collection of database objects (used by a user.).Schema objects are the logical structures that di转载 2016-12-14 11:14:33 · 511 阅读 · 0 评论 -
更改当前schema
更改当前schema 2007-08-24 16:19:04分类: Oracle在session中,更改当前schema而不重新登陆。可适用于使用system用户管理其他用户下的数据,而不必在每个表前都加上schema限定词。[@more@]在SQL语句中指定对象时,如果不限定对象所在schema,则会使用当前连接用户schema下的对象转载 2016-12-14 11:15:33 · 2780 阅读 · 0 评论 -
分布式事务和两阶段提交(2PC)
[Oracle] 分布式事务和两阶段提交(2PC) 分布式事务是指发生在多台数据库之间的事务,Oracle中通过dblink方式进行事务处理,分布式事务比单机事务要复杂的多。大部分的关系型数据库通过两阶段提交(2 Phase Commit 2PC)算法来完成分布式事务,下面重点介绍下2PC算法。1、分布式事务的组成在分布式事务中,转载 2016-12-14 11:23:02 · 2063 阅读 · 0 评论 -
oracle中char与varchar2的区别
oracle中char与varchar2的区别 1. CHAR的长度是固定的,而VARCHAR2的长度是可以变化的,比如,存储字符串“abc",对于CHAR(20),表示你存储的字符将占20个字节(包括17个空字符),在数据库中它是以空格占位的,而同样的VARCHAR2(20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。转载 2016-12-14 11:24:34 · 603 阅读 · 0 评论 -
在oracle中用like模糊搜索时如何使其能搜到空值?
空(即NULL)跟空字符串(即‘’)是不一样的概念,SQL里空用 IS NULL来判断,即判断一个列值是否为null,只能用“列名IS NULL”或是“列名 IS not NULL”,不能用其他方式,例如,不能用“列名 =null”或是“列名 !=null”。假设test表里存在id1为null的数据行,则select * from test where id1 =null;sel转载 2016-12-14 11:27:44 · 2635 阅读 · 0 评论 -
oracle视图浅解
一、什么是视图: 在ORACLE中,称视图为逻辑表。逻辑二字还是说明了视图不是真正的表。因为视图内根本就没有数据。视图的全部家当,也就是你创建视图时的SELECT语句。二、创建视图:1、创建视图的主法是: CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subqu转载 2016-12-14 11:31:22 · 354 阅读 · 0 评论 -
Oracle 触发器
触发器个很好的数据库层级的功能,可以替代一些程序的功能的sql处理。触发器建立很简单,可以在工具上直接建立,也可以在sql窗口建立。plsql 工具上建立:右键选择新建即可。也可以打开sql窗口使用 create or replace trigger简单的小例子:create or replace trigger myup after inserton grzh_f...原创 2018-08-24 16:01:21 · 164 阅读 · 0 评论