
Oracle
于大大大洋
学习这条路,漫长崎岖。
展开
-
IMP-00002: 无法打开 D:\orcldat\test_20111024.dmp 进行读取,rman备份
文章转自:http://blog.youkuaiyun.com/wanglilin/article/details/6900633首先,我的路径写错了,文件夹是orcldata我掉了个a。其次,命令后添加 full=y。dos下随便哪个目录>[sql] view plaincopyprint?IMP username/pwd@db转载 2015-04-20 23:38:56 · 6589 阅读 · 0 评论 -
ORACLE SQL获取时间字段
是本周第几天 Select to_char(sysdate,'D')-1 from dual 24小时的形式显示出来要用HH24select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;to_da原创 2013-12-05 17:07:01 · 1054 阅读 · 0 评论 -
Oracle plsql 计算日期间工作日天数
declare v_fdate date := to_date('2013-10-4','yyyy-mm-dd'); v_ldate date := to_date('2013-10-22','yyyy-mm-dd'); v_interval_a number; v_interval_b number; v_interval_all number;begin --先算整周有几周,然后乘原创 2013-12-05 17:06:23 · 7474 阅读 · 0 评论 -
Oracle plsql 月历
declare v_year number := 2013; v_month number := &input_month; v_day number; v_lastday number;begin dbms_output.put_line(v_year || '年' || v_month || '月的月历'); --转换星期为数字,方便计算 case substr(to_cha原创 2013-12-05 17:06:19 · 1021 阅读 · 0 评论 -
Oracle plsqlI 练习 传值
--根据人名查个人薪水和本部门平均薪水--select语句实现select a.deptno "部门编号", a.dname "部门名称", a.ename "姓名", a.sal "薪水", b.avg_sal "部门平均薪水" from (select d.deptno, d.dname, e.ename, sal + nvl原创 2013-12-05 17:06:14 · 898 阅读 · 0 评论 -
Oracle内置角色connect与resource的权限
首先用一个命令赋予user用户connect角色和resource角色: grant connect,resource to user; 运行成功后用户包括的权限: CONNECT角色: --是授予最终用户的典型权利,最基本的 ALTER SESSION --修改会话 CREATE CLUSTER --建立聚簇 CREATE DATABASE LINK --建立数据库链接 CREATE SEQUE原创 2013-12-05 17:05:34 · 1047 阅读 · 0 评论 -
Oracle-1 / Oracle及PlsqlDeveloper的设置
1、启动监听器与服务器 我的电脑->管理->服务... 保证“...listener...”和“...service...”两个服务开启2、客户端软件设置 tools->preference->connection->Oracle home 设置好Oracle所在的路径3、监听列表设置 在Oracle安装目录下找到network文件夹 两个文件时 listener.ora 和 tnsnames.o原创 2013-12-05 17:05:06 · 634 阅读 · 0 评论 -
oracle chr()和字符连接
SQL> select chr(105)||chr(32)||chr(108)||chr(111)||chr(118)||chr(101)||chr(32)||chr(121)||chr(111)||chr(117) as hi from dual;原创 2013-12-05 17:04:56 · 757 阅读 · 0 评论 -
ORACLE中使用递归查询
在数据库查询中常常会碰到要查询树形结构的数据,需要用一个字段的数据当做下一条记录的父节点继续查询,如果在不知道有多少级节点的情况下一次次手写SQL查询会很繁琐而没有效率,这时可以使用 oracle中的connect with prior递归算法:Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: select原创 2013-12-05 17:04:24 · 1410 阅读 · 0 评论 -
Oracle创建用户和授权
在OracleXE中创建scott用户1、打开SQL*Plus,以 sys用户登录数据库connect / as sysdba2、依次执行下面命令--DROP USER scott CASCADE;CREATE USER scott IDENTIFIED BY tiger;GRANT connect,resource TO scott;GRANT CREATE DATABASE LINK, CRE原创 2013-12-05 17:02:09 · 817 阅读 · 0 评论 -
拷贝数据库
通过IE使用ORACLE数据库:http://localhost:5560/isqlplus通过IE管理ORACLE数据库:http://localhost:1158/em查看oracle数据库的三类文件:数据文件,日志文件,控制文件用SYS登陆,角色给sysdba查看数据文件:select * from v$datafile;查看控制文件:select * from v$controlfile;原创 2013-12-05 17:07:08 · 708 阅读 · 0 评论 -
Oracle常用数据字典表
Oracle常用数据字典表 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select原创 2013-12-05 17:06:59 · 557 阅读 · 0 评论 -
Oracle 游标的练习
--1、什么是游标?使用游标的基本步骤是什么? /*挡在PL/SQL块中执行查询语句(SELECT)和数据操纵语句(DML)时,Oracle会在内存中分配一个缓冲区,缓冲区中包含了处理过程的必需信息,包括已经处理完的行数、指向被分析行的指针和查询情况下的活动集,即查询语句返回的数据行集。该缓冲区域称为上下文区,游标是指向该缓冲区的句柄或指针。*/--2、游标有哪几种类型?分别在什么情况下使用? /原创 2013-12-05 17:06:40 · 7460 阅读 · 0 评论 -
Oracle 练习题 20131017
--2013-10-17 练习题--1、输入一个年份,判断其是不是闰年,并做相应的提示。--方法一:正常算declare v_year number := 1900;begin if mod(v_year,100) = 0 then if mod(v_year,400) = 0 then dbms_output.put_line(v_year || '是闰年'); els原创 2013-12-05 17:06:21 · 769 阅读 · 0 评论 -
oracle plsql 乘法表
begin for v1 in 1 .. 9 loop for v2 in 1 .. v1 loop dbms_output.put(v1 || ' X ' || v2 || ' = ' || v1 * v2 || ' '); end loop; dbms_output.put_line(''); end loop;end;1 X 1 = 1 2 X 1 =原创 2013-12-05 17:06:12 · 1094 阅读 · 0 评论 -
Oracle注册表修改 乱码编码
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0"NLS_LANG"值改为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK"AMERICAN.AL32UTF8乱码更改oracle 10g装上后,建了个表写入中文数据,发现通过工具DbVisualizer 6.5 写入/读取中文都正常,就sqlplus和PL/SQL Developer不正常.初步怀原创 2013-12-05 17:05:58 · 3060 阅读 · 0 评论 -
Oracle 练习题P256
--根据Oracle数据库scott模式下的emp表和dept表,完成下列操作。--(1)查询20号部门的所有员工信息select * from emp where deptno = 20;--(2)查询所有工种为CLERK的员工的员工号、员工名和部门号select empno,ename,deptno from emp where job = 'CLERK';--(3)查询奖金(COMM)高于工原创 2013-12-05 17:05:53 · 1139 阅读 · 0 评论 -
Dynamic_Performance_Tables_not_accessible_问题_解决不能动态统计
Dynamic Performance Tables not accessible, Automatic Statistics Disabled for this session You can disable statistics in the preference menu,or obtanin select priviliges on the v$session,v$sesstat and原创 2013-12-05 17:02:18 · 1767 阅读 · 0 评论 -
转:ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开
转载:http://www.worlduc.com/blog2012.aspx?bid=19973952alter database archivelog 2 ;alter database archivelog*第 1 行出现错误:ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开------最佳解决方案---------转载 2013-12-05 18:49:53 · 1905 阅读 · 0 评论 -
Oracle view 小结片段
以前下载了一个关于Oracle 视图的pdf,水平有限,没看懂多少。版本信息:select * from v$version; 数据库信息: select name, created, log_mode from v$database; 基本的许可信息 select * from v$license; 数据库中已安装的产品项select * from原创 2013-12-05 21:22:08 · 829 阅读 · 0 评论 -
Oracle 的 char number varchar2 效率测试
自己在建表的时候,用到了编号的这个字段,主要问题是要用java连接数据库,所以要有pojo类,就像 编号 这种字段,int 不够,long 转起来麻烦,还容易出错。突然想看看char可不可以,所以就稀里糊涂的想看看,这几种数据类型的查找效率究竟如何。--首先总要先建立一张表吧(如果有重复的话,先删掉...)drop table yard_test;create ta原创 2013-12-05 20:46:30 · 2240 阅读 · 0 评论 -
Oracle中insert into select和select into的区别
文章转自:http://www.linuxidc.com/Linux/2012-09/70984.htm在Oracle中,将一张表的数据复制到另外一个对象中。通常会有这两种方法:insert into select 和 select into from。前者可以将select 出来的N行(0到任意数)结果集复制一个新表中,后者只能将"一行"结果复制到一个变量中。这样说吧,select转载 2015-04-08 20:58:33 · 1164 阅读 · 0 评论 -
oracle怎样修改表名、列名、字段类型、添加表列、删除表列
ALTER TABLE SCOTT.TEST RENAME TO TEST1--修改表名ALTER TABLE SCOTT.TEST RENAME COLUMN NAME TO NAME1 --修改表列名ALTER TABLE SCOTT.TEST MODIFY NAME1 NUMBER(20) --修改字段类型ALTER TABLE SCOTT.TEST AD转载 2014-12-25 08:16:23 · 625 阅读 · 0 评论 -
Listener refused the connection with the following error 错误解决(最大连接数)
查询数据库当前进程的连接数: select count(*) from v$process; 查看数据库当前会话的连接数: elect count(*) from v$session; 查看数据库的并发连接数: select count(*) from v$session where status='ACTIVE'; 查看当前转载 2015-01-11 08:08:04 · 3981 阅读 · 0 评论 -
ORACLE删除当前用户下所有的表的方法
1、如果有删除用户的权限,则可以:drop user user_name cascade;加了cascade就可以把用户连带的数据全部删掉。删除后再创建该用户。--创建管理员用户create user 用户名 identified by 密码 default tablespace space_data(表空间名称) temporary tablespac转载 2014-05-31 16:18:09 · 928 阅读 · 0 评论 -
Oracle备份文件名获取系统时间的做法(windows)
在对数据库进行备份时,用数据泵的方法,需要执行一段代码:--建目录create directory dir as 'd:\bak';--给用户授权使用目录grant read,write on directory dir to scott;--在cmd中输入以下代码expdp scott/tiger@XE directory=dir dumpfile=abc.dmp [可原创 2013-12-13 11:37:27 · 2684 阅读 · 0 评论 -
java 调用 Oracle 存储过程
一个函数本质上一个返回一个结果的存储过程,这个例子示范了怎么调用有in、out和in/out参数的函数。大同小异的方法。 CallableStatement cs; try { // 调用一个没有参数的函数; 函数返回 a VARCHAR // 预处理callable语句 cs = connection.prepareCall("{? = c原创 2013-12-05 21:24:52 · 726 阅读 · 0 评论 -
SQL手动注入
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQL注入是从正常的W转载 2014-05-12 11:29:03 · 1348 阅读 · 0 评论 -
偶尔所得代码片(进程和锁相关)
--杀死相关进程(必须要用dba账号sys)--alter system kill session 'session_id, serial#';alter system kill session '500,2568';--select lower(CHR(64+ROWNUM)) from dual connect by ROWNUM --查进程selec转载 2014-03-20 07:27:37 · 625 阅读 · 0 评论 -
decode 实例
以往相关材料:http://blog.youkuaiyun.com/arrowzz/article/details/17144651http://blog.youkuaiyun.com/arrowzz/article/details/17144669表id,name,score1,小明,胜2,小明,胜3,小李,负4,小李,负5,小明,负6,小李,胜7,小李,胜原创 2014-03-04 14:10:18 · 1625 阅读 · 0 评论 -
(自连接)SQL面试题-0608
一个简单的表TABLE 有100条以上的信息,其中包括:产品 颜色 数量产品1 红色 123产品1 蓝色 126产品2 蓝色 103产品2 红色 NULL产品2 红色原创 2013-12-05 17:05:25 · 1586 阅读 · 0 评论 -
2013-11-11 Oracle 课堂测试 练习题 例:BULK COLLECT及return table
--1) 查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的--学生编号、学生名称、图书编号、图书名称、借出日期;select s.stuid, s.stuname, b.bid, b.title, bo.t_time from borrow bo join student s on bo.stuid = s.stuid join book b on bo原创 2013-12-05 17:07:03 · 1225 阅读 · 0 评论 -
Oracle测试题
--1、oracle如何得知需要创建的控制文件的信息? --答:从初始化参数文件中读取--创建数据库时,系统会根据初始化参数文件中CONTROL_FILES的设置创建控制文件。--2、一个数据库至少几个控制文件?--答:一个--3、数据字典和视图在哪个系统表空间?--答:system--4、回滚段的作用?--答:事务回滚、数据库恢复、数据的原创 2013-12-24 22:49:58 · 1123 阅读 · 0 评论 -
Oracle创建视图、通过视图创建表
创建视图:create or replace view v$_tst23 asselect e.ename,d.dname from emp e left join dept d on e.deptno = d.deptno;创建表:--如果表已存在,先删除--drop table tst23a;--创建表格(通过视图)--可以在where条件中加上不成立条件,防止建表的同原创 2013-12-23 16:04:43 · 10594 阅读 · 0 评论 -
oracle 序列的概念与使用步骤
一、概念1、 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象。主要用于提供主键值。2、 创建序列: 创建序列的语法 CREATE SEQUENCE sequence //创建序列名称 [INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是 [START转载 2013-12-16 18:28:04 · 1134 阅读 · 0 评论 -
主键字母自动生成函数
-- 动态生成字母方式主键,A-Z 大于Z自动进位【26进制数值表示】-- 参数:动态查询表和主键列create or replace function charkey (tabName char, pkName char) return charas v_key varchar2(4); -- 表中查询出当前主键列最大值 v_char varchar2(4) :=转载 2013-12-28 23:06:28 · 1081 阅读 · 0 评论 -
Oracle笔记:数据库启动的三个阶段
数据库的启动可分为三个阶段:1、startup nomount -- 启动实例,不加载数据库 nomount:在这一阶段,只需要读取initSID.ora文件,启动数据库实例,创建后台进程。在initSID.ora文件中,可以定位SPFILEORAC.ora文件,这是参数文件,通过它可以初始化SGA和启动后台进程。并可以定位控制文件位置。在此阶段,可以执行的操作有:重建原创 2013-12-15 14:14:37 · 8255 阅读 · 0 评论 -
Oracle plsql 打包
--打包--创建包步骤:1、声明(创建包头)2、创建数据对象(创建包体)--1、create or replace package myPackas v_bookCount integer; procedure p_back (v_stuid borrow.stuid%type,v_bid borrow.bid%type); function f_bookCount (v_原创 2013-12-05 21:17:06 · 985 阅读 · 0 评论 -
Oracle自增序列
SQL Server中数据库可以自增字段,但是Oracle中没有这个选项,实际应用中我们可以使用序列(Sequence)实现想要的功能。创建Sequence语法如下:CREATE SEQUENCE SEQUENCE_NAME? START WITH 1 --从 1 开始 INCREMENT BY 1 --每次增加 1 NOMAXVALUE/MAXVALUE 9原创 2013-12-05 17:02:07 · 1141 阅读 · 0 评论 -
怎样使用orapwd新建口令文件
orapwd是oracle提供的创建口令文件的命令,如果口令文件不见了可以用这个命令重新创建。下面是orapwd命令的一些解释。 D:\oracle\ora92\database>orapwdUsage: orapwd file= password= entries= where file - name of password file (mand), password - pass原创 2013-12-05 17:07:10 · 1823 阅读 · 0 评论