一、启动的服务

1.oracle核心服务——OracleServiceORCL

2. oracle监听服务——OracleOraDb11g_home1TNSListener

3.oracle数据库工作日程调度(没有工作日程安排不用启动,占资源)——OracleJobSchedulerORCL

二、Sql Server与Oracle最大的不同

1. SQL SERVER 号称百万级数据(一个表的数据),但是其实做多20万条数据,超过20万条数据就用Oracle;

2. Sql中可以随时随意的创建数据库;但Oracle只有一个数据库,一台电脑只会安装一个数据库,Oracle只有账户。

三、账户、表空间、数据库、表空间

1. 关系





案例:两个同学创建2个不同的数据库

        这两个同学都要在Oracle中找自己的数据库,刚说了一个Oracle只有一个数据库,怎么办?为两个同学各创建一个账户,给

账户开辟数据库空间----表空间(TableSpace)。

        表空间代替了Sql里面的数据库,创建数据库就是开辟账户空间。

        注意:Oracle为A账户开辟个空间,为B账户开辟个空间,请问A和B是不是在用同一个数据库?不同账号之间能不能互访?

         答:A和B在同一个数据库;但是不能互访,除非开了访问权限

2. 数据库


Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库,它包含物理数据、数据库管理系统(也即物理数据、内存、操作系统进程的组合体)。可以看作是Oracle就只有一个大数据库。 
     

        查询当前数据库名:select name from v$database;        (本人返回JANET)

       
注:使用SQLplus时,在终端输入sqlplus或者直接在搜索栏输入sqlplus(后者是调出sqlplus桌面应用)——>输入用户名密码——>成功后回车,即可输入sql语句,必须使用;作为结束符。

3、数据库实例

     一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory
Structures)组成。

一个数据库可以有n个实例。     

       用Oracle官方描述:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的

内存(SGA)所构成一个集合。其实就是用来访问和使用数据库的一块进程,它只存在于内存中。就像Java中new出来的实例对象

一样。我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可

用的错误。

       实例名指的是用于响应某个数据库操作的数据库管理系统的名称。它同时也叫SID。实例名是由参数instance_name决定的。

       查询当前数据库实例名:select instance_name from v$instance;

       数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。比如我们作

开发,要连接数据库,就得连接数据库实例名:

        jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)

       一个数据库可以有多个实例,在作数据库服务集群的时候可以用到。

4、数据文件

       数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,实际真正存储在某一个或者多个数据文件中。而一

个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不 能删

除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

5、表空间

       表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一

个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

     Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。有了数据库,

就可以创建表空间。

     表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效

率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表

空间只能属于一个数据库。

     ①基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间。

     ②创建表空间的语法:create tablespace 表空间名

     创建表空间语法:

          Create TableSpace 表空间名称

           DataFile 表空间数据文件路径

           Size 表空间初始大小

            Autoextend on

     如:

        create tablespace db_test

        datafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf'

        size 50m

        autoextend on;

查看已经创建好的表空间:select default_tablespace, temporary_tablespace,d.username from
dba_users d;

查看当前用户的缺省(默认)表空间:select username,default_tablespace from user_users;

6. 用户

    Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。

    用户是在实例下建立的。不同实例可以建相同名字的用户。

   上面我们建好了数据库和表空间,接下来建用户:

   创建新用户:

       CREATE USER 用户名

           IDENTIFIEDBY 密码

           DEFAULT TABLESPACE 表空间(默认USERS)

            TEMPORARY TABLESPACE 临时表空间(默认TEMP)

    如:

         CREATE USER utest

             IDENTIFIED BY utestpwd

             DEFAULT TABLESPACE db_test

             TEMPORARY TABLESPACE temp;

  (这里临时表空间不能使用我们创建的db_test,不指定也可以默认是temp)

有了用户,要想使用用户账号管理自己的表空间,还得给它分权限:

GRANT CONNECT TO utest;

GRANT RESOURCE TO utest;

GRANT dba TO utest;--dba为最高级权限,可以创建数据库,表等。

查看数据库用户:select * from dba_users;

四、给表空间分配账户,给账户角色授权

1.首先创建账户,指定访问表空间,但是未给它赋值任何权限,登录时是等不了的!

Create user 用户名

identified by 密码

Default tablespace 表空间 --指定该用户管理的表空间

案例:

         create user u_dml

         identified by 123

         Default tablespace ts_1

2.给账户授予角色(注意需把账户和角色分清楚)

角色:李鹏飞是个学生    角色:学生

账户:李鹏飞是个学生    账户:李鹏飞

角色分类:

Connect:临时用户角色

Resource:正式用户角色

DBA:管理员(一般不用)

授予角色:

Grant connect , resource to 账户

撤销角色:

Revoke connect,resource from 账户

删除(撤销)用户:

DROP USER 用户名

DROP user 用户名 CASCAED

--CASCAED表示删除用户的同时删除其建立的实体

操作授权:

案例:将查询scott用户的stu表的权限授予test用户

           Grant select on scott.stu to test

 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信