赞
踩
目录
OracleServiceORCL oracle数据库服务
OracleOraDb11g_home1TNSListener oracle监听服务
操作如下:输入 services.msc 命令 确定 如下:
确定显示如图鼠标右击打开即可:
注意:每次重启电脑,如果没有设置自动打开,那么就需要自己手动打开,才能正常使用。
如emp、dept、salgrade等表,这几个表存储在系统账号scott下,可以通过scott账号查看表格的基本情况。
启动步骤:Oracle->应用程序开发->SQL Plus
用户名:scott
口令:tiger(密码,开始为默认为tiger,根据设置而定)
主机字符串:orcl
如图:
它是Oracle的第三方工具;
因为oracle的开发环境糟糕,因此我们采用第三方的
文件 --> 新建 --> SQL窗口
作用:用sql脚本代码完成数据库的增、删、改、查操作
注意:Sql与Oracle最大的不同:
Sql中可以随时随意的创建数据库;但Oracle只有一个数据库,一台电脑只会安装一个数据库。
为了区分彼此,Oracle只有创建用户,一个用户一个数据库。
结构:
开辟(分配)数据库空间----表空间(TableSpace)。
表空间代替了数据库,创建数据库就是开辟账户空间。
注意:Oracle为A账户开辟一个表空间,为B账户开辟一个表空间,请问A和B是不是在用同一个数据库?
不同账号之间能不能互访?
其实就是用表空间代替了数据库。创建数据库就是开辟用户空间。
安装教程: Oracle 安装
Oracle里面的东西太多了,大批量处理数据的。
sql server号称百万级数据(一个表的数据),但其实最多20万条记录,超过20万条就用Oracle。安装可能成功,但连接不了的情况,而且也不报错。
oracle8i/9i (internet)基于网络的oracle10g/11g (grid)基于网格的,它的客户端就是个web程序了,可以在IE里打开的:oracle->Database Control - orcl点下就会在IE中打开,如果找不到地址就是没开动OracleDBConsoleorcl服务(DBC控制器),该功能就相当于SQL Server
orcale12c
数据库
物理的:数据文件.dbf;日志文件.log;控制文件.ctl;
虚拟的:表空间(可以用户开辟)
数据库实例
启动的数据库对应一个数据库实例,由实例来访问和控制数据库。
问:先创建表空间还是用户?
先创建表空间,再给用户分配表空间
关于账户:
----sys和system管理员账号,在装软件时就已分配好的,因此可以用这账号开辟表空间。
----scott(释放账号(普通用户账号):给我们用和看的),密码是tiger。
注意:千万不要去改这账号和密码,全球都是一样的。(改是可以改,但别去改)
超级管理员的权限:
【以下操作,必须以超级管理员身份登录,才能修改】
oracle安装后,会默认生成很多个用户以超级管理员身份登录,请注意,其中的空格符:
【 sys是一个超级管理员,有最大的权限,dba是角色名,/杠二边是用户名和密码,以dba角色名进入,无需用户名和密码 】
sqlplus / as sysdba
例如:C:\Documents and Settings\Administrator>sqlplus / as sysdba解锁普通用户:
alter user 用户名 account unlock;
例如:SQL> alter user scott account unlock;修改普通用户密码,密码以英文字母开头
alter user 用户名 identified by 新密码【密码以字母开头】;
例如:SQL> alter user scott identified by tiger;
关于账户登录:
可以用sys或system管理员账号登录,也可以用scott账户登录。
怎么登?
1.在开始菜单中选择oracle目录--应用程序开发--sql plus
2.在cmd状态下,直接通过命令sqlplus来登录。
在oracle下输入命令:
sys/sys as sysdba --sysdba是数据库系统管理员
解释:第一个sys是账户,第二个sys是密码,该账号做为管理员登录。
思考:
管理员账户可以调用一般账户的表吗?
select * from scott.emp;
一般账户可以调一般账户的表吗?
表空间使用结构:
基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间。
创建表空间的语法:
create tablespace 表空间名
例:
- create tablespace t_table
- datafile 'e:\111.dbf' --数据文件存方地址
- size 100M;
- --只要上面三行就OK了
- autoextend on next 32 maxsize unlimited
- logging
- extent management local
- segment space management auto;
用;号隔开,代表代码写完了,可以执行了
如果你是管理员账号,调别的用户的账号可以吗?可以
--账户.表;
select * from scott.emp;
如果你是一般用户的账号可以调别人的吗?正常情况下不行,除非授权。
关于账户在Oracle有另一个名词叫:模式
select * from 模式.表;
比如scott就是个模式
比如其它的对象就是个模式
每个对象都是个模式
进入PL/SQL
1.all objects ==> my objects
2.左侧的都了解了,oracle就完了
My Objects(文件含义)重点
Functions 函数-
Procedures 存储过程-
Packages 包-
Package bodies 包体-
Types 类型-
Type bodies 类型体-
Triggers 触发器-
Java sources
Jobs 工作
Queues 队列
Queue table 队列表格
Libraries
Directories
Tables 表格-
Views 视图-
Materialized views
Sequences 序列-
Users 用户-
Profiles 控制文件-
Relos 角色-
Synonyms 同义词-
Database links
Tablespaces 表空间-
Clusters
1.创建账户,指定访问表空间,但未给它赋任何权限,登录时是登不了的!
create user 用户名
identified by 密码
[default tablespace 表空间]
[temporary tablespace 临时的表空间] --该行一般不用
案例:
- create user u_dml
- indentified by 123
- default tablespace t_table
(把用户与角色区分搞清楚)
角色:张扬是个学生,是指角色
用户:而张扬,是一个用户给角色授予权限:
找到users-用户名-编辑-角色权限
connect:临时用户的权限
resource:正式用户的权限
DBA:管理员(一般不用)分配权限或角色:
Grant privileges or role To user;
例:Grant connect,resource to u_dml;
--给dml角色分配权限
Revoke privileges or role FROM user;
例:revoke connect,resource from u_dml; --撤销dml角色的connect,resource权限
建的表都在Tables里面。
两种建表方式:
1.视图
2.代码
- create table tb_88
- (
- sid number, --int类型用number
- sname varchar2(55), --没有varchar
- sex varchar2(10)
- )
--查看表里的数据:
select * from tb_88;
Oracle中有标识列吗?
oracle没有标识列,不过有个替代品(触发器+序列)--插入数据
insert into tb_88(sid,sname,sex)
values(10,'张天','男');--视图版的添加表:
右击Tables--新建--主键:在键里,名称自己取,类型primary,选定哪个列做主键,联合主键就选两个,请问有几个主键?1个删除列:右则的减号
--怎么查看建表的脚本?
右下角--看SQL
--建完表后点“应用”
- --创建表空间
- create tablespace ts_sb
- datafile 'D:\software\tools\oracle\app\oradata\orcl\ts_sb.dbf'
- size 5M
-
-
- create user u_zz
- identified by 123
- default tablespace ts_sb
-
- #分配权限或角色
- grant privileges or role to user;
- #撤销权限或角色
- revoke privileges or role from user;
-
- #问题:创建的u_zz用户登录失败
-
- #给予u_zz分配或角色
- grant connect,resource to u_zz;
-
- #撤销u_zz用户 权限或角色
- revoke connect,resource from u_zz;
-
-
- --词汇:模式
- select * from scott.emp;

- #注释
- -- 单行注释
- /*多行注释*/
-
- #oracle数据库时不区分大小写的
- #建议全大写,尤其是关键字
-
- #Oracle数据库创建表时必须得有表空间
- #学会创建表空间(类似sqlserver中的数据库)
- #表空间:tablespace
- #表空间的作用:存储数据表
- #表空间创建完成之后必须使用"用户"去管理这个表空间。
- #表空间创建必须是SYS超级管理员登录创建
- /*
- 创建语法:
- create tablespace 表空间名称
- datafile '数据文件的存储路径(oracle安装目录)'
- size 大小
- */
- --创建一个表空间存储数据表
- create tablespace ts_sb
- datafile 'D:\software\tools\oracle\app\oradata\orcl\ts_sb.dbf'
- size 5M
-
- #表空间创建完成后使用用户操作
- #用户管理
- #用户创建必须是SYS超级管理员登录创建
- /*
- 语法:
- create user 用户名称
- identified by 初始密码
- default tablespace 表空间名称
- */
- create user u_zz
- identified by 123
- default tablespace ts_sb
-
- #用户创建完成后需要管理分配权限才能正常登录
- # connect resource
- #分配权限或角色
- grant privileges or role to user;
- #撤销权限或角色
- revoke privileges or role from user;
-
- ---------------------------------------------------------
- /*
- 浏览器窗口中的关键词
- user 用户
- tablespace 表空间
- table 表格
- function 函数
- procedure 存储过程
- packages 程序包
- trigger 触发器
- sequence 序列
- synonyms 同义词(别名)
- */
-
- #scott用户下四张表
- select * from emp;--员工表
- select * from dept;--部门表
- select * from bonus;
- select * from salgrade
-
-
- --创建表
- #考虑字段的类型
- #oracle中的类型: 数值(number)字符串(varchar2)
- /*
- 语法
- create table tb_名称
- (
- 字段1 数据类型,
- 字段1 数据类型,
- 字段1 数据类型
- )
- */
- --创建一个学生信息表
- create table tb_student
- (
- sid number,
- sname varchar2(50),
- ssex varchar2(2)
- )
- #查询数据
- select * from tb_student;
- #添加数据
- insert into tb_student values(1,'张三','男')
- #删除数据
- delete from tb_student where sid = 1;
- #修改数据
- update tb_student set sname = '宋威' where sid = 1;
-
-
- #约束:限制数据
- #主键约束 primary key
- #非空约束 not null
- #检查约束 check
- #默认约束 default
- #唯一约束 unique
- #外键约束 references
-
- create table tb_stu
- (
- sid number primary key,
- sname varchar2(100) not null,
- ssex varchar2(2) check (ssex = '男' or ssex = '女'),
- saddress varchar2(100) default '湖南省',
- sfz varchar2(100) unique
-
- )
- create table tb_score
- (
- sid number references tb_stu(sid),
- gride number
- )

1977年 美国人 Larry 成立软件开发实验室
1980年 用c/c++开发了世界第一个商用关系型数据库(RDBMS)
1983年 公司更名为Oracle Corporation(甲骨文公司)
30多年的发展,Oracle成为世界上领先的信息管理软件供应商和独立软件开发公司,Oracle技术几乎涉及各个行业
2009年4月21日,原SUN -> Oracle
市场份额:【Oracle(54%+-)--->IBM-DB2(21%+-)--->MicrosoftMSSQL(14%+-)】
Oracle认证种类:
*(1)开发技术认证:Java认证
数据库开发语言SQL和PL/SQL认证(2)数据库技术认证:
OCM认证【大师】
OCP认证【专家】
OCA认证【初级】(3)中间件技术认证:OracleServer认证,WEB服务器认证,。。。
(4)专业领域的应用技术认证:
ERP认证
CRM认证
HR认证
OA认证
TAX认证。。2007年7月12日,甲骨文公司在美国推出Oracle11g,建议至少使用JDK6
它有400多项功能,经过了1500万个小时的测试,开发工作量达到3.6万人/月早期:Oracle8i,9i,【10i】----(i表示internet)
近期:Oracle11g-------------(g表示grid),将多台Oracle服务器当作一台主机协调使用,网格计算被之泛视为未来的计算方式
现在:oracle 12c(clound融合云计算服务器)window7/8中,查询端口的命名:netstat -a,或使用其它第三方工具查询当前计算机中的端口号
oracle数据库的主端口:1521,通常固定不变,前提是:开机时要启动"OracleOraDb11g_home1TNSListener"服务
报价:oracle11g企业版/标准版/个人版-----¥19.5万+-
报价:oracle12c企业版/标准版/个人版-----¥31.79万+-
从Oracle第一个商业化版本至今,oracle的默认数据库里都少不了这个名字为scott,密码为tiger的用户。这个scott究竟有何来历,怎么在我们的oracle的版本里一直都不能少呢。
这个就要追朔到Oracle的创业阶段了, 1977年6月,埃里森,Bob Miner和Ed Oates在硅谷共同创办了一家名为软件开发实验室(Software Development Laboratories,SDL)的计算机公司,这个只有三个人的公司就是后来在独领数据库风骚的ORACLE公司的前身。 当时埃里森年界32岁,由于合同的关系还在自己原来的公司里不能出来,只是一个程序员而已。他过不来,总要有写代码的人呀,公司的第一个程序员出现了,他的名字就是scott,他的猫的名字就叫trigger,可能是为了这个第一位的程序员的缘故吧,所以也就有了scott这个用户,而且一直没有忘怀,留恋至今。
1983年3月,RSI发布了ORACLE第三版的,Miner和Scott这两个老牛用c语言,在埃里森的高压下进行第三版的开发,要知道,C语言当时推出不久,用它来写ORACLE软件也是具有一定的风险的,但除此之外,别无他法。很快就证明了这样做是多么的正确:C编译器便宜而又有效,还有很好的移植性。
不过,当这个第三版还没有结束的时候。scott离开了Oracle公司,也许是c开发和初始阶段的无休止的变更,让scott无法承受,这个大牛选择了离开公司并出售了自己的4%的股票,不过scott离开Oracle以后,还是混迹于数据库开发市场,他自己创立了PointBase公司,是一个不错的嵌入式数据库,不过好像是java写的,我曾经还用之开发过项目。这位大牛没有想到,日后这个由他开笔的Oracle是未来时代的数据库巨人,那4%的相当于几亿美元哟。
时代造就英雄,每个时代的伟大产品后面都有英雄人物所不同常人的故事,不过其实也是那么的平常,不过是做了不平常的事情而已。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。