oracle数据库

Oracle学习总结02

空扰寡人 提交于 2020-03-11 09:50:07
1-数据库服务器、实列、数据库的关系 数据库服务器包含实例和数据库,实例又包含了内存结构和后台进程。 2-内存结构 后台进程属于实例还是数据库? 实例是操作系统和Oracle数据库进行联系的标志,提供了一种访问数据库的方式,实例分成内存结构(SGA)和后台进程。 3-手画Oracle体系结构图 4-用户进程和服务器进程关系 用户在向数据库发出SQL命令之前,必须要与实例相连,用户进程(比如sqlplus)要先进行登录,登录成功后,Oracle在服务器运行的计算机上建立了服务器进程,两者为一对一的关系。用户进程通过连接Oracle服务器进程来连接数据库。 5-Oracle体系结构的三大主要组成? Oracle体系结构由内存结构、进程结构、存储结构。 6-逻辑存储结构中的数据库、表空间、段、区、数据块的关系? 在Oracle的逻辑存储结构中,数据库是由表空间组成,表空间由一些段组成,段由数据区组成,数据区由一个个的数据块组成。 7-sqlplus命令中 col name format a30 是什么意思? 设置显示字段的宽度,把column_name的列宽设置为30个字符。 8-数据块和数据区哪个是最小的单位?如何区分? 数据块是Oracle存储结构中最小的逻辑单位,是执行数据库输入输出操作的最小存储单位,一个数据块对应一个或多个物理块;而数据区(extend)是一些数据块组成

启动oracle时报ORA-01078和LRM-00109错误

ぃ、小莉子 提交于 2020-03-11 02:36:52
使用 sys 用户登录 sqlplus 后,startup 命令启动 Oracle 时报 ORA-01078 和 LRM-00109 错误,如下所示: SQL> conn /as sysdba Connected to an idle instance. SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/inithuman_res.ora' 原因: 很明显是启动时找不到 pfile 文件,这里就是缺少了 inithuman_res.ora,导致启动失败。 解决办法: 1、找到pfile文件夹所在位置 [oracle@localhost ~]$ find /home -name pfile /home/oracle/app/admin/human_resource/pfile 2、查看文件 [oracle@localhost ~]$ cd /home/oracle/app/admin/human_resource/pfile [oracle@localhost pfile]$ ls init.ora

Oracle中的有序自增字段——序列sequence

半世苍凉 提交于 2020-03-11 00:09:33
序列是Oracle提供的用于产生一组等间隔整型数值的数据库对象,可以通过在插入语句中引用序列值来实现主键自增。 创建sequence: Oracle用CREATE SEQUENCE命令创建序列,格式如下: CREATE SEQUENCE seq_name //seq_name是序列的名字。 [START WITH start] //用来制定序列的起始值。 [INCREMENT BY increment] //用来制定序列的增量,如果取负值则递减。 [MINVALUE minvalue | NOMINVALUE] //指定序列是否有最小值。 [MAXVALUE maxvalue | NOMAXVALUE] //指定序列是否有最大值。 [CYCLE | NOCYCLE] //指定序列达到最大值或最小值后是否循环。 [CACHE cache | NOCACHE] //指定是否在缓存中保存预分配的序列值, 保存可提高获取序列值的速度。 [ORDER | NOORDER] //该选项可保证序列值的唯一性和顺序性, NOORDER选项只保证序列的唯一性。 使用sequence: 使用序列时,需要用到两个伪列nextval和currval。其中 nextval将返回序列的下一个值,而currval将返回序列的当前值。我们利用序列向MASTER表插入记录,实现主键自动标号的语句: insert

oracle中int类型和number类型区别

烈酒焚心 提交于 2020-03-10 18:16:51
INT类型是NUMBER类型的子类型。 下面简要说明: (1)NUMBER(P,S) 该数据类型用于定义数字类型的数据,其中P表示数字的总位数(最大字节个数),而S则表示小数点后面的位数。假设定义SAL列为NUMBER(6,2)则整数最大位数为4位(6-2=4),而小数最大位数为2位。 (2)INT类型 当定义整数类型时,可以直接使用NUMBER的子类型INT,顾名思义:INT用于整型数据。 oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。 int类型只能存储整数; number可以存储浮点数,也可以存储整数; number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全; number(8)存储总长度为8的整数; int相当于number(22),存储总长度为22的整数。 举例说明: --创建表结构 SQL> create table tab(id0 int,id1 number,id2 number(8,1),id3 number(8)); Table created SQL> --插入测试数据 SQL> insert into tab select 1,1.5,1.6,8 from dual; 1 row inserted SQL> insert into tab select 1,1.55,1

01.Oracle数据库介绍

99封情书 提交于 2020-03-10 15:31:57
文章目录 一、Oracle数据库 二、支持平台 三、Oracle数据库的特点 四、与其它数据库的比较 五、就业前景 六、初学者的误区 七、版权声明 一、Oracle数据库 Oracle Database,又名Oracle RDBMS,简称Oracle数据库。 Oracle 数据库系统 是美国Oracle公司( 甲骨文 )提供的以 分布式数据库 为核心的一系列软件产品,是目前世界上使用最为广泛的 数据库管理系统 ,具备完整的 数据管理 功能,真正实现了 分布式处理 功能。 Oracle数据库最新版本为Oracle Database 19c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些新特性可最大限度地提高资源使用率和灵活性,这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。 二、支持平台 在2001年发布的Oracle9i之前,甲骨文公司把他们的数据库产品广泛的移植到了不同的平台上,支持各种主流的操作系统。近期,甲骨文公司巩固了少部分的操作系统平台。 三、Oracle数据库的特点 该用什么词语来描述Oracle的特点呢?高可用?高稳定?最高安全级别?性能卓越?无与伦比?我认为,这些形容词不足以表达Oracle数据库的的特点,它的强大超出您的想象。

Oracle中NVARCHAR2字符集不匹配问题

若如初见. 提交于 2020-03-10 11:47:39
Oracle中在做字符匹配时 遇到 NVARCHAR2 类型时报错,提示 字符集不匹配。 对使用 NVARCHAR2 的地方,需要对字段进行字符转换,加上 to_char(nvarchar2 字段) 即可。 例如: SELECT substr(bm.matnr, 3) wlbm, ms.maktx wlms, bm.meins jldw, bm.matkl wlz , bm.normt gybzms,bm.laeda gxsj,(case to_char( trim(bm.lvorm) ) when 'X' then '0' else '1' end) WLZT FROM makt ms, mara bm WHERE ms.matnr = bm.matnr; VARCHAR2是Oracle提供的特定数据类型,Oracle可以保证VARCHAR2在任何版本中该数据类型都可以向上和向下兼容。 VARCHAR在Oracle中不建议使用。 NVARCHAR2和VARCHAR2的区别: 从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则 1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。 2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个。 来源: https:/

Oracle数据库SQL优化的最佳思路

断了今生、忘了曾经 提交于 2020-03-10 10:33:42
如何在 Oracle数据库里写出高质量的SQL语句,如何在Oracle数据库里对有性能问题的SQL做诊断和调整,这是DBA们在ORACLE数据库实践中不可避免的难题。下面就让我们来分析一下拿到一条问题sql后DBA可以如何去开始优化思路。 对于有问题的SQL做SQL优化的具体步骤一般为: 1、查看该SQL语句的执行计划,并结合其资源消耗情况和相关统计信息、Trace文件来分析其执行计划是否合理; 2、通过修正措施(如调整该SQL的执行计划等)来对该SQL做调整以缩短其执行时间,Oracle数据库里SQL优化的终极目标就是要缩短目标SQL语句的执行时间。要达到上述目的,我们通常只有如下三种方法可以选择: 1、降低目标SQL语句的资源消耗; 2、并行执行目标SQL语句; 3、平衡系统的资源消耗。 方法1:降低目标SQL语句的资源消耗”以缩短执行时间,这是DBA们最常用的SQL优化方法。这种方法的核心是要么通过在不更改业务逻辑的情况下改写SQL来降低目标SQL语句的资源消耗,要么不改SQL但通过调整执行计划或相关表的数据来降低目标SQL语句的资源消耗。 方法2:并行执行目标SQL语句”,这实际上是以额外的资源消耗来换取执行时间的缩短,很多情况下使用并行是针对某些SQL的唯一优化手段。 方法3:平衡系统的资源消耗” 可以避免不必要的资源争用所导致的目标SQL语句执行时间的增长

ORACLE数据库字典表操作

大憨熊 提交于 2020-03-10 07:58:18
1、数据字典中用户表:dba_users; 2、数据字典中表空间表: dba_tablespaces; 3、oracle 查看用户所在的表空间:select username,default_tablespace from dba_users; 4、查看表空间的名字及大小:select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 来源: CSDN 作者: Joker_zy 链接: https://blog.csdn.net/Joker_zy/article/details/104746732

Oracle数据导入导出

心不动则不痛 提交于 2020-03-10 05:49:14
/创建表空间 create tablespace asp datafile 'D:\oracle\product\10.2.0\data\asp.dbf' size 100M autoextend on next 10M extent management local segment space management auto ------------------------------------ create tablespace jtzh datafile 'D:\oracle\oradata\WENJL\jtzh.dbf' size 100M autoextend on next 10M extent management local segment space management auto / /创建用户 CREATE USER test_user IDENTIFIED BY test_user DEFAULT TABLESPACE Test_name1 TEMPORARY TABLESPACE Test_name2 /删除用户 drop user cyn CASCADE 用户授权 GRANT CONNECT TO test_user GRANT DBA TO test_user GRANT resource TO test_user 导出数据 exp wzx

oracle 数据导入导出

守給你的承諾、 提交于 2020-03-10 05:48:20
配实例说明导入导出更为直观(DMP) 一、数据导入 --1、登录dba sqlplus / as sysdba --2、创建表空间 格式: create tablespace test(表空间的名字) datafile 'D:\oracle\product\10.2.0\userdata\test.dbf' (表空间存放地址,这边可以写成oracle的某个路径下) size 50m (初始大小) autoextend on;(自动扩展) 实例: create tablespace v3tablespace datafile 'F:\v3_standard_oradata\v3data.ora' size 200m autoextend on next 10m; --3、在目标数据库用超级用户创建 phis_webhis用户,并授予connect,resource,dba角色。 格式: CREATE USER utest (用户名) IDENTIFIED BY upassword(密码) DEFAULT TABLESPACE test(上面创建的表空间) TEMPORARY TABLESPACE temp;(临时表空间就写temp即可) 实例: -- Create the user create user SD_CIMDS_BASE_V3 identified by SD_CIMDS