oracle简介
oracle数据库是一款关系型数据库,是目前最流行的数据库之一,其最新版本12c可轻松部署和管理数据库云,oracle可移植性好,使用方便,功能强大。
完整的oracle数据库由两部分组成:oracle数据库和数据库实例,数据库是一系列物理文件的集合;数据库实例是一组oracle后台进程/线程以及在服务器分配的共享内存区。
启动oracle数据库服务器时,实际上是在服务器的内存中创建一个oracle实例。
数据库实例
数据库实例其实就是用来访问和使用数据库的一块进程,只存在于内存中,类似于java中new出来的对象。
数据库实例名(instance_name)用于远程连接,如:
jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)
用户
1.系统用户:
sys,system 其中sys用户权限高于system
sysman 操作企业管理器
scott oracle创始人之一,默认密码为tiger
2.sqlplus登录
windows下命令行输入
--sqlplus 用户名/密码
sqlplus scott/tiger
3.使用system用户登录
[username/password][@serve][as sysdba|sysoper]
4.查看当前登录用户
show users;
5.启用用户
--解锁用户
Alter user [username] account unlock;--(锁定改为lock)
--更改密码
Alter user [username] identified by [password]
6.Dba_users数据字典
Desc dba_users
Select username from dba_users;--当前oracle数据库中的用户
表空间
1.定义:
在数据库中开辟的用于存储数据库对象的空间,一个数据库可以由多个空间构成。
表空间由一个或多个数据文件构成,数据文件的位置和大小可以由用户定义,我们存储的表,数据库,数据库中的一些其他对象都是存放在表空间的数据文件中的。
2:分类
永久表空间:数据库中永久存储的对象(表,视图,存储过程)
临时表空间:数据库操作中中间执行的过程,执行完毕,其中的内容自动释放
UNDO表空间:保存被修改前的数据
3.查看用户的表空间
Dba_tablespaces,user_tablespaces数据字典
dba针对系统管理员级的用户
user针对普通用户
作为系统管理员登录时对应的表空间 6个
system,存放sys用户的表视图及存储过程的数据库对象,系统信息 –系统表空间
Sysaux 作为example的辅助表空间
Example 安装oracle11g数据库示例来使用的表空间
UNDOTBS1 存储一些撤销信息
Temp 存储sql语句处理的表和索引信息,是一个临时表空间
Users 永久性表空间,存储数据库用户创建的数据库对象,与system相似
每个用户下面都对应一个默认表空间和一个临时表空间,正常情况下只有一个临时表空间Temp。
--查询system用户下的默认表空间及临时表空间
Select default_tablespace,temporary_tablespace from dba_users where username='SYSTEM';
--设置用户的默认或临时表空间
--普通用户没有修改默认表空间的权限
Alter USER username DEFAULT|TEMPORARY TABLESPACE table_space_name
创建表空间
CREATE [TEMPORARY] TABLESPACE tablespace_name TEMPFILE|DATAFILE
‘XX.dbf’ SIZE XX
XX.dbf数据文件的名字
--创建永久表空间
create tablespace test1_tablespace datafile 'test1file.dbf' size 1m;
--创建临时表空间
create temporary tablespace temptest1_tablespace tempfile 'tempfile1.dbf' size 10m;
查看表空间中文件的具体路径
--查看永久表空间
desc dba_data_files
select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE';
--查看临时表空间
select file_name from dba_temp_files where tablespace_name='TEMPTEST1_TABLESPACE';
修改表空间
设置联机或脱机状态
Alter tablespace tablespace_name ONLINE|OFFLINE;
设置完表空间后,默认为联机状态
--设置脱机
Alter tablespace test1_tablespace offline;
查看连接状态
Desc dba_tablespaces;
Select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE';
表空间名称必须大写
设置只读或可读写状态
alter tablespace tablespace_name READ ONLY|READ WRITE
默认状态下表空间为READ WRITE
只有在联机状态时才能设置只读或可读写
Alter tablespace test1_tablespace read only;
Select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE';
修改表空间的数据文件
增加数据文件
Alter tablespace tablespace_name add datafile ‘xx.dbf’ size xx;
alter tablespace test1_tablespace add datafile 'test2_file.dbf' size 2m;
查询数据文件
Select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE';
删除数据文件
Alter tablespace tablespace_name drop datafile ‘filename.dbf’
不能删除表空间中第一个数据文件,(创建时第一个数据文件),如果要删除,需删掉整个表空间
alter tablespace test1_table drop datafile 'test2_file.dbf';
删除表空间
Drop tablespace tablespace_name [including contents]
仅删除表空间不删除数据 drop tablespace tablespace_name
删除数据 including contents
--删除表空间及数据
Drop tablespace test1_tablespace including contents;