欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle数据库(数据字典、表空间、表的创建、视图)

程序员文章站 2022-06-02 08:21:47
...

知识点引用:

http://www.2cto.com/database/201207/142874.html
http://blog.csdn.net/haiross/article/details/11772847

知识点一. 彻底卸载Oracle

方式1、重装操作系统

方式2、

2.1 DBCA删除数据库
   开始 → 程序 → Oracle → 开发与移植工具 → Database Configuration Assistant → 下一步 → 删除数据库(系统会同时删除OracleService+SID)

2.2 Oracle Universal Installer 删除Oracle一部分组件
   开始 → 程序 → Oracle →  Oracle Installation Products → Universal Installer → 卸载产品

2.3 手动删除Oracle的其他组件
    2.3.1 Oracle注册表
       运行 → regedit → 搜索(ctrl + F) → 删除以以下单词开头的文件inst_loc、ora、oracle、orcl、enumora
    2.3.2 环境变量
       path、classpath、oracle_home、oracle_sid、tns_admin等
    2.3.3 重启操作系统
    2.3.4 删除安装目录
       inst_loc 所在位置
       C:\Users\user\AppData\Local\Temp
    2.3.5 删除启动菜单

知识点二. 数据字典(Data Dactionary)

存放于system表空间,Oracle数据库的核心组成部分,主要作用是存放数据库相关的信息,存储的信息主要包括:用户信息、表空间、数据文件信息、数据库对象(表、视图、序列、存储过程等)、权限、角色信息、完整性约束信息、以及其他与数据库相关的信息。数据字典的组成部分主要有一些表和一些视图,创建数据库是Oracle会自动创建。

其中表是真正存放数据的地方。数据以加密的形式存在,数据不需要用户维护,用户也无权操作,由Oracle自己维护。

视图是在表的基础上创建的,数据来源于表,加工处理后形成自己的数据。当表中的数据信息发生改变时,视图数据会自动发生改变。下面列举一些常用的视图:

视图的名称规律如下:
    user_xxx 当前用户可以访问,当前用户相关的数据
    dba_xxx 只有dba用户可以访问,所有用户相关的数据
    all_xxx 有权限访问的用户可以访问,有权限访问的用户相关的数据

常用的视图
     user_tables 当前用户的表信息
     dba_tables 所有用户的表信息
     user_sys_privs 当前用户的系统权限
     user_role_privs 当前用户的角色
     role_sys_privs 角色权限信息
     dictionary | dict 提供了数据字典中所有视图的描述
     dba_sys_privs 所有用户的系统权限
     dba_role_privs 所有用户的角色
     user_users 当前用户的信息
     dba_users 所有用户的信息

oracle中,创建视图的基本方式是:
    create or replace view  视图名称  as  + 查询语句

用sql语句查看oracle视图创建语句:

    1.查看所有视图的名字
    select view_name from all_views; 或者select view_name from user_views;

    2.查看某视图名为“某某视图”的创建语句
    select text from all_views where view_name = '某某视图';

对象本身的信息都是存放在数据字典中,表的结构信息是放在数据字典中的,表的数据放在默认或指定的表空间下的数据文件中。

附录一:Oracle语句练习
  • 1
Oracle数据库(数据字典、表空间、表的创建、视图)
  • 1

知识点三、表空间(tablespace)代码实例详见附录二

数据库指的就是一些文件,文件在硬盘上,一个数据库由若干个表空间组成,一个表空间由若干个数据文件组成,一个数据文件由若干个分区组成。其中分区(extend)为逻辑结构,人为虚构的,一个分区是数据我文件中一段连续的存储空间。数据文件(datafiles)是数据的物理载体,后缀名为.dbf,数据库中的所有数据都存放在数据文件中,数据文件不可以过大,过大会影响数据的存取性能。

表空间是逻辑结构,并不是物理分割成的,数据库创建的时候,自动创建:
系统表空间system:数据字典使用的就是该表空间
零食表空间temp:主要用于排序

创建自定义表空间
    create tablespace 表空间名 datafile 'D://myfile.dbf(数据文件路径)' size xM(文件大小),… extent management local uniform size yM(容量大小);
    datafile 用于指定创建的表空间下的数据文件
    extent manager local 用于指定表空间的管理为本地管理,要求分区,大小一致
    uniform 用于指定分区的统一大小

查找某张表使用的表空间
   select tablespace_name from user_tables where table_name = '表名';
   select tablespace_name from dba_tables where table_name = '表名';

查找默认表空间'USERS'有哪些文件
   select file_name from dba_data_files where tablespace_name = 'USERS';

查找用户的默认表空间
   select default_tablespace from user_users; 当前用户
   select default_tablespace from dba_users; 所有dba用户

扩充表空间
   alter tablespace 表空间名 add datafile '数据文件路径' size xxM(大小);

创建用户的时指定表空间
   create user username identified by password [account lock | unlock][password expire(设置密码过期)][default tablespace 表空间名];
default tablespace 表空间名:该用户创建的所有对象的数据都将存放在该表空间下
表空间中的文件
   *.dbf DatabaseFile :数据文件 
   *.ctl Control :控制文件
   *.log :重做日志文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
Oracle数据库(数据字典、表空间、表的创建、视图)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

知识点四、SQL(Structured Query Language)

SQL(Structured Query Language)即结构化查询语句,应用程序与数据库交互的接口,集数据操作、数据定义、数据控制等功能于一体,ANSI先后制定推出了SQL-89、SQL-92、SQL-99标准。
Oracle SQL 语句主要分为一下四类:
DML(Data Mannipulation Language)数据操纵语言:查询、操纵数据表资料行

      SELECT : 检索数据库表或视图数据 

      INSERT :  将数据行新增至数据库表或视图中

      UPDATE : 修改表或视图中现有的数据行

      DELETE : 删除表或视图中现有的数据行

注意:DML语句不会自动提交事务!

DDL(Data Definition Language)数据定义语言:建立、修改、删除数据库中数据表对象

     CREATE TABLE : 创建表 

     ALTER TABLE : 修改表

     DROP TABLE : 删除表

注意:DLL语句会自动提交事务!所以:DML语句事务提交之前可以回滚,DDL语句不能回滚事务

DCL(Data Control Language)数据控制语言:用于执行权限授予与收回操作

    GRANT : 给用户或角色授予权限

    REVOKE : 收回用户或角色的所有权限

TCL(Transactional Control Language)事物控制语言:维护数据的一致性

   COMMIT :提交已经进行的数据库改变

   ROLLBACK : 回滚已经进行的数据改变

   SAVEPOINT : 设置保存点,用于部分数据改变的取消
  其中SQL关键字不区分大小写,对象名与列名不区分大小写,字符串值区分大小写,即''里面的内容区分大小写

  注意:数据字典自动将数据转换成大写

  SQL语句运行的过程:
      客户端把SQL语句发送到服务端,服务器对SQL进行编译,执行,服务器把执行结果再发挥给客户端


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
Oracle数据库(数据字典、表空间、表的创建、视图)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

知识点五、表的创建

Oracle数据库中创建表语句(Create table)语法详解及示例详见:http://blog.csdn.net/haiross/article/details/11772847

1、创建表基本语法:
create table 表名(列定义列表) [tablespace 表空间名];
列表定义: 至少要有一列定义(列名 类型)

创建表:
CREATE TABLE DEPT(
EPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
DNAME VARCHAR2(14),
LOC VARCHAR2(13)) ;
CREATE TABLE region(
ID number(2) NOT NULL PRIMARY KEY,
postcode number(6) default '0' NOT NULL,
areaname varchar2(30) default ' ' NOT NULL);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
Oracle数据库(数据字典、表空间、表的创建、视图)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2、创建表时的命名规则和注意事项

    1)表名和字段名的命名规则:必须以字母开头,可以含符号A-Z,a-z,0-9,_,$,#
    2)大小写不区分
    3)不用SQL里的保留字, 一定要用时可用双引号把字符串括起来.
    4)用和实体或属性相关的英文符号长度有一定的限制
    注意事项:
    1)建表时可以用中文的字段名, 但最好还是用英文的字段名
    2)创建表时要把较小的不为空的字段放在前面, 可能为空的字段放在后面
    3)建表时如果有唯一关键字或者唯一的约束条件,建表时自动建了索引
    4)一个表的最多字段个数也是有限制的,254个.

3、Oracle常用的字段类型

ORACLE常用的字段类型:

    VARCHAR2 (size) 可变长度的字符串, 必须规定长度

    CHAR(size) 固定长度的字符串, 不规定长度默认值为1

    NUMBER(p,s) 数字型p是位数总长度, s是小数的长度, 可存负数最长38位. 不够位时会四舍五入.

    DATE 日期和时间类型

    LOB 超长字符, 最大可达4G

    CLOB 超长文本字符串

    BLOB 超长二进制字符串

    BFILE 超长二进制字符串, 保存在数据库外的文件里是只读的.

    数字字段类型位数及其四舍五入的结果

    数字字段类型位数 存储的值

 Oracle内置类型

      varchar2 长度可变的字符串,且使用时必须指定长度varchar2(n),长度单位为字节,最大长度为4000字节;

      char 固定长度的字符串,默认长度为1,单位:字节,最大长度2000字节;

      number 数值类型,既可以表示整数,也可以表示浮点数,
         number(p,s):
         p表示整个数值的长度,不包含小数点
         s表示小数占的长度
         注意:
            没有指定小数的长度,插入的数据如果带小数,则小数位四舍五入
            如果小数长度不足以保存插入的数据,在精度允许的下一位开始四舍五入
            如果指定的小数长度是负数,则表示整数,整数长度为p-s

      date 时间和日期数据:
         select to_char(列名,'yy-mm-dd hh24:mi:ss') from 表名
         timestamp 时间和日期数据,包含了上下午标识,6位的微秒,时区

附录一:

一、 Oracle常用数据字典表

1、 查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users; 
2、 查看当前用户的角色
SQL>select * from user_role_privs;
3、 查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
4、 查看用户下所有的表
SQL>select * from user_tables;
5、 查看用户下所有的表的列属性
SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name;
6、 显示用户信息(所属表空间)
select default_tablespace, temporary_tablespace
  from dba_users  www.2cto.com  
 where username = 'GAME';
7、 显示当前会话所具有的权限
SQL>select * from session_privs;
8、 显示指定用户所具有的系统权限
SQL>select * from dba_sys_privs where grantee='GAME';
9、 显示特权用户
select * from v$pwfile_users;
10、 显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace 
from dba_users where username='GAME';
11、 显示用户的PROFILE
select profile from dba_users where username='GAME'; 

二、表

1、 查看用户下所有的表
SQL>select * from user_tables;
2、 查看名称包含log字符的表
SQL>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;
3、 查看某表的创建时间
SQL>select object_name,created from user_objects where object_name=upper('&table_name');
4、 查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');
5、 查看放在Oracle的内存区里的表
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0; 

三、索引

1、 查看索引个数和类别
SQL>select index_name,index_type,table_name from user_indexes order by table_name;
2、 查看索引被索引的字段
SQL>select * from user_ind_columns where index_name=upper('&index_name');
3、 查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');

四、***

1、 查看***,last_number是当前值
SQL>select * from user_sequences;

五、视图

1、 查看视图的名称
SQL>select view_name from user_views;
2、 查看创建视图的select语句
SQL>set view_name,text_length from user_views;
SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小
SQL>select text from user_views where view_name=upper('&view_name'); 

六、同义词

1、 查看同义词的名称
SQL>select * from user_synonyms; 

七、约束条件

1、 查看某表的约束条件
    SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
    from user_constraints where table_name = upper('&table_name');
    SQL>select c.constraint_name,c.constraint_type,cc.column_name
    from user_constraints c,user_cons_columns cc
    where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
    and c.owner = cc.owner and c.constraint_name = cc.constraint_name
    order by cc.position;

八、存储函数和过程

1、 查看函数和过程的状态
SQL>select object_name,status from user_objects where object_type='FUNCTION';
SQL>select object_name,status from user_objects where object_type='PROCEDURE';
2、 查看函数和过程的源代码
SQL>select text from all_source where owner=user and name=upper('&plsql_name'); 

九、常用的数据字典

dba_data_files:通常用来查询关于数据库文件的信息
dba_db_links:包括数据库中的所有数据库链路,也就是databaselinks。
dba_extents:数据库中所有分区的信息
dba_free_space:所有表空间中的*分区
dba_indexs:关于数据库中所有索引的描述
dba_ind_columns:在所有表及聚集上压缩索引的列
dba_objects:数据库中所有的对象
dba_rollback_segs:回滚段的描述
dba_segments:所有数据库段分段的存储空间
dba_synonyms:关于同义词的信息查询
dba_tables:数据库中所有数据表的描述
dba_tabespaces:关于表空间的信息
dba_tab_columns:所有表描述、视图以及聚集的列
dba_tab_grants/privs:对象所授予的权限
dba_ts_quotas:所有用户表空间限额
dba_users:关于数据的所有用户的信息
dba_views:数据库中所有视图的文本

十、常用的动态性能视图

v$datafile:数据库使用的数据文件信息
v$librarycache:共享池中SQL语句的管理信息
v$lock:通过访问数据库会话,设置对象锁的所有信息
v$log:从控制文件中提取有关重做日志组的信息
v$logfile有关实例重置日志组文件名及其位置的信息
v$parameter:初始化参数文件中所有项的值
v$process:当前进程的信息  www.2cto.com  
v$rollname:回滚段信息
v$rollstat:联机回滚段统计信息
v$rowcache:内存中数据字典活动/性能信息
v$session:有关会话的信息
v$sesstat:在v$session中报告当前会话的统计信息
v$sqlarea:共享池中使用当前光标的统计信息,光标是一块内存区域,有Oracle处理SQL语句时打开。
v$statname:在v$sesstat中报告各个统计的含义
v$sysstat:基于当前操作会话进行的系统统计
v$waitstat:出现一个以上会话访问数据库的数据时的详细情况。当有一个以上的会话访问同一信息时,可出现等待情况。
总结了一下这些,彻底区别了视图与数据字典,也不那么容易混淆。嘿嘿!!!

十一、常用SQL查询

1、查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;

2、查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

3、查看回滚段名称及大小
select segment_name, tablespace_name, r.status, 
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, 
max_extents, v.curext CurExtent
From dba_rollback_segs r, v$rollstat v
Where r.segment_id = v.usn(+)
order by segment_name;

4、查看控制文件
select name from v$controlfile;

5、查看日志文件
select member from v$logfile;

6、查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name 
from dba_free_space
group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME; 

7、查看数据库库对象
select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;

8、查看数据库的版本 
Select version FROM Product_component_version 
Where SUBSTR(PRODUCT,1,6)='Oracle';

9、查看数据库的创建日期和归档方式
Select Created, Log_Mode, Log_Mode From V$Database; 

10、捕捉运行很久的SQL
column username format a12 
column opname format a16 
column progress format a8 
select username,sid,opname, 
round(sofar*100 / totalwork,0) || '%' as progress, 
time_remaining,sql_text 
from v$session_longops , v$sql 
where time_remaining <> 0 
and sql_address = address 
and sql_hash_value = hash_value 

11、查看数据表的参数信息
SELECT   partition_name, high_value, high_value_length, tablespace_name,
pct_free, pct_used, ini_trans, max_trans, initial_extent,
next_extent, min_extent, max_extent, pct_increase, FREELISTS,
freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks,
empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size,
last_analyzed
FROM dba_tab_partitions
--WHERE table_name = :tname AND table_owner = :towner
ORDER BY partition_position

12、查看还没提交的事务
select * from v$locked_object;
select * from v$transaction; 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
Oracle数据库(数据字典、表空间、表的创建、视图)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205

附录二、


C:\Users\Administrator>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 10月 5 11:23:58 2016

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

请输入用户名:  scott
输入口令:

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> connect sys/root as sysdba;
已连接。
SQL> show user;
USER 为 "SYS"
SQL> select username from dba_users;

USERNAME
------------------------------
MGMT_VIEW
SYS
SYSTEM
DBSNMP
SYSMAN
ZHANGSAN
SCOTT
TEST
TEST_USER
ROBINSON
OUTLN

USERNAME
------------------------------
MDSYS
ORDSYS
EXFSYS
DMSYS
WMSYS
CTXSYS
ANONYMOUS
XDB
ORDPLUGINS
SI_INFORMTN_SCHEMA
OLAPSYS

USERNAME
------------------------------
TSMSYS
BI
PM
MDDATA
IX
SH
DIP
OE
HR

已选择31行。

SQL> --上述是利用dba_users数据字典
SQL> drop user mary cascade;
drop user mary cascade
          *
第 1 行出现错误:
ORA-01918: 用户 'MARY' 不存在


SQL> create user jack identified by jack;

用户已创建。

SQL> frant dba to jack;
SP2-0734: 未知的命令开头 "frant dba ..." - 忽略了剩余的行。
SQL> grant dba to jack;

授权成功。

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
EXAMPLE
FUND

已选择7行。

SQL> select tablespaces_name from user_tablespaces;
select tablespaces_name from user_tablespaces
       *
第 1 行出现错误:
ORA-00904: "TABLESPACES_NAME": 标识符无效


SQL> select tablespace_name from user_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
EXAMPLE
FUND

已选择7行。

SQL> create tablespace test1_tablespace datafile 'test1file.dbf' size 10M;

表空间已创建。

SQL> --上面是创建永久表空间
SQL> --下面是创建临时表空间
SQL> create temporary tablespace temptest1_tablespace tempfile 'tempfile1.dbf' size 10M;

表空间已创建。

SQL> select file_name from dba_dta_files where tablespace_name 'TEST1_TABLESPACE';
select file_name from dba_dta_files where tablespace_name 'TEST1_TABLESPACE'
                                                          *
第 1 行出现错误:
ORA-00920: 无效的关系运算符


SQL> select file_name from dba_data_files where tablespace_name = 'TEST1_TABLESPACE';

FILE_NAME
--------------------------------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\TEST1FILE.DBF

SQL> select file_name from dba_temp_file where tablespace_name = 'TEMPTEST1_TABLESPACE';
select file_name from dba_temp_file where tablespace_name = 'TEMPTEST1_TABLESPACE'
                      *
第 1 行出现错误:
ORA-00942: 表或视图不存在


SQL> select file_name from dba_temp_files where tablespace_name = 'TEMPTEST1_TABLESPACE';

FILE_NAME
--------------------------------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\TEMPFILE1.DBF

SQL> alter tablespace test1_tablespace read only;

表空间已更改。

SQL> select status from dba_tablespaces where tablespace_name = 'TEST1_TABLESPACE';

STATUS
---------
READ ONLY

SQL> alter tablespace test1_tablespace read write;

表空间已更改。

SQL> select status from dba_tablespaces where tablespace_name = 'TEST1_TABLESPACE';

STATUS
---------
ONLINE

SQL> alter tablespace test1_tablespace add datafile 'test2_file.dbf' size 10M;

表空间已更改。

SQL> select file_name from dba_date_files where tablespace_name = 'TEST_TABLESPACE';
select file_name from dba_date_files where tablespace_name = 'TEST_TABLESPACE'
                      *
第 1 行出现错误:
ORA-00942: 表或视图不存在


SQL> select file_name from dba_data_files where tablespace_name = 'TEST1_TABLESPACE';

FILE_NAME
--------------------------------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\TEST1FILE.DBF
E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\TEST2_FILE.DBF

SQL> alter tablespace tablespace_name drop datefile 'test2_file.dbf';
alter tablespace tablespace_name drop datefile 'test2_file.dbf'
                                      *
第 1 行出现错误:
ORA-00905: 缺失关键字


SQL> alter tablespace tablespace_name drop datafile 'test2_file.dbf';
alter tablespace tablespace_name drop datafile 'test2_file.dbf'
*
第 1 行出现错误:
ORA-00959: 表空间 'TABLESPACE_NAME' 不存在


SQL> alter tablespace test1_tablespace drop datafile 'test2_file.dbf';

表空间已更改。

SQL> select file_name from dba_data_files where tablespace_name = 'TEST1_TABLESPACE';

FILE_NAME
--------------------------------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\TEST1FILE.DBF

SQL> drop tablespace test1_tablespace including contents;

表空间已删除。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
Oracle数据库(数据字典、表空间、表的创建、视图)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216