推荐一个Oracle入门学习网站:http://www.51zxw.net/study.asp?vip=16229363
点击之后搜索Oracle
第一个就是小姐姐Oracle视频讲解课程
永久表空间
存储数据库中需要永久化存储的对象,比如二维表、视图、存储过程、索引。
临时表空间
存储数据库的中间执行过程,如:保存order by数据库排序,分组时产生的临时数据。操作完成后存储的内容会被自动释放。临时表空间是通用的,所的用户都使用TEMP作为临时表空间。一般只有tmp一个临时表空间,如果还需要别的临时表空间时,可以自己创建。
undo表空间
保存数据修改前的副本。存储事务所修改的旧址,即被修改之前的数据。当我们对一张表中的数据进行修改的同时会对修改之前的信息进行保存,为了对数据执行回滚、恢复、撤销的操作。
Oracle在创建数据库与mysql创建数据库的区别
Mysql存在数据库的概念,一个项目对应一个单独的database,为数据库创建独立的用户。
Oracle一个数据库就是一个服务,存在table space概念(表空间),一个项目对应一个单独的表空间,创建一个用户,具有表空间使用的权限。
登录oracle
1、运行SQLPLUS工具
C:\Users\wd-pc>sqlplus
2、直接进入SQLPLUS命令提示符
C:\Users\wd-pc>sqlplus /nolog
3、以OS身份连接
C:\Users\wd-pc>sqlplus / as sysdba 或
SQL>connect / as sysdba
4、普通用户登录
C:\Users\wd-pc>sqlplus scott/123456 或
SQL>connect scott/123456 或
SQL>connect scott/123456@servername
5、以管理员登录
C:\Users\wd-pc>sqlplus sys/123456 as sysdba 或
SQL>connect sys/123456 as sysdba
6、切换用户
SQL>conn hr/123456
注:conn同connect
7、退出
exit
(1)创建表空间
create tablespace test1 datafile 'test1file.dbf' size 10m;
create temporary tablespace temptest1 tempfile 'temptest1.dbf' size 10m;
test1是表空间的名称
test1file.dbf为新创建的表空间数据文件
size 10m 表示表空间的大小
extent management local autoallocate是设置当表空间大小已满时,用自动管理的方式扩展表空间。(以上没有使用到)
还有另一种扩展方式是每次扩展相同的大小,语句为:extent management local uniform size 256K;其中,256k是根据实际需求设置的。(以上没有使用到)
空间已经创建好,现在使用下面语句查询文件位置
select file_name from dba_data_files where tablespace_name = 'TEST1';
(2)创建用户
create user shu identified by spsp201314 default tablespace test1 temporary
shu为用户名
spsp201314为用户密码
default tablespace是默认表空间,这里设置成上面创建的表空间
temporary tablespace是临时表空间
quote设置用户在表空间上占用的空间大小。如果不指定默认表空间,Oracle会将SYSTEM表空间指定为用户的默认表空间;如果没有用quota子句,用户在特定表空间的配额为0,用户不能在该表空间上创建数据对象。(以上没有使用)
创建用户后,当用户分配的空间不够时,可以扩展用户的空间:alter user shu quota 20m on test1;将用户的空间扩展为20m
给用户指定两个表空间,并且可使用大小不限制:alter user userName quota unlimited on tablespace1 quota unlimited on tablespace2;
修改用户密码:alter user testUser identified by 123456;将用户的密码设置为123456。
有时用户会处于锁定状态,解锁用户:alter user testUser account unlock;
为用户设置权限,初始建立的用户没有任何权限,不能执行任何数据库操作,因此必须为用户设置权限或者角色。被赋予了某个角色的用户将拥有该角色所具备的权限,常被用到的系统预定义角色:CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE。其中,CONNECT、RESOURCE、DBA主要用于数据库管理,数据库管理员需要被授予这三个角色。一般的数据库开发人员,需要被授予CONNECT、RESOURCE角色即可。EXP_FULL_DATABASE、IMP_FULL_DATABASE角色分别用于操作数据库导出、导入相关的操作。为用户授予角色: