Oracle数据库应用

Oracle数据库应用

表空间

​ Oracle数据库包含逻辑结构和物理结构.数据库的物理结构是指构成数据库的一组操作系统文件.数据库的逻辑结构是指描述数据组织方式的一组逻辑概念及他们之间的关系.表空间是数据库逻辑结构的一个重要组件.表空间可以存放各种应用对象,如表,索引.而每个表空间由一个或多个数据文件组成.

表空间的分类
类别举例说明
永久性表空间SYSTEM,USERS一般保存表,视图,过程和索引等数据
临时性表空间TEMP只用于保存系统中短期活动的数据,如排序数据等
撤销表空间UNDOTBS1用来帮助回退未提交的事务数据,已提交了的数据在这里是不可恢复的.一般不需要
建临时和撤销表空间,除非把他们转移到其他磁盘中以提高性能
表空间的目的

​ 使用表空间的目的为:

​ (1)对不同用户分配不同的表空间,对不同的模式对象分配不同的表空间,方便对用户数据的操作,对模式对象的管理.

​ (2)可以将不同数据文件创建到不同的磁盘中,有利于管理磁盘空间,有利于提高I/O性能,有利于备份和恢复数据等.

SQL Plus命令
show user	/*查看当前用户*/
CONNECT "用户名"/"密码"	/*切换用户*/
desc aba_tablespaces	/*查看表结构*/

/*dba_tablespaces 里面存放着oracle里面的所有表空间当前表只能管理员权限才能查看*/
select tablespace_name from dba_tablespaces; /*查看当前有那些表空间*/

/*TEMP 临时表空间  UNDOTBS1 撤销表空间*/
/*dba_users 所有的用户都在里面*/

select username,default_tablespace from dba_users where username = 'SYSTEM'; /*查询用户默认表空间,用户名一定要大写,否则查询不出来*/
alter user (用户名)SYSTEM default tablespace (表空间名)USERS; /*修改用户默认表空间*/
create tablespace tp_test1 datafile 'tp_test1.dbf' size 10M; /*创建表空间(永久性的) datafile是表空间对应的文件可以指定目录,如果不指定目录默认在Oracle按照目录下创建,size 指这个文件的大小*/
select file_name , tablespace_name from dba_data_files where tablespace_name = 'TP_TEST1';/*查看表空间的位置*/
dba_data_files;/*表空间的管理表,在这里可以查看表空间的位置,大小,状态*/
alter database DATAFILE 'TP_TEST1.dbf' resize 20M;/*更改数据文件的大小*/
alter tablespace TP_TEST1 add DATAFILE 'TP_TESTSUN' size 5M;/*添加数据文件*/
drop tablespace TP_TEST1;/*删除表空间*/
drop tablespace TP_TEST1 including contents and datafiles;/*删除表空间及数据文件*/
CREATE USER (C##用户名)C##U_HR IDENTIFIED BY (密码)root DEFAULT (用户指定的表空间)TABLESPACE tp_hr TEMPORARY (临时表空间,用Oracle自带的就可以)TABLESPACE temp PASSWORD EXPIRE;/*创建用户*/
GRANT (授予的权限)CONNECT TO (被授权的用户)C##U_HR;/*在创建新用户后,用户是无法登入的,需要进行授权*/
/*connect和resource必须要授权 针对开发人员*/
/*CONNECT 创建会话的权限*/
drop user C##U_HR;/*删除用户*/
revoke (权限名)resource from (用户名)C##U_HR;/*撤销用户的权限*/
select * from session_privs;/*查看当前用户的权限*/
             
create sequence seql start with 8 increment by 1 maxvalue 1000 nocycle cache 10;/*创建序列*/
drop sequence seq1;/*删除序列*/
select sequence_name from user_sequences;/*查看当前用户已经创建好的序列*/
序列名.NEXTVAL  下一个序列号         
alter sequence seq1 maxvalue 10000;/*修改序列*/    
select sys_guid() from dual;/*生成一个类似于UID的东西*/
grant unlimited tablespace to C##A_oe;/*对表空间操作无权限时需要授予这个权限*/
             
GRANT CREATE SYNONYM TO C##U_HR;/*授权用户创建同义词*/
create synonym (同义词的名字)sy_dept for (同义词要代替的表名)C##ADMIN.dept;/*创建私有同义词*//*进入到指定用户下面 在以后的操作过程中使用同义词即可操作相关的表*/
GRANT CREATE PUBLIC SYNONYM TO C##U_HR(用户);/*授权用户创建公共同义词*/
create public synonym public_sy_toys for toys;/*创建公共同义词*/
grant select on public_sy_toys to public;/*创建完共有同义词后需要进行同义词授权,否则其他用户无法正常访问  面向全局开发公有同义词查看权限*/
drop public synonym (要删除的同义词的名字)public_sy_toys;/*删除公共同义词*/
             
create unique index (索引名称)index_unique_toyname on (添加索引的表(字段名))toys(TOYNAME);/*创建唯一索引*/
create index [索引名称] on [添加索引的表]([字段名]);/*创建普通索引*/         
drop index index_reverse_toyid;/*删除索引*/         
drop index index_reverse_toyid;/*创建反向键索引*/
alter index index_reverse_toyid rebuild noreverse;/*将反向索引更改为正常的B树索引*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值