初学oracle 学习笔记

1.表空间是什么
       表空间是ORACLE数据库中最大的逻辑结构, oracle数据库是由一个或多个表空间组成。

2. 表空间管理方式分别为哪两种?有什么区别?
    表空间的管理方式有两种
    1.字典管理表空间
    2.本地管理表空间
     
字典管理表空间概述
   
   
本地管理表空间概述
 
3.段是什么?段管理方式有几种?
    段(segment)是由一组数据扩展(extent)构成,其中存储了表空间内各种逻辑存储结构的数据
     
 4.什么是数据文件.数据文件和表空间什么关系,单个数据文件最大为多大
         数据文件是用来储存数据的物理结构
       数据文件是构成表空间的基础文件, 单个数据文件只能属于一个表空间或一个数据库 
      
          普通表空间的 数据文件 :4M*block_size    
        bigfile表空间的 数据文件 4G*block_size

5.怎么增加表空间的大小、
        
       增加表空间的大小方法有两种
       1更改数据文件的大小(自动或者手动)

       2 向表空间添加数据文件
 
向表空间添加数据文件并设置为自动拓展的 sql语法为
     
alter tablespace 表空间名 add datafile '路径文件' size 20m autoextend on next 10m maxsize 100m;
          
         更改数据文件大小的sql语法为
    
alter database datafile '/oracle/oradata/ora10lgy/lgy_data_01.dbf' resize 60m;


6.表空间online(在线)和offline(离线)的意义是什么?怎么操作? 数据文件可以在线和离线操作么?和表空间的在线离线有什么区别?
      
     使表空间脱机 alter tablespace lgy_data offline;
     使表空间联机 alter tablespace lgy_data online;
    
表空间(tablespace)通常处于联机(online)状态,以便数据库用户访问其中的数据。
当表空间脱机时,表空间里所有的数据文件将自动脱机;当表空间联机时,数据文件自动联机,无需介质恢复    数据文件脱机,但再联机时需要介质恢复


7.临时表空间是什么?主要作用是什么?怎么创建临时表空间?怎么扩大临时表空间?怎么更换数据库的默认临时表空间?
  
     在Oracle数据库中进行排序、分组汇总、索引等到作时,会产生很多的临时数据。如有一张员工信息表,数据库中是安装记录建立的时间来保存的。 如果用户查询时,使用Order BY排序语句指定按员工编号来排序,那么排序后产生的所有记录就是临时数据。对于这些临时数据,Oracle数据库是如何处理的呢?通常情况下,Oracle数据库会先将这些临时数据存放到内存的PGA(程序全局区)内。在这个程序全局区中有一个叫做排序区的地方,专门用来存放这些因为排序操作而产生的临时数据。但是这个分区的容量是有限的。当这个分区的大小不足以容纳排序后所产生的记录时,数据库系统就会将临时数据存放到临时表空间中。这就是临时表空间的来历。看起来好像这个临时表空间是个临时工,对于数据库的影响不会有多大。 其实大家这是误解这个临时表空间了。在用户进行数据库操作时,排序、分组汇总、索引这些作业是少不了,其会产生大量的临时数据。为此基本上每个数据库都需要用到临时表空间。而如果这个临时表空间设置不当的话,则会给数据库性能带来很大的负面影响
        
临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长   临时表空间的主要作用:
索引create或rebuild
Order by 或 group by
Distinct 操作
Union 或 intersect 或 minus
Sort-merge joins
analyze

       创建临时表空间的语法 
           create temporary tablespace TEMP1 TEMPFILE '/oracle/oradata/ora10lgy/TEMP1_01.dbf' size 100M;
       扩大临时表空间有三种方法
       1.增加临时文件大小 sql语法   alter database tempfile '/oracle/oradata/ora10lgy/TEMP1_01.dbf' resize 100m;
         2. 将临时数据文件设为自动扩展
             alter database tempfile '/oracle/oradata/ora10lgy/temp01.dbf' autoextend on next 5m maxsize unlimited;
      3. 向临时表空间中添加数据文件
             alter tablespace temp add tempfile '/oracle/oradata/ora10lgy/temp02.dbf' size 100m;     
      查询默认临时表空间
    select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
   --修改默认临时表空间
      alter database default temporary tablespace TEMP1;
     修改用户默认的临时表空间
      alter user hr temporary tablespace temp1;


8.如何查看表空间的使用率?涉及到的数据字典表有哪些?

  查看表空间的使用率 sql语句  
select total.tablespace_name,round(total.MB,2) as Total_MB,round(total.MB-free.MB, 2) as Used_MB,round((1-free.MB/total.MB)*100, 2) as Used_Pct from (select tablespace_name, sum(bytes)/1024/1024 as MB from dba_free_space group by tablespace_name) free,(select tablespace_name, sum(bytes)/1024/1024 as MB from dba_data_files group by tablespace_name) total where free.tablespace_name=total.tablespace_name;
    



9.如何查看临时表空间的使用率?
 
    临时表空间使用率sql语句 
SELECT a.tablespace_name, a.BYTES total, a.bytes - nvl(b.bytes, 0) free  FROM (SELECT   tablespace_name, SUM (bytes) bytes FROM dba_temp_files GROUP BY tablespace_name) a,  (SELECT tablespace_name, SUM (bytes_cached) bytes FROM v$temp_extent_pool GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name(+);


10 如何查看当前数据库有多少数据文件。 如何查看数据文件对应的表空间有哪些?
   
   查看当前数据库有多少数据文件 sql语法 select * from v$datafile;
   查看数据文件对应的表空间 sql语法 select t1.name, t2.name from v$tablespace t1, v$datafile t2 where t1.ts# = t2.ts#;



创建回退段
create rollback segment  rbs02 tablespace rbs storage ( initial 100k next 100k minextents 20 maxextents 100 optimal 2000k );

使回退段联机
alter rollback segment rbs01 online;
alter rollback segment rollback_segment online;



更改回退段储存设置
alter rollback segment rbs02 storage (maxextents 300 );


                      Sql常用命令

使用system账号以sysdba的身份连接

SQL>  connect system/tukeping as sysdba

查看当前用户

SQL>  show user

新建用户

SQL>  create user tkp1 identified by tkp1;

用户解锁并修改密码

Alter user hr identified by hr account unlock;


授权

SQL>  grant connect,resource to tkp1;

退出sqlplus

SQL>  quit

tkp1用进入到sqlplus

c:\>  sqlplus tkp1/tkp1

查看所有用户

SQL> select * from all_users;

退出

SQL>  quit

sysdba身份进入删除tkp1用户

c:\> sqlplus system/tukeping

SQL> drop user tkp1 cascade;

创建表空间

SQL> create tablespace test1 datafile 'd:\oracle\tablespace\tabletest1.dbf' size 50M;

创建名为tkp1的用户,其缺省表空间为test1

SQL> create user tkp1 identified by tkp1 default tablespace test1;

查看系统能给的所有权限

SQL>select name from sys.system_privilege_map;

查看当前连接用户的所有权限

SQL> select * from user_sys_privs;

移除tkp1sysdba权限

SQL> revoke sysdba from tkp1;

SQL>commit;

关闭oracle数据库

SQL>shutdown immediate;

开启oracle数据库

SQL>startup


查看数据库的利用率

select total.tablespace_name,round(total.MB,2) as Total_MB,round(total.MB-free.MB, 2) as Used_MB,round((1-free.MB/total.MB)*100, 2) as Used_Pct from (select tablespace_name, sum(bytes)/1024/1024 as MB from dba_free_space group by tablespace_name) free,(select tablespace_name, sum(bytes)/1024/1024 as MB from dba_data_files group by tablespace_name) total where free.tablespace_name=total.tablespace_name

 

扩展undo表空间

确定undo表空间的名字

select name from v$tablespace;

检查文件存放位置

select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS1';

 

扩展UNTOTBS命令

查找文件select file#,name from v$datafile;

Alter database datafile ‘路径文件和目录'(注使用查找后的序号例如也可以) resize 300m;

设置本地管理 
EXTENT MANAGEMENT LOCAL
开启自动扩展功能语法:
alter database datafile '
对应的数据文件路径信息' autoextend on;
关闭自动扩展功能语法:
alter database datafile '
对应的数据文件路径信息
autoextend off;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29638498/viewspace-1155296/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29638498/viewspace-1155296/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值