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