一、Oracle学习总结和SQL记录

完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。 


一、数据库:

全局数据库名:就是一个数据库的标识,在安装时就要想好,

以后一般不修改,修改起来也麻烦,因为数据库一旦安装,数据库名就写进了控制文件,数据库表,

很多地方都会用到这个数据库名。

启动数据库:也叫全局数据库,是数据库系统的入口,

它会内置一些高级权限的用户如SYS,SYSTEM等。

我们用这些高级权限账号登陆就可以在数据库实例中创建表空间,用户,表了。

查询当前数据库名:

select name from v$database;


二、数据库实例(数据库至少由一个Oracle实例引用,SID唯一标识)

1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)

2) Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。

在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),

然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。

Oracle有一个很大的内存块,成为全局区(SGA)。


3)我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的。

如果没有,就会得到实例不可用的错误。

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

实例名是由参数instance_name决定的。

查询当前数据库实例名:

select instance_name from v$instance;

数据库实例名(instance_name)用于对外部连接。

在操作系统中要取得与数据库的联系,必须使用数据库实例名。

比如我们作开发,要连接数据库,就得连接数据库实例名:

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

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


三、表空间

Oracle数据库是通过表空间来存储物理表的,

一个数据库实例可以有N个表空间,

一个表空间下可以有N张表。

有了数据库,就可以创建表空间。

表空间(tablespace)是数据库的逻辑划分,

每个数据库至少有一个表空间(称作SYSTEM表空间)。

为了便于管理和提高运行效率,

可以使用一些附加表空间来划分用户和应用程序。

例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。


四、用户

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

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


五、表

有了数据库,表空间和用户,就可以用自定义的用户在自己的表空间创建表了。

有了表,我们可以开发了。


六、自我总结(如果有错误请朋友及时更正。来按照Java的思想思考)

(数据库和数据库实例的关系)

        1.不做集群的情况下:

            Java

        Object instance = new Object();    

        instance.toString();    //==>对象唯一标识

           Oracle

         Object instance( 实例 ) = new(新建)  数据库();

       instance 的 SID     //==>SID唯一标识

        

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

         Object instance1( 实例 ) = new(新建)  数据库();

         Object instance2( 实例 ) = new(新建)  数据库();


(数据库和表空间和实例和用户的关系)

        用户(User)----连接并指定表空间并设置操作权限------>数据库(被实例引用)------通过---->表空间----->存储物理表     ----------> 表空间-----可以有---->多( N )张表

                结论:(每个数据库至少有一个表空间,一个表空间只能属于一个数据库。一个数据库实例可以有N个表空间)

        

七、按照总结来实现Oracle数据库的实现。

 1、创建数据库(在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和 口令,在以两种方式登录时:用户名: sys(超级用户==sysdba) / system(管理员用户 和sys相比区别在于system不能创建表空间)


(假设数据库为Oracle默认的orcl):Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。

为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库。

2、创建表空间

create tablespace 表间名 datafile '数据文件名' size 表空间大小;

create tablespace rky_tablespace datafile 'E:\oracle\product\table_space\rky_data.dbf' size 200M;

3、现在建好了名为'rky_tablespace'的表空间,下面就可以创建用户了:

create user  rky identified by rky default tablespace rky_tablespace;

4、授权给用户

grant connect,resource to rky;  --表示把 connect,resource权限授予rky用户。

grant dba to rky;  --表示把 dba权限授予给rky用户。

5、接下来就可以登录和创建表了。



你可能感兴趣的:(一、Oracle学习总结和SQL记录)