oracle基本使用
一、数据库
1.1 主流数据库
微软: sql server 、access
瑞典MySQL: AB公司mysql
IBM公司: db2
美国Sybase公司:sybase
美国oracle公司: oracle
1.2 数据库分类
小型数据库:access、foxbase
中型数据库:mysql、sql server、informix
大型数据库:sybase、oracle、db2
1.3 用什么数据库
项目的规模
负载量多大(用户多大)、成本、安全性
二、oracle安装
2.1 下载
百度网盘:https://pan.baidu.com/s/1Nl9G-3R00018jo5y328Adg
提取码:ze2z
2.2 安装
安装参考:https://blog.csdn.net/qq_40774525/article/details/79919057
安装参考:https://blog.51cto.com/12346621/2149650
在oracle安装成功后,会默认生成三个用户:
①sys用户:超级管理员,权限最高,角色:dba,密码:change_on_install
②system用户:系统管理员,权限高,角色:dbaoper, 密码:manager
③scott用户:普通用户,密码:tiger
2.3 oracle管理工具
①oracle自带的工具软件,主要用于执行sql语句,pl\sql块
开始—>Oracle-OraDB11g_home1——>SQL Plus Oracle system 用户无法登录问题
解决:使用sysdba账号登录(运行cmd-->sqlplus / as sysdba)
解除锁定账号(例如解除system用户):alter user system account unlock;
为system用户设置新密码:alter user system identified by manager; ②pl/sql developer:第三方软件,主要用于开发,测试,优化oracle pl/sql的储存过程
三、oracle基本命令
3.1 sql plus常用命令
①连接:conn 用户名/密码;
当用特权用户身份连接时,必须带上as sysdbs或者是as sysoper ②断开连接:disconnect ③修改密码:passw 回车,提示输入旧密码,然后输入新密码,输入确认密码
该命令用于修改用户的密码,如果想要修改其他用户的密码,需要用sys/system登录 ④显示当前用户名:show user; ⑤exit:该命令会断开与数据库的连接,同时会退出
3.2 文件操作命令
①start:运行sql脚本
案例: start d:\a.sql;
②edit:编辑sql脚本
案例: edit d:\a.sql;
③spool
该命令可以讲sql plus屏幕上的内容输出到指定的sql文件中
案例:spool d:\b.sql; 回车 输入select * from emp 回车 输入spool off;
3.3 显示和设置环境变量
可以用来输出的各种格式,set show如果希望永久的保存相关设置,可以去修改glogin.sql
脚本
①linesize:设置显示行的宽度,默认是80个字符
show linesize;
set linesize 100;
②pagesize:设置每页显示的行数目,默认是14
show pagesize;
set pagesize 20;
四、oracle用户管理
4.1 创建用户
在oracle中要创建一个新的用户试用create user语句,一般具有dba的权限才能使用
create user xiaoming identified by 密码;
如:create user xiaoming identified by x1234;
4.2 给用户修改密码
①给自己:password 用户名;
②给别人:需要具有数据库管理员权限
alter user 用户名 identified by 新密码;
4.3 删除用户
自己不能删除自己,一般以dba权限去删除某个用户
在删除用户时,如果要删除的用户已经创建了表,就需要在删除的时候,带一个参数:cascade
4.4 用户管理的综合案例
①新用户授权
创建的新用户是没有任何权限的,无法登陆数据库,需要为其指定相应的权限
给一个用户赋权限使用命令grant,回收权限使用命令revoke
conn system/manager; 系统管理员登陆
grant connect to xiaoming; 授权
conn xiaomming/密码; 新用户登陆数据库 ②实现:希望xiaoming可以查询emp表,但是xiaoming用户下面没有emp表,也无法建表
给xaioming授权建表:
conn system/manager;
grant resource to xiaoming;
create table test(userid varchar2(30),username varchar2(30)); 建表 ③实现:希望xiaoming可以查询scott用户的emp表
对象权限:用户对其他用户的数据对象操作的权限
包括select、insert、update、delete、all、create index
conn scott/tiger;
授权:grant select on emp to xiaoming 只能查询
conn xiaoming/x1234;
select * from scott.emp; 查询成功 ④实现:希望xiaoming可以修改scott用户的emp表
grant update on emp to xiaoming; ⑤实现:希望xiaoming可以修改/删除/查询/添加scott用户的emp表
grant all on emp to xiaoming; ⑥实现:scott希望收回xiaoming对emp的查询权限
conn scott/tiger;
revoke select on emp from xiaoming;
conn xiaoming/x1234;
select * from scott.emp; 收回权限后,再次查询提示表或试图不存在
4.5 对权限的维护
①实现:希望xiaoming可以查询scott用户的emp表,还希望xiaoming可以把这个权限继续给别人,
如果是对象权限,就加入with grant option:grant select on emp to xiaoming with grant option
如果是系统权限,就加入with admin option:grant select on emp to xiaoming with admin option ②授权
conn scott/tiger;
grant select on emp to xiaoming with grant option; ③创建xiaohong用户:
conn system/manager;
create user xiaohong identified by x5678;
grant connect to xiaohong; 授权xiaohong登录数据库 ④xiaoming授权给xiaohong
conn xiaoming/x1234;
grant select on scott.emp to xiaohong; 授权成功 ⑤实现:如果scott把xiaoming对emp表的查询权限收回,则xiaohong的权限也会被收回
conn scott/tiger;
revoke select on emp from xiaoming; 收回权限成功
conn xiaohong/x1234;
select * from scott.emp; 提示表和视图不存在,级联收回
4.6 profile管理用户的口令
profile是口令限制,资源限制的命令集合,当监理数据库时,oracle会自动建立名称为default的profile。当监理用户没有指定profile选项,那么oracle就会将default分配给用户
①账户锁定
指定该用户登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天),一般用dba的身份去执行该命令 例子:实现指定xiaoming这个用户最多只能尝试3次登录,锁定时间为2天
首先创建profile文件(红色字体是关键字):
create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
alter user xiaoming profile lock_account; 把profile文件分配给指定的用户 conn system/manager;
create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
alter user xiaoming profile lock_account; 用户已更改
这时登录xiaoming用户,密码输入错误3次,账户就会被锁定 ②账户解锁
conn system/manager;
alter user xiaoming account unlock; ③终止口令
为了让用户定期修改密码可以时用终止口令的指令来完成,同样这个命令也需要dba的身份来操作
例子:实现给用户xiaoming创建一个profile文件,要求该用户每隔10天要修改登录密码,宽限期为2天。
create profile lock_account limit password_life_time 10 password_grace_time 2;
alter user xiaoming profile lock_account; ④删除profile
当不需要某个profile文件时,可以删除该文件
drop profile password_history;
五、oracle表管理
5.1 数据类型
①字符型
char(10) :定长,最大2000字符
varchar2(20) :变长,最大4000字符
create table user (userName char(2000) ②数字型
number
范围:-10的38次方——10的38次方
可以表示整数,也可以表示小数 number(5,2) 表示一个小数有5位有效数,2位小数
范围:-999.99——999.99 number(5) 表示一个五位整数
范围:-99999——99999 ③日期类型
date 包含年月日时分秒
timestamp 这是oracle9i对date数据类型的扩展 ④图片类型
blob 二进制数据 可以存放图片/声音 4G
5.2 创建表
①学生表
create table student(
xh number(4), 学号
xm varchar2(20), 姓名
sex char(2), 性别
birthday date, 出生日期
sal number(7,2) 奖学金
); ②班级表
create table class(
classid number(2),
cname varchar2(20)
);
5.3 修改表
①添加一个字段
alert table student add (classid number(2));
②修改字段的长度
alter table student modify (xm varchar2(30));
③修改字段的类型
alter table student modify (xm char(30));
④删除一个字段
alter table student drop cloumn sal;
⑤修改表的名字
rename student to stu;
⑥删除表
drop table student;
⑦查看表
desc student;
5.4 添加数据
①insert into student values(1,’张三’,’男’,’09-5月-99’,100,12); ②oracle中默认的日期格式:DD-MON-YY
注:DD:天,MON:月,YY:年
09-5月-99:1999年5月9号 ③修改日期的默认格式:alter session set nls_date_format=‘yyyy-mm-dd’;
修改后可以用我们熟悉的格式添加日期类型:
insert into student values (1,’张三’,’男’,’1999-05-09’,100,12); ④插入部分字段
insert into student(xh,xm,sex) values(1,’李四’,’女’); ⑤插入空值
insert into student(xh,xm,sex,birthday) values(1,’王二’,’男’,null); ⑥查询为空/不为空
select * from student where birthday is null;
select * from student where birthday is not null; ⑦修改一个字段
update student set sex=’女’ where xh=1;
修改多个字段
update student set sex=’女’ ,birthday=’ 1995-12-29’ where xh=1;
5.5 删除数据
①delete from student;删除所有记录,表结构还在,写日志可以恢复,速度慢
可以实现回滚
savepoint 张三; 删除之前保存节点
delete from student; 删除数据
select * from student; 无数据
rollback to 张三; 回滚
select * from student; 有数据 ②drop table student; 删除表结构和数据 ③delect fromstudent where xh=1; 删除一条数据 ④truncate table student; 删除表中的所有记录,表结构还在,不写日志无法找回删除的记录,速度快
六、创建数据库的两种方法
6.1 通过oracle提供的向导工具
Database Configuration Assistant 数据库配置助手 点击 —> 创建数据库 —> New Database —> 设置数据库名称 —> 数据库特性和定制脚本默认 —> 专用服务器模式 —> 典型自定义可以根据自己需求修改 —> 数据库储存默认 —> 创建数据库
6.2 手工步骤直接创建
oracle基本使用的更多相关文章
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- Oracle 的基本操作符
!= 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- 基于Oracle安装Zabbix
软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...
- Oracle Database 12c Data Redaction介绍
什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...
- 使用Oracle官方巡检工具ORAchk巡检数据库
ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...
- 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断
概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...
- 使用技术手段限制DBA的危险操作—Oracle Database Vault
概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
随机推荐
- Java打包
打成jar包 如果你使用的是maven来管理项目,执行以下命令既可以 cd 项目跟目录(和pom.xml同级)mvn clean package## 或者执行下面的命令## 排除测试代码后进行打包mv ...
- MySQL 设置密码和允许远程登录
mysqladmin -u root password "newpass" GRANT ALL PRIVILEGES ON *.* TO root' WITH GRANT OPTI ...
- winfrom 保存图片
private void btnSave_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); ...
- VMware永久key
VMware永久KEY:5F29M-48312-8ZDF9-A8A5K-2AM0Z
- 判断ubuntu是32位还是64位
在终端输入 sudo uname -m 显示 如果显示i686,你安装了32位操作系统 如果显示 x86_64,你安装了64位操作系统 更多: sudo uname -s 显示内核名字s sudo u ...
- git遇到的问题记录2019.05.07
用sourcetree拉取代码,报错如下: error: cannot lock ref 'refs/remotes/origin/my_branch': unable to resolve refe ...
- element-ui表格带复选框使用方法及默认选中方法
一.实现多选:步骤1:在表格中添加一列 步骤2:在data中定义以及数组用来存储选中的元素.例如:multipleSelection:[] selection-change方法用户实时监听选中元素 实 ...
- WinPE基础知识之导出表
// 导出的东西包括函数(变量.类)地址,序号,函数(变量.类)名 typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; // ...
- 分布式全局ID的几种生成方案
前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等. 那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是 ...
- sql循环-游标、临时表、表变量
游标 在游标逐行处理过程中,当需要处理的记录数较大,而且游标处理位于数据库事务内时,速度非常慢. -- 声明变量 DECLARE @Id AS Int -- 声明游标 DECLARE C_Id CUR ...