分享交流
合作共赢!

Oracle数据库入门-初级教程学习

一、数据库分类

一、数据库分类

1.小型数据库:access、foxbase

2.中型数据库:Informix、sql server、mysql

3.大型数据库:sybase、db2、oracle

二、项目中如何合理地使用数据库,可以依据下面三个方面入手

1.项目的规模

a.负载量有多大,即用户量有多大

b.成本

c.安全性

eg:

小型数据库:

1.负载量小,用户大概100人之内:比如:留言板、信息

2.成本在千元之内

3.对安全性要求不高

中型数据库:

比如负载量 日访问量5000-10000

成本在万元内

比如商务网站

大型数据库

海量负载,可以处理海量数据(sybase<oracle<db2(海量数据处理能力))

安全性高,相对贵

二、sql*plus工具简介

一、sys用户和system用户

Oracle安装会自动生成sys用户和system用户

1.sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install

2.system用户是管理操作员,权限也很大,具有sysoper角色,没有create database权限,默认密码是manager

3.一般讲,对数据库维护,使用system用户登陆就可以啦

注意:也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。

二、sql*plus工具简介

sql*plus是Oracle自带的工具软件,主要用于执行sql语句,pl\sql块。

操作如下:

1.在d:\dev\oracle\product\10.2.0\db_1\bin目录下的sqlplusw.exe。(D:\dev\oracle为Oracle的安装目录)

2.在运行中输入&ldquo;sqlplusw&rdquo;即可

三、sqlplus dos工具简介

1.概述:sqlplus是在dos下操作Oracle的工具,其功能和sql*plus相似。

2.操作如下:在运行栏中输入&ldquo;sqlplus&rdquo;即可

四、PLSQL Developer工具,需要自己安装,推荐大家使用

五、sql*plus常用命令

1.连接命令:

(1)conn[ect]

用法:conn 用户名/密码@网络服务名 [as sysdba/sysoper]

说明:当用特权用户身份连接时,必须带上as sysdba或是as sysoper

eg:

SQL>show user

USER 为&ldquo;SCOTT&rdquo;

SQL>conn system/oracle@orcl

已连接

SQL>show user

USER为&ldquo;SYSTEM&rdquo;

SQL>

以上命令实现类似切换用户的效果

2.disc/disconn/disconnect

说明:该命令用来断开与当前数据库的连接

3.pssw[ord]

说明:该命令用户修改用户的密码,如果要想修改其他用户的密码,需要用sys/system登录。

eg:

SQL>conn scott/oracle

已连接。

SQL>passw

更改SCOTT的命令

旧口令:

新口令:

重新键入新口令:

口令已更改

SQL>

4.show user

说明:显示当前用户名

5.exit

说明:该命令会断开与数据库的连接,同时会退出sql*plus

6.clear screen

清空屏幕

2.文件操作命令

1.start和@

说明:运行sql脚本

案例:sql>@ d:\a.sql或是sql>start d:\a.sql

2.edit

说明:该命令可以编辑制定的sql脚本

案例:sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开

3.spool

说明:该命令可以将sql*plus屏幕上的内容输出到指定文件中去。

案例:sql>spool d:\b:sql并输入sql>spool off

eg:

sql>spool d:\b.sql;

sql>select * from emp;

sql>spool off;

3、交互式命令

说明:可以替代变量,而改变量在执行时,需要用户输入。

select * from emp where job=’&job’;

4、显示和设置环境变量

概述:可以用来控制输出的各种格式,set show 如果希望永久的保存相关的设置,可以去修改glogin.sql脚本

1.linesize

说明:设置显示行的宽度,默认是80个字符

show linesize

set linesize 90

2.pagesize说明:设置每页显示的行数目,默认是14

用法和linesize一样

至于其他环境参数的使用也是大同小异

三、Oracle用户管理一

一、创建用户

概述:在Oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。

create user 用户名 identified by 密码;

注意:Oracle有个毛病,密码必须以字母开头,如果以数字开头,它不会创建用户

eg:

create user xiaoming identified by oracle;

二、给用户修改密码

概述:如果给自己修改密码可以直接使用

SQL>password 用户名或passw

如果给别人修改密码需要具有dba的权限,或是拥有alter user的系统权限

SQL>alter user 用户名 idendified by 新密码;

三、删除用户

概述:一般以dba的身份去删除某个用户,如果用其他用户去删除用户则需要具有drop user权限。

比如:drop user 用户名 [cascade]

注意:在删除用户时,如果要删除的用户,已经创建了表,那么需要在删除的时候带一个参数cascade,即把改用户及表一同删除;

四、权限

权限分为系统权限和对象权限。

何为系统权限?

用户对数据库的相关权限,connect、resource、dba的系统权限,如建库、建表、建索引、建存储过程、登录数据库、修改密码等。

何为对象权限?

用户对其他用户的数据对象操作的权限,insert、delete、update、select、all等对象权限,数据对象有很多,比如表、索引、视图、触发器、存储过程、包等。

执行select * from dba_object_size;语句可得到oracle数据库对象。

五、角色

角色分为预定义角色和自定义角色。

六、用户管理的综合案例

概述:创建的新用户时没有任何权限的,甚至连登陆的数据库的权限也没有,需要为其指定相应的权限。给一个用户赋予权限使用命令grant,回收权限使用命令revoke。

为了讲清楚用户的管理,这里给大家举一个例子:

SQL>conn xiaoming/oracle

ERROR:

ORA-01045:user XIAOMING lacks CREATE SESSION privilege;login denied

警告:您不再连接到ORACLE。

sql>show user;

USER 为&ldquo;&rdquo;

sql>conn system/oracle

已连接。

sql>grant connect to xiaoming;

授权成功。

sql>conn xiaoming/oracle

已连接。

sql>

注意:grant connect to xiaoming;在这里,准确地讲,connect不是权限,而是角色。

现在说下对象权限,现在要做这么件事情:

希望xiaoming用户可以去查阅emp表

希望xiaoming用户可以去查阅scott的emp表

grant select on scott.emp to xiaoming

希望xiaoming用户可以去修改/删除,查询,添加scott的emp表

grant all on scott.emp to xiaoming

scott希望回收xiaoming对emp表的查询权限

revoke select on scott.emp from xiaoming

七、权限的传递

//对权限的维护

希望xiaoming用户可以去查阅scott的emp表/还希望xiaoming可以把这个权限传递给别人。

–如果是对象权限,就加入with grant option

grant select on emp to xiaoming with grant option;

我的操作过程:

sql>conn scott/oracle;

已连接。

sql>grant select on scott.emp to xiaoming with grant option;

授权成功。

sql>conn system/oracle;

已连接。

sql>create user xiaohong identified by oracle;

用户已创建。

sql>grant connect to xiaohong;

授权成功。

sql>conn xiaohong/oracle;

已连接。

sql>grant select on scott.emp to xiaohong;

授权成功。

–如果是系统权限

system给xiaoming权限时:grant connect to xiaoming with admin option

问题:如果scott把xiaoming对emp表的查询权限收回,那么小红会怎样?

下面是我的操作过程:

SQL>conn scott/oracle;

已连接。

SQL>revoke select on emp from xiaoming;

撤销成功。

SQL>conn xiaohong/oracle;

已连接。

SQL>select * from scott.emp;

select * from scott.emp

*

第一行出现错误:

ORA-00942:表或视图不存在

八、with admin option与with grant option的区别:

1、

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考博客:https://www.cnblogs.com/kscnchina/p/4570865.html

 

赞(0) 打赏
未经允许不得转载:琼杰笔记 » Oracle数据库入门-初级教程学习

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏