oracle sqlplus指令碼建庫總結

來源:互聯網
上載者:User
/******************************************************************/
--查詢資料表空間參數
select tablespace_name,min_extents,max_extents,pct_increase,status from dba_tablespaces;--查詢資料檔案資訊
--autoextensible資料庫已滿後是否自動擴充
select tablespace_name,bytes,autoextensible,file_name from dba_data_files;/******************************************************************/
--建立資料表空間--    一般資訊
--        DATAFILE:資料檔案目錄
--            儲存
--                AUTOEXTEND:資料檔案滿後自動擴充
--                    ON NEXT:增量
--                    MAXSIZE  UNLIMITED:最大容量無限制
--        SIZE:檔案大小
--    儲存
--        啟用事件記錄:LOGGING為產生從做日誌並可恢複,NOLOGGING為快速更新不組建記錄檔且不可恢複
--        MANAGEMENT LOCAL:本地管理
--            預設:自動分配
--            UNIFORM SIZE:統一分配
--        MANAGEMENT DICTIONARY:在字典中管理
--            DEFAULT STORAGE:覆蓋預設區值
--                INITIAL:初始大小
--                NEXT :下一個大小
--                MINEXTENTS:最小數量
--                MAXEXTENTS UNLIMITED :最大數量不限制
--                PCTINCREASE:增量,單位"%"
--                MINIMUM EXTENT:最小區大小
CREATE TABLESPACE "TEST"
    NOLOGGING
    DATAFILE 'G:\ORACLE\ORADATA\MYORACLE\TEST.ora' SIZE 5M REUSE
    AUTOEXTEND ON NEXT  1M MAXSIZE  UNLIMITED EXTENT
    MANAGEMENT LOCAL UNIFORM SIZE 12K;
--最好寫成相對路徑,免得出錯
CREATE TABLESPACE "TEST"
    NOLOGGING
    DATAFILE '../DATABASE/TEST.ora' SIZE 5M REUSE--建議用'../oradata/TEST.ora'
    AUTOEXTEND ON NEXT  1M MAXSIZE  UNLIMITED EXTENT
    MANAGEMENT LOCAL UNIFORM SIZE 12K;
CREATE TABLESPACE "TEST"
    LOGGING
    DATAFILE 'G:\ORACLE\ORADATA\MYORACLE\TEST.ora' SIZE 5M EXTENT
    MANAGEMENT DICTIONARY DEFAULT STORAGE ( INITIAL 1K NEXT 2K
    MINEXTENTS 5 MAXEXTENTS 67 PCTINCREASE 4 ) MINIMUM EXTENT 3K;/******************************************************************/
--增加資料表空間, 注意這裡test.ora1不能與原資料表空間檔案名稱相同
--添加一個新的大小為5M資料庫檔案test.ora1
alter tablespace mytesttablespace add datafile 'c:\test\test.ora1' size 5M;/******************************************************************/
--修改資料表空間資料庫檔案屬性,myoracle為sid
--將test.ora1資料庫檔案改為3M,其中resize可以是ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP
alter database myoracle datafile 'c:\test\test.ora1' resize 3M;
alter database myoracle datafile '$ORACLE_HOME/oradata/undo102.dbf' autoextend on next 10m maxsize 500M;/******************************************************************/
/*刪除資料表空間
文法:drop tablespace tablespace_name including contents and datafiles;
刪除資料表空間時要系統不會刪除資料表空間資料庫檔案,要徹底刪除要手動刪除
*/
drop tablespace mytesttablespace including contents and datafiles;/******************************************************************/
--建立使用者
--命令:
--CREATE USER 名稱 IDENTIFIED BY 口令 DEFAULT TABLESPACE "預設資料表空間名" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK
--    一般屬性
--    DEFAULT TABLESPACE :預設資料表空間名
--    TEMPORARY TABLESPACE :暫存資料表空間名,預設TEMP
--    ACCOUNT :使用者狀態,預設UNLOCK 未鎖定;LOCK 鎖定
CREATE USER "TEST"  PROFILE "DEFAULT"
    IDENTIFIED BY "test" DEFAULT TABLESPACE "TEST"
    TEMPORARY TABLESPACE "TEMP"
    ACCOUNT UNLOCK;
--可以寫成
CREATE USER "TEST"  PROFILE "DEFAULT"
    IDENTIFIED BY "test" DEFAULT TABLESPACE "TEST" ;/******************************************************************/
--使用者授權
--grant "connect,resource,dba" to "someuser" with admin option;
--    WITH ADMIN OPTION :管理選項
--授予usertest DBA許可權
grant dba to "usertest" with admin option;
--取消授權
--REVOKE "RESOURCE" FROM "SCOTT";/******************************************************************/
--建表
--在usertest方案下建表,注意表名不能用關鍵字,否則報錯ORA-00903: 表名無效
--文法:
--      create table [schema.]<table_name>(
--      <column_name><data type>[default <expression>]<constraint>[,]
--      .......
--      )TABLESPACE TABLESPACE_NAME;
--schema:表示所屬的使用者名稱稱或模式名稱亦即方案
--table_name:表示建立表的名稱
--column_name:表示欄位名稱
--data type:表示欄位的資料類型
--default <expression>:表示欄位的預設值
--constraint:表示約束條件
--TABLESPACE_NAME:所用資料表空間
CREATE TABLE "TEST"."TEST" (
    "ID" NUMBER(10) DEFAULT 0 NOT NULL,
    "NAME" VARCHAR2(20) NOT NULL,
    "INFO" VARCHAR2(1000),
    PRIMARY KEY("ID")
    )TABLESPACE "TEST" ;
--也可以寫成
CREATE TABLE "TEST"."TEST" (
    "ID" NUMBER(10) DEFAULT 0 PRIMARY KEY,
    "NAME" VARCHAR2(20) NOT NULL,
    "INFO" VARCHAR2(1000)
    )TABLESPACE "TEST" ;/******************************************************************/
--插入資料
--文法:
--     INSERT INTO tablename (column1,column2,…) VALUES (expression1,expression2,…);
INSERT INTO "TEST"."TEST" ("ID" ,"NAME" ,"INFO" ) VALUES (1 ,'testname' ,''  );
--也可以寫成
INSERT INTO "TEST"."TEST" VALUES (1 ,'testname' ,''  );/******************************************************************/
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.