oracle数据库

ORACLE SEQUENCE 介绍

大兔子大兔子 提交于 2020-03-05 14:13:02
在oracle在sequence序列号被称为,每一次,它会采取增加自己主动,通过序列号需要排序的地方一般使用。 1、Create Sequence 你首先必须CREATE SEQUENCE或CREATE ANY SEQUENCE权限。 CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1開始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10; 一旦定义了emp_sequence,你就能够用CURRVAL。NEXTVAL CURRVAL=返回 sequence的当前值 NEXTVAL=添加sequence的值。然后返回 sequence 值 比方: emp_sequence.CURRVAL emp_sequence.NEXTVAL 能够使用sequence的地方: - 不包括子查询、snapshot、VIEW的 SELECT 语句 - INSERT语句的子查询中 - NSERT语句的VALUES中 - UPDATE 的 SET中 能够看例如以下样例: INSERT INTO emp VALUES (empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20); SELECT

laravel操作oracle数据库

只愿长相守 提交于 2020-03-05 13:54:38
参考https://packagist.org/packages/yajra/laravel-oci8 1、设置php.ini配置文件 修改php.ini配置文件中,打开对extension=php_oci8.dll文件的支持。然后将php_oci8.dll文件拷贝system32目录中。然后重启appache服务。 2、安装oracle客户端 需要注意php的位数最好和oracle客户端的位数一样。不然会出错。 3、测试是否支持oracle 以上两步设置好之后,在phpinfo中会看见如下信息,表示正常。 可以采用如下php代码测试。 <?php $conn = oci_connect ( '用户名' , '密码' , '*.*.*.*/SID' ) ; $sql = "select * from users" ; $ora_test = oci_parse ( $conn , $sql ) ; oci_execute ( $ora_test , OCI_DEFAULT ) ; while ( $i = oci_fetch_row ( $ora_test ) ) { print_r ( $i ) ; } ?> 4、安装 laravel OCI8 composer require yajra / laravel - oci8 5、修改config/app.php配置文件

虚拟机中安装oracle环境并使用plsql,instantclient远程进行连接

陌路散爱 提交于 2020-03-05 13:45:07
一、涉及到的软件 安装的软件主要有3个,因为3种软件因为版本的不同会出现版本不兼容的情况,所以我目前搭建的环境版本如下:Oracle 12c rease2,plsqldeveloper13,instantclient-basic-windows.x64-12.1.0.2.0。 二、安装过程 在oracle官网上下载oracle 12c:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html,需注册oracle账号 下载完毕后在虚拟机中安装,安装过程可自行在百度上搜索,教程较多。 说一个我遇到的一个很奇葩的问题:在打开安装文件时总是报错:[INS-13001]环境不满足最低要求。但是我是win7 64位系统,与oracle版本应该是不存在这个问题的,最后发现是因为计算机名包含了下划线“_”,才报此错误。 oracle 安装完成后,在本机安装plsql和instantclient。 主要是instantclient的配置: instantclient是免安装的,下载下来后需在根目录中添加文件夹:NETWORK NETWORK下添加ADMIN文件夹 ADMIN文件夹下添加tnsnames.ora文件 添加内容如下:IP为虚拟机的IP。 ORCL = (DESCRIPTION

[Java面试十二]数据库概念相关

南楼画角 提交于 2020-03-05 12:54:02
1. 什么是存储过程?它有什么优点? 答:存储过程是一组予编译的 SQL 语句, 它的优点有: 允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。 允许更快执行,如果某操作需要执行大量 SQL 语句或重复执行,存储过程比 SQL 语句执行的要快。 减少网络流量,例如一个需要数百行的 SQL 代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。 更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。 2. oracle的 存储过程和函数有什么区别? Oracle 中的函数与存储过程的 区别 : A: 函数必须有返回值 , 而过程没有 . B: 函数可以单独执行 . 而过程必须通过 execute 执行 . C: 函数可以嵌入到 SQL 语句中执行 . 而过程不行 . 其实我们可以将比较复杂的查询写成函数 . 然后到存储过程中去调用这些函数 . Oracle 中的函数与存储过程的 特点 : A. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 B. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。 C. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于 FROM 关键字的后面。 3. 什么是事务? 答

[原创]使用benchmarksql和pgbench对PostgreSQL Plus Advanced Server进行性能测试

梦想与她 提交于 2020-03-05 11:22:53
/*--> */ /*--> */ 一、测试环境 benchmarksql version:4.0.8 rhel 6.3 vmware esxi 二、理解 benchmarksql 性能测试原理 TPC-C 1 、理解 TPC-C TPC-C 模拟一个批发商的货物管理环境。该批发公司有 N 个仓库,每个仓库供应 10 个地区,其中每个地区为 3000 名顾客服务。在每个仓库中有 10 个终端,每一个终端用于一个地区。在运行时, 10×N 个终端操作员向公司的数据库发出 5 类请求。由于一个仓库中不可能存储公司所有的货物,有一些请求必须发往其它仓库,因此,数据库在逻辑上是分布的。 N 是一个可变参数,测试者可以随意改变 N ,以获得最佳测试效果。 TPC-C 使用三种性能和价格度量,其中性能由 TPC-C 吞吐率衡量,单位是 tpmC 。 tpm 是 transactions per minute 的简称; C 指 TPC 中的 C 基准程序。它的定义是每分钟内系统处理的新订单个数。要注意的是,在处理新订单的同时,系统还要按表 1 的要求处理其它 4 类事务 请求。从表 1 可以看出,新订单请求不可能超出全部事务请求的 45 %,因此,当一个系统的性能为 1000tpmC 时,它每分钟实际处理的请求数是 2000 多个。价格是指系统的总价格,单位是美元,而价格性能比则定义为总价格 ÷

Oracle导出表dmp文件

て烟熏妆下的殇ゞ 提交于 2020-03-05 06:04:29
经常我们在导出数据库进行备份的时候,会发现有些空表没有导出,如何导出包含空表的完整数据库呢?那么请按照下面的方法进行即可。 1.使用plsql工具,连接oracle数据库 2.打开一个sql窗口,用以下这句查找空表并生成执行命令 1 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; 得到类似下方的语句: alter table SYS_PRIVILEGE allocate extent; alter table SYS_RELEVANCE_RESOURCE allocate extent; alter table SYS_RELEVANCE_TARGET allocate extent; alter table SYS_RESOURCE_TYPE allocate extent; alter table TASK_FEEDBACK allocate extent; alter table TASK_MYTASKTYPE allocate extent; … 3.将查询结果的内容导出或者拷贝,使用sql窗口进行执行。 4.执行完成后, (1)交互式命令行方式导出 exp username/password@service_name file=/home

共享池中保留池的调整(shared_pool_reserved_size)

試著忘記壹切 提交于 2020-03-05 05:39:05
--************************************************* -- 共享池中保留池的 调 整 (shared_pool_reserved_size) --************************************************* 1 . 何 谓 保留池 简 言之,保留一部分 内 存空 间 以 备 不 时 之需。通常情 况 下, Oracle 会将 大的 内 存 请 求分割成小的 内 存 块来满 足需求。而 对 于大的 内 存且 为连续 的 内 存空 间请 求,如果在共享池中未找到, 则会动 用 共享池中的保留池。 当 然,共享池在 内 存 压 力的情 况 下,也 会 使用到 保留池中的部分。保留池部分 满 足 较 大的 内 存需求更高效。缺省情 况 下, Oracle 会 配置 较 小的保留池, 这 部分可以用作 PL/SQL 或 触发 器 编译 使用或用于装 载 JAVA 对 象的 临时 空 间 。 这 些分配出去的 内 存一旦 释 放后 将 返回 给 保留池。 任意大于 "_shared_pool_reserved_min_alloc = 4400" 字 节 的 连续内 存分配 请 求,如果 shared_pool 中分配不能解 决 ,且 当 前 shared_pool 中 没 有可用的 块 能 够 aged

开发工具的学习以及认识

喜你入骨 提交于 2020-03-05 01:51:48
操作系统: 1.Windows操作系统 ⑴直观、高效的面向对象的图形用户界面,易学易用 ⑵用户界面统一、友好、漂亮 ⑶丰富的设备无关的图形操作 ⑷多任务操作环境 2.Unix操作系统 ⑴UNIX系统是一个多用户,多任务的分时操作系统 ⑵UNIX的系统结构可分为三部分:操作系统内核,系统调用,应用程序 ⑶UNIX系统大部分是由C语言编写的 ⑷UNIX提供了丰富的,精心挑选的系统调用 ⑸UNIX提供了功能强大的可编程的Shell语言作为用户界面 ⑹UNIX系统采用树状目录结构 ⑺UNIX系统采用进程对换的内存管理机制和请求调页的存储方式 ⑻UNIX系统提供多种通信机制 3.Linux操作系统 ⑴Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途 ⑵Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码 ⑶完全兼容POSIX1.0标准 ⑷多用户、多任务操作环境;支持多种平台 4.Mac OS操作系统 ⑴全屏模式是新版操作系统中最为重要的功能,一切应用程序均可以在全屏模式下运行 ⑵任务控制整合了Dock和控制面板,并可以窗口和全屏模式查看各种应用 ⑶快速启动面板的工作方式与iPad完全相同,它以类似于iPad的用户界面显示电脑中安装的一切应用,并通过App Store进行管理,用户可滑动鼠标,在多个应用图标界面间切换 ⑷Mac

oracle常用运维命令整理

北战南征 提交于 2020-03-04 22:19:02
文章中涉及的路径,请根据实际部署的路径修改: 一、oracle建库与删库命令 (1)oracle11g #建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆) [oracledb@ ~]$ dbca -silent -createDatabase -templateName /u01/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc -gdbname GDBNAME -sid SIDNAME -characterSet AL32UTF8 -NATIONALCHARACTERSET UTF8 -sysPassword SYSPASSWORD -systemPassword SYSTEMPASSWORD -TOTALMEMORY 2048 #删库方法一: [oracledb@ ~]$ dbca -silent -deleteDatabase -sourceDB SIDNAME -sysDBAUserName sys -sysDBAPassword SYSPASSWORD #删除库方法二: 步骤1:配置回应文件: [oracledb@ ~]$ cat /u01/oracle/response/dbca.rsp OPERATION_TYPE =

SQL2000与Oracle的分布式操作

你离开我真会死。 提交于 2020-03-04 09:20:21
最近做的项目都会与Oracle产生数据的级联,在此标记: 数据库: 我方项目:SQL2000(独立服务器--Win2003) 客户:Oracle 9I(独立服务器--Win2003) 需求: 当我方项目中特定数据发生变动时,包括新增,更新,删除时.要同步客户方的某数据库中数据. 本来想用触发器来做.考虑到维护问题所以放弃.改用分布式操作. 过程: 首先要在我方服务器上安装Oracle客户端(因为要用OLE DB来连接),安装过程略过.测试Oracel没有问题后,就可以直接在 "企业管理器" 中建立 "链接服务器" 了 "企业管理器"->选择自己的SQL服务器-->"安全性"-->"链接服务器". 如图1 图1: 右键单击"链接服务器"-->选择"新建链接服务器"-->在弹出的窗体的"链接服务器"中写入一个名字"HIS"(以后在TSQL中要用地)"服务器类型"下选择"其它数据源" 在"提供程序名称"的右面的下拉框中选中"Microsoft OLE DB Provider for Oracle" 如图2 图2: 下面就是填写 "产品名称",数据源,连接字符串. 这些内容都要可以在下面文件 "H:\oracle\ora92\network\ADMIN\tnsnames.ora" 找到,其中"H:"是Oracle的安装盘 用记事本打开后内容如下: # TNSNAMES.ORA