一、 Oracle数据库设置默认表空间问题

DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空间。导致系统表空间迅速被用户数据占满,直至宕机。

在10G中,DBA有办法避免这种问题了——在线指定系统默认表空间:

ALTER DATABASE DEFAULT TABLESPACE ;

通过执行以上命令,可以设定系统的默认表空间。这样的话,在创建新用户时,如果不指定他的默认表空间,就会采用上面指定的系统默认表空间作为这个用的默认表空间。

SQL>conn /as sysdba

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

用户已创建。

SQL> alter database default tablespace ring;

数据库已更改。

SQL> create user test identified by test;

用户已创建。

SQL> select username, default_tablespace defspace from dba_users where

usernae=’TEST’;

USERNAME DEFSPACE

————– —————-

TEST RING

但是要注意的是,一旦将系统默认表空间修改了以后,原有的所有普通用户的默认表空间都会被指定为这个表空间,如上例中test1,创建时指定了他的默认表空间为ringidx,执行了’alter database default tablespace ring’后,他的默认表空间也被改为了ring。

SQL> select username, default_tablespace defspace from dba_users where

username=’TEST1′;

USERNAME DEFSPACE

————– —————-

TEST1 RING

为非核心的系统用户指定一个特殊的默认表空间

在创建Oracle实例时,除了创建了如sys、system等系统核心的用户外,还会创建一些诸如dbsnmp、odm、perfstat等非核心的用户。这些用户在9i中都是以system作为他们的默认表空间。这些用户一旦被使用,也会产生较大的数据量占用system表空间。

在Oracle10G当中,使用了一个新的表空间SYSAUX作为这些用户的默认表空间。这个表空间在实例创建是就创建了,除了他的数据文件名可以被修改外,其他都不允许被修改。

Oracle的这一改变可以使当system表空间损坏时对数据库做全库恢复。在sysaux中的对象可以恢复成普通对象,而数据库能保持正常运行。

如果DBA想要将sysaux表空间中的用户转移到其他表空间去该如何做呢。在10G中,专门为此提供一个视图V$SYSAUX_OCCUPANTS来描述如何转移这些用户的表空间。

select * from V$SYSAUX_OCCUPANTS where OCCUPANT_NAME = ‘ODM’

OCCUPANT_NAME OCCUPANT_DESC SCHEMA_NAME MOVE_PROCEDURE MOVE_PROCEDURE_DESC SPACE_USAGE_KBYTES

————- ————- ———– ————– ——————- ——————

ODM Oracle Data Mining DMSYS MOVE_ODM Move Procedure for Oracle Data Mining 5568

1 rows selected

如上,如果要将改变ODM的表空间,可以使用存储过程MOVE_ODM,当前它占用了5568kb的表空间。

为表空间改名

这Oracle10G表空间增强中一个令人心动的改变。

这项功能允许改变数据库中除system和sysaux外任意一个表空间的名字。

ALTER TABLESPACE RENAME TO ;

有了这项功能,将会让很多事情变得非常简单。

有DBA可能会担心,一旦一个表空间的名字改变了,而且它已经被使用了很长时间了,会不会引起系统的混乱?这个不用担心,执行了上面的语句后,Oracle会将系统中所有相关的数据字典的内容全部更新:

SQL> alter tablespace ring rename to ring1;

表空间已更改。

SQL> select username, default_tablespace defspace from dba_users where username=’TEST’;

USERNAME DEFSPACE

————– —————-

TEST RING1

二、Oracle,SQL,MySQL的自增变量设置

Oracle,SQL Server,MySQL的自增变量设置:

1、MySQL的自增变量是比较好记的,使用AUTO_INCREMENT关键字,如果知道英文的就容易记忆了,如下创建一个带有自增变理的表:

create table test(id int AUTO_INCREMENT

primary key not null,name varchar(50));

注释:此处的id一定要申明为主键,否则会报错。

2、SQl Server使用identity关键字,可以很容易指定从什么数开始,增幅是多少,如下:

create table test(id int identity(100,10)

primary key not null,name varchar(50));

3、Oracle不能够在创建表的时候指定自动关键字,它需要重新创建sequence,然后以"创建键。nextval"来引用:

create table test(id int primary key

not null,name varchar(50));

create sequence test_id(最好是表名+序列号标记)

increment by 1 start with 1 maxvalue 9999;

引用如下:

insert into test(test_id.nextval,'www');

mysql表空间自增_Oracle 默认表空间问题及自增变量设置相关推荐

  1. linux pdb创建表空间,ORACLE12C PDB创建默认表空间和用户语句(示例代码)

    第一次接触到12C CDB和PDB数据库,且客户提供的是ORACLE一体机,只有访问权,费劲周折,今记录12C创建默认路径表空间语句和用户 --创建默认表空间: create tablespace t ...

  2. 默认表空间位置oracle,oracle 默认表空间

    一般的,创建oracle时,系统默认的表空间名是USER,但是有的时候不知道怎么弄得,它可能就改变了,如果你知道默认表空间名已经改变那也就没什么事了,但纠结的是,自己根本不知道它已经改了.这时候,方便 ...

  3. 查看Oracle表空间以及用户与其默认表空间情况

    Oracle中一个表空间可能是多个用户的默认表空间,下面语句统计了用户及其默认表空间情况,如果用户多个,用户之间通过逗号分隔. select t.default_tablespace,to_char( ...

  4. mysql导入表空间太慢_Oracle 11g统计表空间使用率很慢

    现场统计表空间很慢. SELECT T1.TABLESPACE_NAME, TOTAL_SPACE, TOTAL_SPACE - FREE_SPACE USED_SPACE, FREE_SPACE F ...

  5. mysql 闪回到指定时间_oracle数据库表恢复到特定时间点

    在存档模式下,不允许覆盖(覆盖)日志文件组.日志文件满后,如果没有手动归档,系统将挂起,直到归档完成. div> 目前只能读取而不能写入. 在操作过程中关闭并重新启动归档日志过程 SQL \ g ...

  6. oracle 表空间初始分配,在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将哪个表空间分配给用户作为默认表空间。...

    13.现代化店员管理包括 工程分包协议书中分包人应向承包人承诺,履行总包合同中与分包合同有关的承包人的 ( ) 义务. 工程分包协议书中分包人应向承包人承诺,履行总包合同中与分包合同有关的承包人的 ( ...

  7. oracle 表空间初始分配,在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle 就将 ( )表空间分配给用户作为默认表空间。...

    [多选题]现代职业高尔夫运动,主要有如下构成要素,即:高水平的职业球员.( ).观众的积极参与.( )和( ). [判断题]凝点较高的含蜡原油,凝点附近粘温曲线很陡,经济进站油温常略高于凝点.( ) ...

  8. Oracle数据库如何查看当前用户角色权限及默认表空间

    http://database.51cto.com/art/201108/280474.htm 在Oracle数据库操作中,有时候我们需要查看当前用户的一些信息,包括用户拥有的角色权限信息.用户表空间 ...

  9. 管理表空间和数据文件——维护表空间——设置默认表空间和删除表空间和删除数据文件盒临时文件...

    1.设置数据库默认表空间 当建立数据库时,使用default tablespace 选项可以设置数据库的默认表空间.在建立了数据库之后,使用alter database default tablesp ...

最新文章

  1. ctf 文件头crc错误_[CTF隐写]png中CRC检验错误的分析
  2. 【思维导图】脑机音乐接口,高效检测用户的情绪状态
  3. poj3784 Running Median查找中位数
  4. iOS iOS9下修改回HTTP模式进行网络请求
  5. __stdcall、__cdecl 、CALLBACK 几种函数修饰符
  6. kettle在linux定时任务_在Linux下设置Kettle的定时任务
  7. php免登录接口,PHPWind 8.0 论坛免登陆发布接口发布
  8. 前端如何实现音乐盒胶盘的转动_干货来袭!web前端开发工程师必看之如何使用CSS3实现瀑布流效果?...
  9. comsol分析时总位移代表什么_基于COMSOL的气动软体执行器仿真
  10. 一、K3 WISE 实施顾问教程《进度1-谈谈实施顾问》
  11. MNIST机器学习入门【学习笔记】
  12. CMSIS Driver
  13. 【WIN问题】微软Microsoft onenote/store 无法连接网络无法同步解决
  14. QQ群78928780记录整理:90514技术话题-部分
  15. 你还在靠“喂喂喂”来测语音通话质量吗,看完这篇文章你就能掌握正确姿势。
  16. 文件上传、下载、导出(图片上传、下载)
  17. JavaWeb(华清远见)
  18. 【抓包工具】实战:WireShark 捕获过滤器的超全使用教程
  19. ERROR: cannot launch node of type [map_server/map_server]: can't locate node [map_server] in package
  20. CTO语录:真正技术高手是如何炼成的?

热门文章

  1. Milvus加入LF AI孵化,立志成为最流行的AI数据平台
  2. 一文详解 MySQL 高可用之 DRBD | 原力计划
  3. 如何搞懂容器的核心技术点?
  4. Chrome 成为互联网看门人?!
  5. Java 失宠于 Oracle?
  6. 直击平昌!2天40位大咖的平昌区块链论坛精华都在这了!
  7. Python 凭什么打败 Java、C/C++,成为机器学习的唯一语言?
  8. 【linux(2),Redis面试复习大纲在手面试不慌
  9. springboot入门书籍推荐,“最粉嫩
  10. 想拿高工资?那些年Java面试官常问的知识点项目实战