1.oracle数据库的安装
service
listener
使用oracle自带的客户端工具 sqlplus(前提是:在path中添加F:\work-software\app\oracle\product\11.2.0\server\bin)
win+R键 打开运行窗口
提示要求输入用户名和密码
sys和密码 不能直接登入数据库
system和密码 可以直接登入数据库
说明:这种方式只能允许以普通用户身份登陆
如果想以数据库超级管理员身份登录
win+R sqlplus sys/s as sysdba 回车
查看当前用户登陆名称: show user;
4. sys 可以启动和关闭数据库
关闭 shutdown immediate
开启 startup open
system 不可以
5.数据库用户的操作
创建用户: create user sc(用户名) identified by 123(密码);
用户创建后,默认是被锁住的,并且是没有分配任何角色的
解锁:alter user sc account unlock;
为用户分配角色: grant connect to sc;
此时就可以使用sc用户登陆数据库;
conn sc/123;
show user;
grant resource,connect,sysdba to sc //使用sysdba身份给用户sc分配角色
这时就可以在当前sc用户下,进行对象操作
如果需要将某个用户变为 超级管理员
grant sysdba to sc;
crud (create) (read) (update) (delete)
删除用户(将用户所创建的所有对象全部删除)
drop user sc cascade;
普通删除
drop user sc;
从sc用户回收sysdba角色: revoke sysdba from sc;
查询当前用户角色下的所有表名称
select table_name from user_tables;
6.表空间(table space)
是oracle数据库中最大的逻辑结构
从逻辑上说,oracle数据库是由若干个表空间组成的
表空间与数据库的物理结构有着十分密切的关系,他与磁盘上若干个数据文件相对应
从物理上说 数据库的数据被存放在数据文件中
从逻辑说 数据是被存放在表空间中
一个数据文件只能属于一个表空间,一个表空间可以有多个数据文件
oracle数据把方案对象(表\索引\视图\序列)逻辑存储在表空间中
|--表空间1
|--表空间2
|--表空间3
|--数据文件1
|--数据文件2
|--磁盘1
|--数据文件3
|--磁盘2
|--数据文件4
|--磁盘2
创建表空间(临时表)
create temporary tablespace
sc_temp (表空间名)
tempfile 'F:\oracle-xe\sc_temp.dbf' (该路径一定要真实存在)
size 100m (初始大小)
autoextend on (开启自动扩展)
next 10m maxsize 1000m ; (每次扩展的大小和最大空间)
创建表空间文件语句
create tablespace
sc_data
datafile 'F:\oracle-xe\sc_data.dbf'
size 500m
autoextend on
next 20m maxsize 2000m;
创建用户并指定表空间
create user sc identified by 123
default tablespace sc_data
temporary tablespace sc_temp
给该用户解锁
alter user sc account unlock
给用户授权
grant connect,resource to sc
以dba角色查询指定用户的表空间
select user_id,username,default_tablespace from dba_user where username='SC'; (sc大写,单引号)
查询所有表空间的信息
select tablespace_name,status,allocation_type from dba_tablespaces;
删除表空间记录
drop tablespace sc_data
删除表空间及表空间文件
drop tablespace sc_data including contents and datafiles;
drop tablespace sc_temp including contents and datafiles;
修改表空间名称
alter tablespace sc_data rename to new_sc_data;
实体权限有哪些
select updata delete insert alter index all //all包括所有权限
sys创建了一张表 t_test
sys给用户lp 授予select t_test表的权限
grant select on t_test to lp;
conn lp/1; 切换用户
select * from sys.t_test
insert into sys.t_test values('sc'); //操作没有权限,报错
给用户授予这张表所有操作的权限
grant all on t_test to lp;