文档章节

oracle 体系简识

胡子叭槎
 胡子叭槎
发布于 2016/11/21 15:29
字数 1869
阅读 35
收藏 2
点赞 0
评论 0

1    实例(SID)

    访问数据库的一种方式。内存结构pga和sga

    pga:pga也称为私有全局区域或者程序全局区域。每一个用户链接oracle都会分配内存,pga里面存放用户链接oracle是使用定什么工具,主机名是什么,IP地址是什么,端口,做了那些操作,等都会记录在pga中,用户推出pga回收,内存释放。注意pga是私有定。

    sga:sga又叫做“系统全局区域”,也是实例的另外一部分。共享pga里面sql的ID号,共享其他信息,这个区域也叫做共享池,共享池里面的数据块也叫做数据库告诉缓冲区。数据库定DML 语句放在日志缓冲区。

2    数据库

    存放数据的物理文件,可以理解为物理结构+逻辑结构

    逻辑结构:表空间--》段--》区--》数据块

    物理结构:日志文件,数据文件,控制文件,参数文件,密码文件(密码文件在$oracle_home下的dbs文件夹里面)

    数据库存放在磁盘中,有五大类文件,其中数据库文件,控制文件,日志文件,内存中定文件最终都会写入磁盘。

    参数文件:用来启动数据库,分配pga,sga,记录有几个控制文件,文件放在哪里。这个参数文件不是很关键,如果对参数文件丢失可以手动写一个才参数文件类启动数据库,数据是不会丢失的。

    密码文件:记录sysdba的密码。普通用户的密码是放在数据库中的,不在这里。

    归档文件:数据库要打开归档功能,用来备份链接日志。

3    数据库服务器

    数据库服务器=实例+数据库

4    监听

    动态监听,数据库安装完成之后自动启动监听

    一般如果报错ora-12541 就是监听出了问题

5    登录数据库

    查看数据库是否打开

    select open_mode from v$database;

SQL> select name,open_mode from v$database;

NAME	  OPEN_MODE
--------- --------------------
ORCL	  READ WRITE

数据库新建完成之后不一定是打开定,先用上面定select open_mode from v$database;查看数据库状态

没有挂载定可以挂载,没有打开定可以打开

 

SQL> alter database orcl mount;
alter database orcl mount
*
ERROR at line 1:
ORA-01100: database already mounted
这个数据库已经挂载
SQL> alter database orcl open;
alter database orcl open
*
ERROR at line 1:
ORA-01531: a database already open by the instance
这个数据库已经是打开的

 

sysplus 数据库链接,到底是链接的哪个数据库(实例)?这个在我们的环境变量里面有配置,也就是之前我们配置定.db 环境变量文件:

[root@wangzilong oracle]# cat .db 
export ORACLE_BASE=/u01/product
export ORACLE_HOME=/u01/product/11g
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
[root@wangzilong oracle]# sqlplus sys/123456 as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Nov 21 14:36:10 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

运行上面的环境变量文件. .db 之后登录sqlplus sys/123456 as sysdba 登录的就是环境变量配置文件里面配置的ORACLE_SID=orcl 实例就是orcl。

登录之前切换实例用:export ORACLE_SID=base1 就是在登录之前切换实例

在登录之后进行用户切换:

conn username/password 切换数据库

SQL> show user;
USER is "SYS"
SQL> conn scott/tiger
Connected.
SQL> show user;
USER is "SCOTT"

    如果密码到期,解锁并重新更新密码
    alter user scott "scott" identified by "123456" account unlock;

    DBA 查看用户下有哪些表

select table_name from dba_tables

    普通用户查看用户下有哪些表

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
SALGRADE
BONUS
EMP
DEPT

排序:能不使用排序就不使用排序,排序会严重消耗pga和cpu,如果磁盘空间不足会排序会大大影响IO

sqlplus :使用l查看上一次的sql,c/原来定字符/改变定字符 可以修改上一次定sql,a 对原来定sql进行添加

SQL> l
  1* selectt table_name from user_tables
SQL> c/selectt/select
  1* select table_name from user_tables
SQL> /

TABLE_NAME
------------------------------
SALGRADE
BONUS
EMP
DEPT

上面用c/old/new 方式更新之前的sql

SQL> l
  1* select ename from emp
SQL> a   where 1 = 2;
  1* select ename from emp  where 1 = 2
SQL> /

no rows selected

上面的用a 对上一次的字符从进行添加

SQL> l
  1  select ename,
  2  sal
  3  from
  4* emp
SQL> l2
  2* sal
SQL> i ,job
SQL> ;
  1  select ename,
  2  sal
  3  ,job
  4  from
  5* emp
SQL> /

ENAME		  SAL JOB
---------- ---------- ---------
SMITH		  800 CLERK
ALLEN		 1600 SALESMAN
WARD		 1250 SALESMAN
JONES		 2975 MANAGER
MARTIN		 1250 SALESMAN
BLAKE		 2850 MANAGER
CLARK		 2450 MANAGER
SCOTT		 3000 ANALYST
KING		 5000 PRESIDENT
TURNER		 1500 SALESMAN
ADAMS		 1100 CLERK

ENAME		  SAL JOB
---------- ---------- ---------
JAMES		  950 CLERK
FORD		 3000 ANALYST
MILLER		 1300 CLERK

14 rows selected.

如上面,如果是多行sql,可以用类l2 显示第二行,然后用i 插入

SQL> save /tmp/test.sql
Created file /tmp/test.sql

之前的操作保存成一个文件

SQL> spool /tmp/1.sql
SQL> select ename from emp;

ENAME
----------
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS

ENAME
----------
JAMES
FORD
MILLER

14 rows selected.

SQL> spool off;

如上图所示,用spoor /tmp/1.sql 会把后面的所有操作都保存在文件中

set linesize 300 设置一行定宽度

SQL> show linesize;
linesize 80
SQL> select * from emp where sal > 4000;

     EMPNO ENAME      JOB	       MGR HIREDATE	    SAL       COMM
---------- ---------- --------- ---------- --------- ---------- ----------
    DEPTNO
----------
      7839 KING       PRESIDENT 	   17-NOV-81	   5000
	10
原来定显示比较窄,会换行
SQL> set linesize 300
SQL> select * from emp where sal > 4000;

     EMPNO ENAME      JOB	       MGR HIREDATE	    SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7839 KING       PRESIDENT 	   17-NOV-81	   5000 		   10
设置行宽度就比较好了


show pagesize 看到默认定一页显示多少行

SQL> select * from emp;

     EMPNO ENAME      JOB	       MGR HIREDATE	    SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK	      7902 17-DEC-80	    800 		   20
      7499 ALLEN      SALESMAN	      7698 20-FEB-81	   1600        300	   30
      7521 WARD       SALESMAN	      7698 22-FEB-81	   1250        500	   30
      7566 JONES      MANAGER	      7839 02-APR-81	   2975 		   20
      7654 MARTIN     SALESMAN	      7698 28-SEP-81	   1250       1400	   30
      7698 BLAKE      MANAGER	      7839 01-MAY-81	   2850 		   30
      7782 CLARK      MANAGER	      7839 09-JUN-81	   2450 		   10
      7788 SCOTT      ANALYST	      7566 19-APR-87	   3000 		   20
      7839 KING       PRESIDENT 	   17-NOV-81	   5000 		   10
      7844 TURNER     SALESMAN	      7698 08-SEP-81	   1500 	 0	   30
      7876 ADAMS      CLERK	      7788 23-MAY-87	   1100 		   20

     EMPNO ENAME      JOB	       MGR HIREDATE	    SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7900 JAMES      CLERK	      7698 03-DEC-81	    950 		   30
      7902 FORD       ANALYST	      7566 03-DEC-81	   3000 		   20
      7934 MILLER     CLERK	      7782 23-JAN-82	   1300 		   10
原来定只显示十几行就分页列,不好看


set pagesize 100 一页显示100行

SQL> set pagesize 100
SQL> select * from emp;

     EMPNO ENAME      JOB	       MGR HIREDATE	    SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK	      7902 17-DEC-80	    800 		   20
      7499 ALLEN      SALESMAN	      7698 20-FEB-81	   1600        300	   30
      7521 WARD       SALESMAN	      7698 22-FEB-81	   1250        500	   30
      7566 JONES      MANAGER	      7839 02-APR-81	   2975 		   20
      7654 MARTIN     SALESMAN	      7698 28-SEP-81	   1250       1400	   30
      7698 BLAKE      MANAGER	      7839 01-MAY-81	   2850 		   30
      7782 CLARK      MANAGER	      7839 09-JUN-81	   2450 		   10
      7788 SCOTT      ANALYST	      7566 19-APR-87	   3000 		   20
      7839 KING       PRESIDENT 	   17-NOV-81	   5000 		   10
      7844 TURNER     SALESMAN	      7698 08-SEP-81	   1500 	 0	   30
      7876 ADAMS      CLERK	      7788 23-MAY-87	   1100 		   20
      7900 JAMES      CLERK	      7698 03-DEC-81	    950 		   30
      7902 FORD       ANALYST	      7566 03-DEC-81	   3000 		   20
      7934 MILLER     CLERK	      7782 23-JAN-82	   1300 		   10

14 rows selected.
设置每也显示100行就好看了


set heading on 打开显示列标题,关闭off

SQL> set heading off
SQL> select * from emp where sal > 4000;

      7839 KING       PRESIDENT 	   17-NOV-81	   5000 		   10

可以不显示表头


col col_name for a10,改变显示列的宽度


show all 可以看见很多的命令
autocommit off 自动提交关闭
autoprint off 自动打印关闭
auttrace off 自动打开执行计划关闭
colsep “ ” 表示列与列直接用空格分开
serveroutput off 输出功能不打开,plsql 要打开这个
timing off 执行时长不显示
空值nvl函数处理

© 著作权归作者所有

共有 人打赏支持
胡子叭槎
粉丝 21
博文 126
码字总数 132913
作品 0
成都
数据库管理员
.NET架构设计、框架设计系列文章总结

从事.NET开发到现在已经有七个年头了。慢慢的可能会很少写.NET文章了。不知不觉竟然走了这么多年,热爱.NET热爱c#。突然想对这一路的经历进行一个总结。 是时候开始下一阶段的旅途,希望这些...

王清培 ⋅ 2016/11/13 ⋅ 0

用pl/sql实现oracle数据的导出和导入

一、PL/SQL工具实现oracle数据导出 1. 数据对象导出 工具->导出用户对象,弹出如下界面: 选择用户,选择导出文件的路径,命名导出文件名称(.sql),然后点击导出即可。 注意:此方法只能导...

为自己插上翅膀 ⋅ 01/23 ⋅ 0

Oracle培训的建议收集

近期要组织一次新员工培训,交代了两节课的任务,主要介绍Oracle数据库,一个是针对纯小白,一个是经过一段时间的学习,针对有一定基础的,内容不限,时间不限。 介绍数据库,介绍Oracle,其...

bisal ⋅ 2017/09/08 ⋅ 0

先对oracle 体系结构有个总体的认识

Oracle体系结构,我觉得,大体可分:内存结构,进程结构和存储结构。其中,进程结构是内存结构和存储结构的沟通桥梁。 在不同的平台上,oracle体系结构的实现略有不同。比如,在unix(linux...

长平狐 ⋅ 2012/09/19 ⋅ 0

乱世识英雄 你选什么品牌的ERP

ERP(企业资源计划)是现代管理观念的重大转变,所有信息化管理模式中最重要最复杂的一环。它将企业所有内部资源整合在一起,对采购、生产、库存、分销、运输、财务、人力资源进行科学规划,从...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

有些路,其实可以很容易得走

图片发自简书App 图片发自简书App 素昧平生,却收到了莫老师从广东邮寄的厚重的图书和礼物。一个执着于理想的年轻人,20来岁,已经出版了自己的系列图书,且和自己的团队正在继续。他写的图书...

十里姜场 ⋅ 2017/12/21 ⋅ 0

Oracle数据库集群入门培训教程_Oracle RAC集群体系架构解析

课程目标 风哥本课程讲解Oracle数据库基础入门培训教程之Oracle RAC集群体系架构,内容包括:集群基本概念、Oracle RAC集群架构、Oracle RAC集群相关术语、Oracle RAC集群相关进程、Oracle ...

风哥Oracle ⋅ 2017/06/12 ⋅ 0

软件五大体系知多少,IBM、MS、SAP、Oracle、开源。

昨天参加了个企业的宣讲会,听闻软件行业的五大体系。 即:MicroSoft引领的软件体系、IBM体系、SAP体系、Oracle体系然后就是开源体系。 不知道大家有没有对这种说法有明确认识,为啥没有App...

rpengfei ⋅ 2011/12/08 ⋅ 8

餐桌上的鱼文化

中国自古乃礼仪之邦,形成了独特的饮食文化,例如酒桌文化,其中鱼文化最能凸显中国人的行为准则和风骨。 (1)吃鱼看出身:第一筷子夹鱼肚子乃是小家出身;第一筷子夹鱼背大家出身因为鱼最鲜...

焚琴煮鹤不如焚书坑儒 ⋅ 2017/08/08 ⋅ 0

oracle学习路线图

这是本人收藏的一个大师写的,用来提示自己oracle学习路线 1、sql、pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验) 作为oracle的基本功,需要大家对sql和plsql...

Monument ⋅ 2014/09/25 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JDK1.6和JDK1.7中,Collections.sort的区别,

背景 最近,项目正在集成测试阶段,项目在服务器上运行了一段时间,点击表格的列进行排序的时候,有的列排序正常,有的列在排序的时候,在后台会抛出如下异常,查询到不到数据,而且在另外一...

tsmyk0715 ⋅ 8分钟前 ⋅ 0

spring RESTful

spring RESTful官方文档:http://spring.io/guides/gs/rest-service/ 1. 可以这么去理解RESTful:其实就是web对外提供的一种基于URL、URI的资源供给服务。不是一个原理性知识点。是一个方法论...

BobwithB ⋅ 10分钟前 ⋅ 0

C++ 中命名空间的 5 个常见用法

相信小伙伴们对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间在1995年被引入到 c++ 标准中,通常是这样定义的: 命名...

柳猫 ⋅ 13分钟前 ⋅ 0

@Conditional派生注解

@Conditional派生注解(Spring注解版原生的@Conditional作用) 作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效; @Conditional扩展注解 作用(判...

小致dad ⋅ 13分钟前 ⋅ 0

适配器模式

适配器模式 对象适配器 通过私有属性来实现的类适配器 通过继承来实现的接口适配器 通过继承一个默认实现的类实现的

Cobbage ⋅ 17分钟前 ⋅ 0

Java 限流策略

概要 在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速...

轨迹_ ⋅ 21分钟前 ⋅ 0

GridView和子View之间的间隙

默认的情况下GridView和子View之间会有一个间隙,原因是GridView为了在子View被选中时在子View周围显示一个框。去掉的办法如下: android:listSelector="#0000" 或 setSelector(new ColorDra...

国仔饼 ⋅ 24分钟前 ⋅ 0

idea插件开发

1 刷新页面要使用多线程 2 调试要使用restart bug 不要去关闭调试的idea 否则再次启动会卡住

林伟琨 ⋅ 24分钟前 ⋅ 0

Java 内存模型

物理机并发处理方案 绝大多数计算任务,并不是单纯依赖 cpu 的计算完成,不可避免需要与内存交互,获取数据。内存要拿到数据,需要和硬盘发生 I/O 操作。计算机存储设备与 cpu 之间的处理速度...

长安一梦 ⋅ 31分钟前 ⋅ 0

思路分析 如何通过反射 给 bean entity 对象 的List 集合属性赋值?

其实 这块 大家 去 看 springmvc 源码 肯定可以找到实现办法。 因为 spirngmvc 的方法 是可以 为 对象 参数里面的 list 属性赋值的。 我也没有看 具体的 mvc 源码实现,我这里只是 写一个 简...

之渊 ⋅ 52分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部