一、oracle表空间谁创建?
先要创建实例,然后用实例的管理员用户创建表空间
二、oracle如何替换表空间?
方法/步骤一、环境准备操作前把数据库用到的所有服务停止二、修改表空间名称1、 使用oracle用户登录执行 $sqlplus / as sysdba2、 执行修改表空间命令如下 SQL> alter tablespace TEST rename to TEST1; 注:可连续对多个表空间进行重命名4、 确认表空间名已经修改 SQL>select name from v$tablespace; SQL>exit3三、启动数据相关应用应用管理员启动数据库相关的应用
三、oracle表空间最小是多少?
能扩大,最大很大。个人认为最小1G左右比较合适,不过就什么都不要往里面放了,反正现在硬盘也大的很,1G也不在意。
四、如何清除oracle temp表空间?
方法一:重启库
库重启时,Smon进程会完成临时段释放,TEMP表空间的清理操作,不过很多的时侯我们的库是不允许down的,所以这种方法缺少了一点的应用机会,不过这种方法还是很好用的。
方法二:Metalink给出的一个方法
修改一下TEMP表空间的storage参数,让Smon进程观注一下临时段,从而达到清理和TEMP表空间的目的。
SQL>alter tablespace temp increase 1;
SQL>alter tablespace temp increase 0
五、oracle如何创建默认表空间?
按照你的描述可以用range分区'alter table 表名 add partition 分区名字 values less than 值 tablespace 表空间;' 例子:alter table test1 add partition P20160501 values less than (to_date('20160601','yyyymmdd')) tablespace S2;------这样就可以加入5月份的分区
六、oracle默认表空间是什么?
所谓的默认表空间就是你这个用户在CREATE时不特别指定表空间的位置时,存储的位置。
七、ORACLE如何修改表所在的表空间?
1、在SYSTEM或SYS用户下运行2、脚本要求输入准备转移表空间的用户和表空间名称3、通过DBA_TABLES找出源用户的所有表forcin(selecttable_namefromdba_tableswhereowner='用户')loopEXECUTEIMMIEDIATE'ALTERTABLE'||C.TABLE_NAME||'movetablepsace'||表空间名称'--重建该表的所有索引forc1in(selectindex_namefromdba_indexeswheretable_name=c.table_name)loopalterindexc1.index_namerebuildtablespace表空间名称endloop;endloop这是大概的思路,试一试看
八、oracle表空间大小有啥用?
SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。
典型应用一:控制用户所占用的表空间配额。
在一些大型的数据库应用中,我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在文件服务器中,需要为每个用户设置磁盘配额一样,以防止硬盘空间耗竭。所以,在数据库中,我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的,我们就可以通过表空间来实现。
我们可以在Oracle数据库中,建立不同的表空间,为其设置最大的存储容量,然后把用户归属于这个表空间。如此的话,这个用户的存储容量,就受到这个表空间大小的限制。
典型应用二:控制数据库所占用的磁盘空间。
有时候,在Oracle数据库服务器中,可能运行的不止一个服务。除了数据库服务器外,可能还有邮件服务器等应用系统服务器。为此,就需要先对Oracle数据库的磁盘空间作个规划,否则,当多个应用程序服务所占用的磁盘空间都无限增加时,最后可能导致各个服务都因为硬盘空间的耗竭而停止。所以,在同一台服务器上使用多个应用程序服务,我们往往需要先给他们进行磁盘空间的规划和分配。各个服务都不能够超过我们分配给他的最大限额,或者超过后及时的提醒我们。只有这样,才能够避免因为磁盘空间的耗竭而导致各种应用服务的崩溃。
典型应用三:灵活放置表空间,提高数据库的输入输出性能。
数据库管理员还可以将不同类型的数据放置到不同的表空间中,这样可以明显提高数据库输入输出性能,有利于数据的备份与恢复等管理工作。因为我们数据库管理员在备份或者恢复数据的时候,可以按表空间来备份数据。如在设计一个大型的分销系统后台数据库的时候,我们可以按省份建立表空间。与浙江省相关的数据文件放置在浙江省的表空间中,北京发生业务记录,则记录在北京这个表空间中。如此,当浙江省的业务数据出现错误的时候,则直接还原浙江省的表空间即可。很明显,这样设计,当某个表空间中的数据出现错误需要恢复的时候,可以避免对其他表空间的影响。
另外,还可以对表空间进行独立备份。当数据库容量比较大的时候,若一下子对整个数据库进行备份,显然会占用比较多的时间。虽然说Oracle数据库支持热备份,但是在备份期间,会占用比较多的系统资源,从而造成数据库性能的下降。为此,当数据库容量比较大的时候,我们就需要进行设置多个表空间,然后规划各个表空间的备份时间,从而可以提高整个数据库的备份效率,降低备份对于数据库正常运行的影响。
典型应用四:大表的排序操作。
我们都知道,当表中的记录比较多的时候,对他们进行查询,速度会比较慢。第一次查询成功后,若再对其进行第二次重新排序,仍然需要这么多的时间。为此,我们在数据库设计的时候,针对这种容量比较大的表对象,往往把它放在一个独立的表空间,以提高数据库的性能。
典型应用五:日志文件与数据文件分开放,提高数据库安全性。
默认情况下,日志文件与数据文件存放在同一表空间。但是,这对于数据库安全方面来说,不是很好。所以,我们在数据库设计的过程中,往往喜欢把日志文件,特别是重做日志文件,放在一个独立的表空间中,然后把它存放在另外一块硬盘上。如此的话,当存放数据文件的硬盘出现故障时,能够马上通过存放在另一个表空间的重做日志文件,对数据库进行修复,以减少企业因为数据丢失所带来的损失。
当然,表空间的优势还不仅仅这些,企业对于数据库的性能要求越高,或者数据库容量越大,则表空间的优势就会越大。
下面,我们就具体来看看Oracle数据库中表空间的处理方式,看其在性能与安全性方面是否有足够的优势与SQL Server数据库抗衡。
在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。
第一步:建立表空间。
在设计数据库的时候,首先需要设计表空间。我们需要考虑,是只建立一个表空间呢,还是需要建立多个表空间,以及各个表空间的存放位置、磁盘限额等等。
到底设计多少个表空间合理,没有统一的说法,这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企业的数据容量比较大,而其又对数据库的性能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出性能。
第二步:建立用户,并制定用户的默认表空间。
在建立用户的时候,我们建议数据库管理员要指定用户的默认表空间。因为我们在利用CREATE语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,显然,这并不是很合理。
另外要注意,不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配置表空间的访问权限,也是提高数据库安全性的一个方法。
九、Oracle回收表空间的几个方法?
回收表空间有以下几个方法:
1. drop and recreate
2.truncate and restore with backup
3. alter table move tablespace;alter index XXX rebuild ...
4. exp/imp
5 alter table XXX deallocate ...
回收某个表使用空间的步骤:
(1)、选择某个表空间中超过N个blocks的segments,通过此语句可以看出那个表占用的空间大。
select segment_name,segment_type,blocks from dba_segments
where tablespace_name='TABLESPACENAME'
and blocks > N
order by blocks;
(2)、分析表,得知表的一些信息
analyze table TABLENAME estimate statistics; 执行完后再执行
select initial_extent,next_extent,min_extents,blocks,empty_blocks from dba_tables
where table_name='TEST' and wner='AA';
(3)、使用alter table ... deallocate unused 命令回收表的空间
例如: alter table AA.TEST deallocate unused keep 1k;
(4)、使用 alter tablespace TABLESPACENAME coalesce 命令回收表空间的空间。
(5)、可以使用dba_free_space视图查看表空间中的空闲空间信息。
十、oracle怎样创建表空间和用户?
oracle创建表空间操作方法如下:
1.开启oracle服务,打开plsql工具,使用管理员账户登录。
2.点左上角的新建SQL窗口。
3.创建表空间。在sql窗口中输入create tablespace test datafile 'D:\test.ora' size 1000m;这里的test为表空间名称,路径自己来命名。然后点执行按钮。
4.执行成功后,继续创建用户。输入create user test identified by test default tablespace test quota 500m on users;这里第一个test为用户名,第二个test为密码,第三个test为表空间名。然后执行。
5.成功创建用户后,进行授权。输入grant all privileges to test;执行该语句给test用户授权,此时test用户就可以登录了。
6.接下来使用test用户登录,就可以建表了。