文件管理 · 2022年8月16日

sql教程oracle|如何用plsql连接oracle数据库

Ⅰ 自学sql,用navicat成功连接oracle后,应该打开哪个,看不懂

oracle是有一个练习库的,用户名是scott,密码tiger,但你可能安装的时候没有安装,所以自己创建一个表空间,然后创建用户并授权,就可以用了,相关命令网上搜索一下。

Ⅱ oracle怎么直接执行sql语句

Oracle可以使用SQL Plus进行执行,但是可视化不够,建议使用另外一个查询辅助工具PLSQL Developer,使用PLSQL Developer工具里面各种可视化都很好看出查询出数据的结果以及可以用这个工具分析SQL的执行分析。

Ⅲ 如何使用oracle提供的SQL

Sql性能非常差的时候,oracle提供了SQL_TRACE来跟踪sql的执行情况。注:分析sql的方式比较多,还有根据优化器、sql执行计划来分析。SQL_TRACE能够将sql执行的过程输出到一个trace文件里面。首先设置自己定义的trace文件的标识方便查找。alter session set tracefile_identifier='mytest';然后对当前会话启动SQL_TRACE,最好不要一直打开该开关,代价比较大。alter session set sql_trace=true;然后我们执行一条sql语句。最后关闭该开关的状态。alter session set sql_trace=false;我们可以从目录%ORACLE_BASE%/diag/rdbms/orcl/orcl/trace(11g版本的路径,如果是10g的应该不一样)中找到自己定义的trace文件。原始的trace文件的可读性不高,我们一般使用oracle自带的工具,tkprof来处理这个trace文件。我们可以查看tkprof的帮助。tkprof orcl_ora_3820_mytest.trc out.txt我们来看刚才生成的trace文件,头部信息描述了tkprof 的版本以及报告中一些列的含义,对于任何一条sql语句,都应该包含Parse—sql分析阶段,Execute—sql执行阶段,Fetch—数据提取阶段,横向的列如图所示,包含消耗cpu时间0.00秒,操作总耗时0.04秒,物理读取了0个数据块,没有发生current方式的读取(一般在update会发生),一共提取记录1条。Misses in library cache ring parse: 0表示这是一次软分析(关于硬分析和软分析下面会接着谈到)Optimizer mode: ALL_ROWS表示oracle的优化器模式为ALL_ROWS。这也就是前面提到的另外的分析方式优化器。下面是sql执行的具体计划,可以看到执行计划选择的是全表扫描。经过处理以后的trace文件的确比较容易看明白,它有助于我们分析sql的性能问题。下面我通过一个trace实例来解释一下,为什么OLTP系统中需要变量绑定机制。当用户和数据库建立连接,并发送一条sql语句以后,oracle会对该sql进行hash函数运算(hash算法提供了一种快速存取数据的方法,它用一种算法建立键值与真实值之间的对应关系,每一个真实值只能有一个键值,但是一个键值可以对应多个真实值,以方便存取),得到一个hash值,然后到共享池中寻找是否有匹配的hash值的sql存在,如果有,就直接使用该sql的执行计划去执行sql。如果没有,oracle就会认为这是一条新的sql语句,然后按照语法分析,语义分析,生成执行计划,执行sql这些步骤来执行最终把结果返回给用户。这些步骤也被成为硬分析,可以想象,如果减少硬分析,能够大大降低数据库花费在sql解析上的资源开销。我们先执行一条sql 1000次,比较绑定变量和不绑定变量的差异。得到结果以后,要计算实际的消耗,我们需要把OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS以及OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS的时间累计起来,前者表示数据字典表的相关的信息,包含权限控制等,后者表示sql所衍生出的递归sql语句的信息。可以看到绑定变量的,整条语句执行时间为0.22+0.02=0.24秒,CPU时间0.18+0.03=0.21秒,分析次数3次,执行次数1003次。而不绑定变量的时候,整条语句执行时间为0.28+1.29=1.57秒,CPU时间0.31+1.26=1.57秒,分析次数1002次,执行次数1003次。可见绑定变量的确能够带来更低的开销。(如何设计数据库中使用绑定变量也是和系统息息相关的,很多数据库问题都是在设计以后就已经存在的)应用级调优分析:就通常所说的三层架构来说,中间件这一层能够起到一个缓冲池的作用,如果并发用户数到3000这个数量级的时候,中间件能够控制不是所有的用户都能直接连接到数据库,当然这里的程序会快速响应用户请求,保证缓冲池的队列等待不会很久。对应用这一级别的调优,主要集中在app程序,中间件的监控,集群配置等方面。如果是发现应用级别的问题,首先要分析是配置问题,还是程序本身的问题。如果并发用户数很大,中间件的线程池最大值配置过小,会导致在请求队列堆积,表现就是线程监控视图中,请求的队列堆积比较多,一般可以调整线程池最大值来解决。我们来看看weblogic的监控视图。考虑到如果为每一个请求都创建一个新线程来处理的话,那么我们难以在系统中实现足够数量的线程。不受限制的创建线程可能耗尽系统资源,因此引入了线程池。线程池的思想是在进程开始时创建一定数量的线程并将它们置入一个池(pool)中,线程在这个池中等待工作。当服务器接收到一个请求时,它就从池中唤醒一个线程(如果有可用的线程),由它来处理请求。一旦线程服务完毕,它就返回线程池等待后面的工作。线程池利用已存在的线程服务请求要比等待创建一个线程要快,并且线程池限制了线程的数量。如果怀疑是程序的问题,我们一般可以通过java自带的工具来帮助分析,工具很多。这里我主要提到一个jdk1.6以后附带的jvisualvm。我们打开jdk1.6,找到并运行jvisualvm.exe。我们发现应用程序分为本地,远程两部分。本地包含本地运行的java进程,远程能够通过配置连接到远程服务器上的java进程。我们先启动一个tomcat。可以看到本地应用程序已经打开了一个带有tomcat以及进程标识id的菜单。双击打开。这里我们一般关心2个视图。监视、线程。其中监视视图比较关心垃圾回收活动(顾名思义,回收那些在程序里面不再使用到的内存空间),堆内存变化。如果在压力测试过程中,堆内存变化是一个逐渐上涨的趋势,并且经过多次手动gc回收,还是保持这个趋势,说明内存泄漏的可能性很大。如果猜测有内存泄漏,可以通过分析java的heap mp。JVM (java虚拟机)记录下问题发生时系统的运行状态并将其存储在转储(mp)文件中。Heap mp就是这样一种文件形式。线程视图比较关心线程的当前执行状态,这里可以生成另一种转储文件 Java mp。Java mp,也叫做 Thread mp,是 JVM 故障诊断中最重要的转储文件之一。JVM 的许多问题都可以使用这个文件进行诊断,其中比较典型的包括线程阻塞,CPU 使用率过高,JVM Crash,堆内存不足,和类装载等问题。其中线程阻塞更加常见。原文转自:http://blog.csdn.net/xuyubotest/article/details/8158241

Ⅳ 如何用plsql连接oracle数据库

1打开PLSQL Developer客户端,进入登录界面,2输入用户名、密码和数据库回,进行数据库服务器,3很多时候答,不知道数据库的地址,填写错误后,登录会提示错误,4一般的数据库服务器填写格式为服务器的IP地址,再加上“/”,再加上数据库名,5如果要连接本地的Oracle数据的话,可以直接填写本地的数据库名,其中aaa就是本地在Oracle中的数据库,6连接成功后,在首页左中间的部分,就会看到数据库中的Tables选项,点击后,会出现数据库中已经存在的表,

Ⅳ 如何用SQL语句获取Oracle表结构

利用sql语句查询某个表的结构的方法:通过Oracle中的user_tab_cols, user_col_comments, user_constraints, user_cons_columns表联合查询。1、user_tab_cols用来获取对应用户表的列信息;2、user_col_comments用来获取对应用户表列的注释信息;3、user_constraints用来获取用户表的约束条件;4、user_cons_columns约束中用户可访问列。示例代码:select t.table_name, t.column_name, t.data_type, t.data_length, t.nullable, t.column_id, c.comments, (SELECT CASE WHEN t.column_name = m.column_name THEN 1 ELSE 0 END FROM DUAL) iskey FROM user_tab_cols t, user_col_comments c, (select m.column_name from user_constraints s, user_cons_columns m where lower(m.table_name) = 'qh_outstoresabinfo' and m.table_name = s.table_name and m.constraint_name = s.constraint_name and s.constraint_type = 'P') m WHERE lower(t.table_name) = 'qh_outstoresabinfo' and c.table_name = t.table_name and c.column_name = t.column_name and t.hidden_column = 'NO' order by t.column_id

Ⅵ 初学ORACLE,之前也没怎么接触数据库,现在怎么学SQL怎么在PLSQL里写SQL语句

《oracle 11g 数据库编程入门与实战》这本书入门不错。我就是买这本,工作时偶尔参考一下。本书是Oracle 11g的入门教材,是初学者快速掌握Oracle数据库的途径,尤其适合Oracle数据库应用开发人员阅读,来获得应具备的数据库方面的知识和技能。本书从如何安装Oracle数据库入手,到如何掌握和Oracle交互的SQL语言和PL/SQL编程,逐步延伸至数据库的体系结构,并以此为基础,介绍数据库的SQL语句优化和备份恢复等内容。 本书内容共11章,分为5个部分。第1部分是Oracle基础,包括Oracle 11g的安装、SQL语言、数据库对象的管理、PL/SQL编程等;第2部分是Oracle体系结构;第3部分是Oracle数据库的用户及安全管理;第4部分是数据库中的SQL语句优化;第5部分是从程序员的角度来看数据库的备份和恢复。

Ⅶ oracle sql developer的安装过程和使用说明

1、首先,需要去官网下载64位的sql developer。接收协议后,选择64位的点击“下载”。

(7)sql教程oracle扩展阅读:

oracle sql developer优点:

1、完全免费微软数据库培训无需任何启动资金和预算,学生也不需要任何费用。在原来的程序上进行免费升级,并且在官方论坛上有一些免费的技术支持。

2、随处运行

Windows、OSX(Apple)、Unix、Linux。也不需要在实验室机器上启动Windows VM去运行Windows软件。

3、谁都可以安装

无需安装,无需注册便可以更新,无需管理员权限即可获得。可以下载或者提取一些文件在电脑或者U盘里面,就可以运行。这里有一个视频教程,怎样开始使用。有可能5分钟以后就学会使用Oracle SQL Developer。

4、无处不在

SQL Developer无处不在,在去年,它已经有超过250万用户下载并且是OTN上下载最多的软件。这也就意味着,需要帮助的时候,身边就有人能帮助。

5、简单的用户接口

连接,查看对象或者点击对象。可以使用工作表去写查询语句或者程序。这里只有一个工具条,而且上面仅仅只有几个按钮。只想要“A”、“B”、“SELECT”和“START”控制就行了。如果是Oracle新手,建议不要同时学习新的工具来增加学习压力。

6、它不是一个“黑盒子”

就像平时使用向导完成任务一样,也可以通过拖拽表来实现查询等操作,并且还可以查看生成好的SQL语句。请不要因为有一个GUI可以使数据库正常工作就放弃学习底层的代码。

7、“四合一”

它不仅仅是查询工具,有可能也需要去设计一个数据模型,或者为了新的项目需要迁移Sybase ASE数据库,又或许需要建一些报表,以上这些Oracle SQL Developer都可以满足。所以一旦习惯了使用这个工具后,其余的都可以轻而易举实现。

8、丰富的资源

视频,博客,论坛等,随处都可以找到。

参考资料:

网络—oracle sql developer

Ⅷ 《Oracle数据库系统——SQL和PL/SQL简明教程(第2版)》答案

作者:(美)沙(Shah,N.) 著,刘伟琴 译 出版社:清华大学出版社 出版日期:2005-1-1 ISBN:7302100993 字数:605000 印次:2 版次:1 纸张:胶版纸 定价:45 元内容提要本书全面介绍Oracle数据库最新版本Oracle 1Og的核心内容与工作原理,按照Oracle 10g结构管理、Oracle 10g空间管理、Oracle 10g安全管理以及Oracle 10g性能优化的框架描述Oracle 10g的诸多特性。本书立足应用,辅以大量的实例,以Oracle 10g的实际应用为主线,全面展示Oracle 10g数据库系统的开发与维护技巧。 本书是作者多年从事Oracle教学及培训工作的经验总结,技术性,专业性强,适合从事Oracle数据库开发、管理和维护的技术人员阅读,也适合作为Oracle技术培训的教材。编辑推荐Oracle 10g是Oracle 数据库的最新版本。它是一个复杂的大型产品,功能强大、性能卓越。如何高效地开发、使用、管理Oracle 10g数据库系统是用户最为关心的问题。本书首先概述Oracle 10g的新特性,然后从Oracle 10g结构管理、Oracle 10g空间管理、Oracle 10g安全管理以及Oracle 10g性能优化四个方面,将Oracle 10g的强大功能和使用技巧展现在读者面前。 本书第1章概述Oracle 10g的新特性,以后各章再详细介绍这些特性,循序渐进,条理清晰,使读者不会在Oracle 10g众多的功能和特性中迷失。 立足实用,充分考虑到使用者在实际使用过程中会遇到的主要问题,通过大量的实例,帮助读者理解关键的技术问题。 注重通过对比Oracle9i等之前的版本来介绍Oracle 10g,使了解Oracle9i的读者也能顺利过渡到Oracle 10g。 作者在Oracle数据库开发与培训方面有丰富经验,其独到的见解已融入本书的宇里行间。目录前言第1章 Oracle1010g数据库新特性第2章 数据库名、实例名、服务名与字符集第3章 Oraclec10g服务器参数文件第4章 Oraclec10g数据库体系结构第5章 数据库启动与关闭第6章 Oraclec10g存储管理第7章 创建Oraclec10g数据库第8章 Oraclec10g表空间管理第9章 Oraclec10g自动Undo管理第10章 Oraclec10g管理文件第11章 Oraclec10g用户管理第12章 Oraclec10g权限与角色管理第13章 Oraclec10g数据库备份与恢复第14章 Oraclec10g数据泵技术第15章 Oraclec10g数据库备份与恢复实例第16章 Oraclec10g闪回操作第17章 Oraclec10g恢复管理器笫18章 Oraclec10g数据库审计第19章 Oractec10g数据加载第20章 Oraclec10g数据库性能优化与调整第21章 Oraclec10g自动存储管理

Ⅸ oracle如何使用PL/SQL

1.安装oracle(不再详述,注意设置网络TCP设置),安装PLSQLDeveloper(可装中文版)

2.记住Oracle的安装目录?

3.打开PLSQL,此时点cancel(取消)(切记)

4.选择Tools(工具)—>Preferences(首选项/首选参数)—>Connection(连接):OCIlibray(emptyisautodetect)(选择oracle路径)例:

ORACLEHOME(Oracle库):OraDb11g_home2

OCILIBRARY(OCI库):C:proct11.2.0dbhome_2inoci.dll

不会的话,右击我的电脑->属性->高级->环境变量TNS_ADMINC:proct11.2.0dbhome_2NETWORKADMIN(此处为ORACLE产品目录下面tnsnames.ora的路径

在里面写入oracle_client下面oci文件

5.配置oracle监听文件

在oracle_client目录下新建文件夹network,

在network目录下新建文件夹admin

在admin目录下新建文件tnsnames.ora

完整路径为D:appchapproct11.2.0instantclient_12_1
etworkadmin nsnames.ora

再tnsnames.ora配置监听:

做数据库连接

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=boway)

(ORACLE_HOME=E:oracleproct10.1.0Db_2)

(SID_NAME=ORCL)

)

)

#

监听器的名字,一台数据库可以有不止一个监听器

再向下面是监听器监听的协议,IP和端口,这里使用的

tcp1521端口,并且使用的是主机名

LISTENER=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST=boway)(PORT=1521))

)

$ORACLE_HOME/netmgr

6.启动PLSQLDeveloper连接数据库,执行sql语句测试,能够查询就成功了。

Ⅹ Oracle数据库教程之利用plsqldev进行数据库操作的步骤

方法/步骤1、打开PLSQLDeveloper,输入用户名和口令,进行连接,如下图所示:2、依次点击“文件(F)”->“新建(N)”->“SQL窗口(S)”,如下图所示:3、在窗口中输入以下SQL语句:–1、创建一个表T_USERcreatetableT_USER(USERIDvarchar2(50)defaultSYS_GUID()notnullprimarykey,USERNAMEvarchar2(20)notnull,USERPWDvarchar2(30)notnull);如下图所示:4、向表中插入2条数据,语句如下:–插入2条数据insertintoT_USER(USERNAME,USERPWD)values('admin','admin');insertintoT_USER(USERNAME,USERPWD)values('test','test');select*fromT_USER;如下图所示:5、更新表中的记录,语句如下:–更新一条数据updateT_USERsetUSERPWD='admin123'whereUSERNAME='admin';select*fromT_USER;如下图所示:6、删除表中的一条记录,语句如下:–删除一条数据deletefromT_USERwhereUSERNAME='test';select*fromT_USER;如下图所示:7、销毁刚创建的表,语句如下:–删除表droptableT_USER;select*fromT_USER;可以看到左侧的Tables目录下表已经不存在了,此外查询表会报错,说明表确实已经销毁不存在了,如下图所示:以上就是专题栏小编带来的pl/sqldeveloper教程,更多教程请看“http://www.zhuantilan.com/zt/sqldeveloper/”