oracle系统

oracle sql 优化

随声附和 提交于 2019-12-03 21:20:20
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表. oracle首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行派序,然后扫描第二个表(FROM子句中最后第二个表),最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并 (2) WHERE子句中的连接顺序.: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. (3) SELECT子句中避免使用 ‘ * ‘: ORACLE在解析的过程中, 会将' ' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间 (4) 减少访问数据库的次数: ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等; (5) 在SQL Plus , SQL Forms和Pro

查看oracle数据库允许的最大连接数和当前连接数

烂漫一生 提交于 2019-12-03 20:21:00
在查看数据的连接情况很有用,写完程序一边测试代码一边查看数据库连接的释放情况有助于分析优化出一个健壮的系统程序来。 1、查看当前的数据库连接数 select count(*) from v$process ; --当前的数据库连接数 2、数据库允许的最大连接数 select value from v$parameter where name ='processes'; --数据库允许的最大连接数 3、修改数据库最大连接数 alter system set processes = 300 scope = spfile; --修改最大连接数: 4、关闭/重启数据库 shutdown immediate; --关闭数据库 startup; --重启数据库 5、查看当前有哪些用户正在使用数据 select osuser, a.username, cpu_time/executions/1000000||'s', b.sql_text, machine from v$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executions desc; --查看当前有哪些用户正在使用数据 6、 --当前的session连接数 select count(*) from v$session -

tuxedo安装与配置入门

左心房为你撑大大i 提交于 2019-12-03 17:13:07
一 Tuxedo 是什么?   Tuxedo是BEA公司(现已被Oracle公司收购)的一个客户机/服务器的“中间件”产品,它在客户机和服务器之间进行调节,以保证正确地处理事务。它用C语言技术开发的并且有很高性能。   TUXEDO是在、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。 二 Tuxedo 的主要作用是:   *屏蔽分布式环境中各种通信协议、硬件体系结构、操作系统、数据库和其它应用服务等方面的差异,使分布于网络节点上的应用程序的各个单元部件之间能够进行互操作,并协调操作的一致性和完整性,最大限度地节省系统资源,提高系统性能。   * Tuxedo 已经广泛地应用于金融、电信、制造业等各行各业的核心业务系统。 三 Tuxedo安装 3.1下载地址 http://www.oracle.com/technetwork/cn/middleware/tuxedo/downloads/index.html Oracle Tuxedo 11gR1 (11.1.1.3.0) 适用于 Linux x86-64(64 位)(86,027,903 字节) 3.2创建用户

Oracle 12c升级指南 【转载】

限于喜欢 提交于 2019-12-03 14:54:25
http://blog.itpub.net/26736162/viewspace-2639455/ 1. 概述 升级路线图 从18c开始,如果想要直接升级到Oracle 18c,对于源库版本要求越来越高了。Oracle已经彻底放弃了Oracle 11.2.0.3之前版本直接升级到18c。 具体升级路线,请查看下表 当前版本号 说明 12.2.0.1,12.1.0.1, 12.1.0.2 11.2.0.3, 11.2.0.4 支持直接升级到18c 11.2.0.1, 11.2.0.2 11.1.0.6, 11.1.0.7 10.2.0.2,10.2.0.3, 10.2.0.4 和10.2.0.5 10.1.0.5 9.2.0.8及更早版本 不支持直接升级到18c. 解决方法: 1) 只能先升级到支持直接升级到18c的中间版本,然后再次升级到18c 2) 使用数据泵直接将数据迁移到新版本数据库中 源库 过度版本 目标数据库版本 11.2.0.1/11.2.0.2 --> 11.2.0.3/11.2.0.4 --> 18.x 11.1.0.6/11.1.0.7 --> 11.2.0.3/11.2.0.4 --> 18.x 10.2.0.2, 10.2.0.3, 10.2.0.4, 10.2.0.5 --> 11.2.0.3/11.2.0.4/12.1.0.1/12.1.0.2 -->

ORACLE体系结构--密码文件管理

旧巷老猫 提交于 2019-12-03 14:45:38
1.密码文件的作用 具有 sysdba/sysoper权限 远程登录时,需要用到密码文件 sqlplus / as sysdba //操作系统认证,用户密码即使不正确也可以登录,不安全 操作系统认证 (只要可以登录这个操作系统,我就不管你的用户名和密码) sqlnet.ora sqlnet.authentication_services=(all|none) none:关闭操作系统认证,使用密码文件认证 all:使用操作系统认证,关闭本机密码文件认证 关闭操作系统认证: #cd /u01/oracle/11g/network/admin/samples #vim sqlnet.ora sqlnet.authentication_services=(none) 密码文件认证: remote_login_passwordfile SQL> show parameter remote NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_dependencies_mode string TIMESTAMP remote_listener string remote_login_passwordfile string EXCLUSIVE /

oracle学习篇:七、回滚与撤销

£可爱£侵袭症+ 提交于 2019-12-03 14:24:28
7.1 什么是回滚和撤销 在事务开始时,首先需要在回滚表空间获得一个事务槽,分配空间,然后创建前镜像,此后事务的修改才能进行,oracle必须以此来保证事务是可以回退的。 如果用户提交了事务,oracle会在日志文件记录提交,并且写出日志,同时会在回滚段中把该事务标记为已提交;如果用户回滚事务,则oracle需要从回滚段中把前镜像数据读取出来,修改数据缓冲区,完成回滚,这个过程本身也要产生redo,所以回滚这个操作是很昂贵的。 7.2 回滚段存储的内容 redo中只会记录少量信息,这些信息足以重演事务;同样undo中也只记录精简信息,这些信息足以撤销事务。 对于insert操作,回滚段只需要记录插入记录的rowid,如果回退,只需将该记录根据rowid删除即可。 对于update操作,回滚段只需要记录被更新字段的旧值即可(前镜像),回退时通过旧值覆盖新值即可完成回退。 对于delete操作,oracle则必须记录整行的数据,在回退时,oracle通过一个反向操作恢复删除的数据。 对于相同数据量的数据操作,通常insert产生最少的undo,update产生的undo居中,而delete操作失败或回滚,总是需要很长的时间,并且会有大量的redo生成。所以通常在进行大规模数据删除操作时,推荐通过分批删除分次提交,以较少对于回滚段的占用和冲击。 7.3 并发控制和一致性读 7.4

查看oracle数据库允许的最大连接数和当前连接数

无人久伴 提交于 2019-12-03 14:14:53
在查看数据的连接情况很有用,写完程序一边测试代码一边查看数据库连接的释放情况有助于分析优化出一个健壮的系统程序来。 1、查看当前的数据库连接数 select count(*) from v$process ; --当前的数据库连接数 2、数据库允许的最大连接数 select value from v$parameter where name ='processes'; --数据库允许的最大连接数 3、修改数据库最大连接数 alter system set processes = 300 scope = spfile; --修改最大连接数: 4、关闭/重启数据库 shutdown immediate; --关闭数据库 startup; --重启数据库 5、查看当前有哪些用户正在使用数据 select osuser, a.username, cpu_time/executions/1000000||'s', b.sql_text, machine from v$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executions desc; --查看当前有哪些用户正在使用数据 6、 --当前的session连接数 select count(*) from v$session -

Oracle ADG环境搭建

别等时光非礼了梦想. 提交于 2019-12-03 10:49:18
部署 环境介绍 1,软件安装前基础部署 (两台做同样操作) 1.1,关闭selinux和防火墙 因为centos7里面没有/etc/sysconfig/iptables这个配置文件所以我们首先用yum安装建立一个 [root@adg ~]# yum install -y iptables && \ yum -y install iptables-services 然后在iptables里加上一条防火墙规则,到后面的tnsping会用的到,不加的话可能会tnsping不通 在最后加上-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521-j ACCEPT [root@adg ~]# cat /etc/sysconfig/iptables ​ *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A

Oracle基础教程(一)

大城市里の小女人 提交于 2019-12-03 10:19:21
Oracle基础教程(一) 本文链接: https://blog.csdn.net/GoldenKitten/article/details/84947386 以下内容为转载以上博客,自己做了略微的补充,如需查看原文,请点击上面的链接,指引到原博主的博客。 文章目录 最新Oracle基础教程(一) 1 Oracle 1.1 Oracle简介 1.2 Oracle体系结构 1.3 Oracle常用操作 1.3.1 登录 1.3.2 查看当前连接数据库的用户 1.3.3 用户的切换 1.3.4 查看用户下的表 1.3.5 查看表结构 1.3.6 创建表空间 1.3.7 创建用户 1.3.8 文件操作命令 1.3.9 交互式命令 1.4 用户管理 1.4.1 创建用户 1.4.2 给用户修改密码 1.4.3 删除用户 1.4.4 权限 1.4.5 角色 1.4.6 用户管理的综合案例 1.4.7 权限的传递 1.5 用户口令管理 1.5.1 使用profile管理用户口令 1.5.2 账户锁定 1.5.3 给账户(用户)解锁 1.5.4 终止口令 1.5.5 口令历史 1.6 Oracle数据类型 1.7 表管理 1.7.1 建表 1.7.2 删除表 1.7.3 修改表 1.7.4 截断表 1.8 表数据更新 1.8.1 INSERT 1.8.2 事务 1.8.3 UPDATE 1.8

Confluence 6 设置 Oracle 数据库准备

元气小坏坏 提交于 2019-12-03 09:44:56
请查看 Supported Platforms 页面来获得 Confluence 系统支持的 Oracle 数据库版本。你需要在安装 Confluence 之前升级你的 Oracle 数据库。 如果你从其他的数据库中迁移到使用 Oracle 数据库,包括你从嵌入的内置评估数据库迁移到 Oracle,在进行安装之前,请阅读 Migrating to Another Database 中的内容。 你需要具有一定的 Oracle 数据库管理员(DBA)的经验来设置和维护你的数据库。 我们的支持小组能够帮你解决有关 Confluence 的问题,但是不能帮助你解决有关你 Oracle 数据库管理相关的问题。 如果你没有相关管理 Oracle 数据库的经验,你可以参考使用其他 支持的数据库 。 https://www.cwiki.us/display/CONFLUENCEWIKI/Database+Setup+for+Oracle 来源: oschina 链接: https://my.oschina.net/u/2344080/blog/1820804