1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Oracle 默認表空間問題及自增變量設置

        發布時間:  2012/8/20 17:15:35

        一、 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');


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          1
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线