欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      oracle-sql語句-創(chuàng)建表空間、數據庫

      時間:2019-05-14 20:20:01下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《oracle-sql語句-創(chuàng)建表空間、數據庫》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《oracle-sql語句-創(chuàng)建表空間、數據庫》。

      第一篇:oracle-sql語句-創(chuàng)建表空間、數據庫

      1、查看表空間的名稱及大小

      select t.tablespace_name, round(sum(bytes/(1024*1024)),0)ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;

      2、查看表空間物理文件的名稱及大小

      select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0)total_space from dba_data_files order by tablespace_name;

      3、查看回滾段名稱及大小

      select segment_name, tablespace_name, r.status,(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = v.usn(+)order by segment_name;

      4、查看控制文件

      select name from v$controlfile;獲取創(chuàng)建表空間的sql select

      dbms_lob.substr(dbms_metadata.get_ddl('TABLESPACE',a.tablespace_name))from dba_tablespaces a;

      SQL> select sid,serial# from v$session where username='TEST';alter system kill session '150,9019';查看被鎖的表 select object_name,machine,s.sid,s.serial#,s.event from gv$locked_object l,dba_objects o,gv$session s where l.object_id=o.object_id and l.session_id=s.sid;alter system kill session ‘sid,serial#’;

      5、查看日志文件

      select member from v$logfile;

      6、查看表空間的使用情況

      select sum(bytes)/(1024*1024)as free_space,tablespace_name from dba_free_space group by tablespace_name;

      SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES “% USED”,(C.BYTES*100)/A.BYTES “% FREE” FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

      Select b.tablespace_name as表空間名,b.bytes as字節(jié)數,(b.bytes-sum(nvl(a.bytes,0)))as已使用,sum(nvl(a.bytes,0))as剩余空間,sum(nvl(a.bytes,0))/(b.bytes)*100 as 剩余百分比 from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id;

      7、查看數據庫庫對象

      select owner, object_type, status, count(*)count# from all_objects group by owner, object_type, status;

      8、查看數據庫的版本

      Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';

      9.查看某個表空間內所占空間大于某個值的段(表或索引):

      Select segment_name,bytes FROM dba_segments Where bytes>10000000 AND tablespace_name='tablespace_name';10.查看所有表空間的碎片程度(值在30以下表示碎片很多)

      select tablespace_name,sum(bytes),sum(free),sum(free)*100/sum(bytes)from(select

      b.file_id file_ID,b.tablespace_name tablespace_name,b.bytes Bytes,(b.bytes-sum(nvl(a.bytes,0)))used,sum(nvl(a.bytes,0))free,sum(nvl(a.bytes,0))/(b.bytes)*100

      Percent

      from dba_free_space a,dba_data_files b

      where a.file_id=b.file_id

      group by b.tablespace_name,b.file_id,b.bytes

      order by b.file_id)group by tablespace_name order by sum(free)*100/sum(bytes);11.查看自上次數據庫啟動以來所有數據文件的讀寫次數

      select

      substr(DF.NAME,1,5)Drive,DF.NAME file_name,(fs.phyblkrd+fs.phyblkwrt)

      from v$filestat fs,v$datafile df

      where df.file#=fs.file#;

      創(chuàng)建臨時表空間: //創(chuàng)建臨時表空間

      create temporary tablespace mytest tempfile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;

      //創(chuàng)建數據表空間

      create tablespace mytest_data logging datafile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest_data.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;//創(chuàng)建用戶并指定表空間

      create user testaccount identified by testpwd default tablespace mytest_data temporary tablespace mytest;//給用戶授予權限

      grant connect,resource to testaccount;(db2:指定所有權限)12,創(chuàng)建一個用戶:

      CREATE USER username IDENTIFIED BY password OR IDENTIFIED EXETERNALLYOR IDENTIFIED GLOBALLY AS ‘CN=user’[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE temptablespace][QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[PROFILES profile_name][PASSWORD EXPIRE][ACCOUNT LOCK or ACCOUNT UNLOCK];

      //查看數據庫中的所有用戶: select * from all_users;//or select * from dba_users 13查看oracle最大連接數: Select session_max,session_current,sessions_highwater,users_max from v$license;Select username,count(username)from v$session group by username;加密存儲過程 WRAP

      INAME=D:ORACLESOURCEDATE.SQL ONAME=D:ORACLESOURCEDATA.PLD

      第二篇:Oracle建表空間各種語句

      在創(chuàng)建用戶之前,先要創(chuàng)建表空間:

      其格式為:格式: create tablespace 表間名 datafile '數據文件名' size 表空間大小;如:

      SQL> create tablespace news_tablespace datafile 'F:oracleproduct10.1.0oradatanewsnews_data.dbf' size 500M;其中'news_tablespace'是你自定義的表空間名稱,可以任意取名;'F:oracleproduct10.1.0oradatanewsnews_data.dbf'是數據文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定該數據文件的大小,也就是表空間的大小。

      現在建好了名為'news_tablespace'的表空間,下面就可以創(chuàng)建用戶了:

      其格式為:格式: create user 用戶名 identified by 密碼 default tablespace 表空間表;如:

      SQL> create user news identified by news default tablespace news_tablespace;默認表空間'default tablespace'使用上面創(chuàng)建的表空間。

      接著授權給新建的用戶:

      SQL> grant connect,resource to news;--表示把 connect,resource權限授予news用戶

      SQL> grant dba to news;--表示把 dba權限授予給news用戶

      授權成功。

      ok!數據庫用戶創(chuàng)建完成,現在你就可以使用該用戶創(chuàng)建數據表了!1.建表空間

      create tablespace hoteldata datafile 'D:javaOracleproduct10.1.0oradatazznorclhoteldata.dbf'size 200m autoextend on next 10m maxsize unlimited;2.建用戶 create user hotel identified by hotel default tablespace hoteldata account unlock;//identified by 后面的是密碼,前面的是用戶名 3.用戶授權

      grant resource,connect,RECOVERY_CATALOG_OWNER to hotel;grant create table to hotel;alter user hotel quota unlimited ON OSDB;alter user hotel default tablespace hoteldata;4.刪除表空間

      DROP TABLESPACE hoteldata INCLUDING CONTENTS AND DATAFILES;5.刪除用戶

      DROP USER hotel CASCADE 6.刪除表的注意事項

      在刪除一個表中的全部數據時,須使用TRUNCATE TABLE 表名;因為用DROP TABLE,DELETE * FROM 表名時,TABLESPACE表空間該表的占用空間并未釋放,反復幾次DROP,DELETE操作后,該TABLESPACE上百兆的空間就被耗光了。oracle sqlplus腳本建庫總結(原創(chuàng))******************************************************************/--查詢表空間參數

      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;/******************************************************************/--創(chuàng)建表空間

      --一般信息

      --DATAFILE:數據文件目錄--存儲

      --AUTOEXTEND:數據文件滿后自動擴展--ON NEXT:增量

      --MAXSIZE UNLIMITED:最大容量無限制--SIZE:文件大小--存儲

      --啟用事件記錄:LOGGING為生成從做日志并可恢復,NOLOGGING為快速更新不生成日志且不可恢復

      --MANAGEMENT LOCAL:本地管理--缺?。鹤詣臃峙?/p>

      --UNIFORM SIZE:統一分配

      --MANAGEMENT DICTIONARY:在字典中管理--DEFAULT STORAGE:覆蓋默認區(qū)值--INITIAL:初始大小--NEXT :下一個大小--MINEXTENTS:最小數量

      --MAXEXTENTS UNLIMITED :最大數量不限制--PCTINCREASE:增量,單位“%”--MINIMUM EXTENT:最小區(qū)大小 CREATE TABLESPACE “TEST” NOLOGGING DATAFILE 'G:ORACLEORADATAMYORACLETEST.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:ORACLEORADATAMYORACLETEST.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:testtest.ora1' size 5M;/******************************************************************/--修改表空間數據庫文件屬性,myoracle為sid--將test.ora1數據庫文件改為3M,其中resize可以是ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP alter database myoracle datafile 'c:testtest.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;/******************************************************************/--創(chuàng)建用戶--命令:

      --CREATE USER 名稱 IDENTIFIED BY 口令 DEFAULT TABLESPACE “默認表空間名” TEMPORARY TABLESPACE “TEMP” ACCOUNT UNLOCK--一般屬性

      --DEFAULT TABLESPACE :默認表空間名

      --TEMPORARY TABLESPACE :臨時表空間名,默認TEMP--ACCOUNT :用戶狀態(tài),默認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.](--[default ][,]--.......--)TABLESPACE TABLESPACE_NAME;--schema:表示所屬的用戶名稱或模式名稱亦即方案--table_name:表示新建表的名稱--column_name:表示字段名稱

      --data type:表示字段的數據類型

      --default :表示字段的默認值--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' ,'');/******************************************************************/

      第三篇:OracleSQL語句的執(zhí)行計劃優(yōu)化的總結

      通過分析SQL語句的執(zhí)行計劃優(yōu)化SQL(總結)

      第一章、第2章 并不是很重要,是自己的一些想法,關于如何做一個穩(wěn)定、高效的應用系統的一些想法。

      第三章以后都是比較重要的。

      附錄的內容也是比較重要的。我常用該部分的內容。

      前言

      本文檔主要介紹與SQL調整有關的內容,內容涉及多個方面:SQL語句執(zhí)行的過程、ORACLE優(yōu)化器,表之間的關聯,如何得到SQL執(zhí)行計劃,如何分析執(zhí)行計劃等內容,從而由淺到深的方式了解SQL優(yōu)化的過程,使大家逐步步入SQL調整之門,然后你將發(fā)現??。

      該文檔的不當之處,敬請指出,以便進一步改正。請將其發(fā)往我的信箱:xu_yu_jin2000@sina.com。

      如果引用本文的內容,請著名出處!

      作者:徐玉金

      MSN:sunny_xyj@hotmail.com

      Email: xu_yu_jin2000@sina.com

      日期:2005.12.12

      活躍于:004km.cn;

      這樣在分析時導致查詢出的數據過多,不方便,所以用count(a.CHANNEL||B.user_class)來代替,而且count(a.CHANNEL||B.user_class)操作本身并不占用過多的時間,所以可以接受此種替代。

      利用索引查詢出SWD_BILLDETAIL表中所有記錄的方法 SQL> select count(id)from SWD_BILLDETAIL;COUNT(ID)----------

      53923574 Elapsed: 00:02:166.00 Execution Plan---------------------------0

      SELECT STATEMENT Optimizer=CHOOSE(Cost=18051 Card=1)1

      0

      SORT(AGGREGATE)2

      INDEX(FAST FULL SCAN)OF 'SYS_C001851'(UNIQUE)(Cost=18051 Card=54863946)

      Statistics---------------------------

      0 recursive calls

      1952 db block gets

      158776 consistent gets

      158779 physical reads

      1004 redo size

      295 bytes sent via SQL*Net to client

      421 bytes received via SQL*Net from client SQL*Net roundtrips to/from client sorts(memory)

      0 sorts(disk)rows processed

      利用全表掃描從SWD_BILLDETAIL表中取出全部數據的方法。SQL> select count(user_class)from swd_billdetail;COUNT(USER_CLASS)-----------------

      53923574 Elapsed: 00:11:703.07 Execution Plan---------------------------0

      SELECT STATEMENT Optimizer=CHOOSE(Cost=165412 Card=1 Bytes=2)1

      0

      SORT(AGGREGATE)2

      TABLE ACCESS(FULL)OF 'SWD_BILLDETAIL'(Cost=165412 Card=54863946 Bytes=109727892)

      Statistics---------------------------

      0 recursive calls

      8823 db block gets

      1431070 consistent gets

      1419520 physical reads

      0 redo size

      303 bytes sent via SQL*Net to client

      421 bytes received via SQL*Net from client SQL*Net roundtrips to/from client sorts(memory)

      0 sorts(disk)rows processed

      select count(a.CHANNEL||B.user_class)from swd_billdetail B, SUPER_USER A where A.cn = B.cn;EXEC_ORDER PLANLINE------------------------

      SELECT STATEMENT OPT_MODE:CHOOSE(COST=108968,CARD=1,BYTES=21)

      SORT(AGGREGATE)(COST=,CARD=1,BYTES=21)

      NESTED LOOPS

      (COST=108968,CARD=1213745,BYTES=25488645)

      TABLE ACCESS(FULL)OF 'SWORD.SUPER_USER'(COST=2,CARD=2794,BYTES=27940)

      TABLE ACCESS(BY INDEX ROWID)OF 'SWORD.SWD_BILLDETAIL'(COST=39,CARD=54863946,BYTES=603503406)

      INDEX(RANGE SCAN)OF 'SWORD.IDX_DETAIL_CN'(NON-UNIQUE)(COST=3,CARD=54863946,BYTES=)

      這個查詢耗費的時間很長,需要1個多小時。運行后的信息如下:

      COUNT(A.CHANNEL||B.USER_CLASS)------------------------------

      1186387

      Elapsed: 01:107:6429.87

      Execution Plan---------------------------

      0

      SELECT STATEMENT Optimizer=CHOOSE(Cost=108968 Card=1 Bytes=21)

      0

      SORT(AGGREGATE)

      NESTED LOOPS(Cost=108968 Card=1213745 Bytes=25488645)

      TABLE ACCESS(FULL)OF 'SUPER_USER'(Cost=2 Card=2794Bytes=27940)

      TABLE ACCESS(BY INDEX ROWID)OF 'SWD_BILLDETAIL'(Cost=39 Card=54863946 Bytes=603503406)

      INDEX(RANGE SCAN)OF 'IDX_DETAIL_CN'(NON-UNIQUE)(Cost=3 Card=54863946)Statistics---------------------------

      0 recursive calls db block gets

      1196954 consistent gets

      1165726 physical reads

      0 redo size

      316 bytes sent via SQL*Net to client

      421 bytes received via SQL*Net from client SQL*Net roundtrips to/from client sorts(memory)

      0 sorts(disk)rows processed

      將語句中加入hints,讓oracle的優(yōu)化器使用嵌套循環(huán),并且大表作為驅動表,生成新的執(zhí)行計劃:

      select /*+ ORDERED USE_NL(A)*/ count(a.CHANNEL||B.user_class)from swd_billdetail B, SUPER_USER A where A.cn = B.cn;

      EXEC_ORDER PLANLINE------------------

      SELECT STATEMENT OPT_MODE:CHOOSE(COST=109893304,CARD=1,BYTES=21)

      SORT(AGGREGATE)(COST=,CARD=1,BYTES=21)

      NESTED LOOPS

      (COST=109893304,CARD=1213745,BYTES=25488645)

      TABLE ACCESS(FULL)OF 'SWORD.SWD_BILLDETAIL'(COST=165412,CARD=54863946,BYTES=603503406)

      TABLE ACCESS(BY INDEX ROWID)OF 'SWORD.SUPER_USER'(COST=2,CARD=2794,BYTES=27940)

      INDEX(RANGE SCAN)OF 'SWORD.IDX_SUPER_USER_CN'(NON-UNIQUE)(COST=1,CARD=2794,BYTES=)

      這個查詢耗費的時間較短,才20分鐘,性能比較好。運行后的信息如下:

      COUNT(A.CHANNEL||B.USER_CLASS)------------------------------

      1186387

      Elapsed: 00:20:1208.87

      Execution Plan---------------------------

      0

      SELECT STATEMENT Optimizer=CHOOSE(Cost=109893304 Card=1 Bytes=21)

      0

      SORT(AGGREGATE)

      NESTED LOOPS(Cost=109893304 Card=1213745 Bytes=25488645)

      TABLE ACCESS(FULL)OF 'SWD_BILLDETAIL'(Cost=165412 Card=54863946 Bytes=603503406)

      TABLE ACCESS(BY INDEX ROWID)OF 'SUPER_USER'(Cost=2Card=2794 Bytes=27940)

      INDEX(RANGE SCAN)OF 'IDX_SUPER_USER_CN'(NON-UNIQUE)(Cost=1 Card=2794)

      Statistics---------------------------

      0 recursive calls

      8823 db block gets

      56650250 consistent gets

      1413250 physical reads

      0 redo size

      316 bytes sent via SQL*Net to client

      421 bytes received via SQL*Net from client SQL*Net roundtrips to/from client sorts(memory)

      0 sorts(disk)rows processed

      總結:

      因為上兩個查詢都是采用nested loop循環(huán),這時采用哪個表作為driving table就很重要。在第一個sql中,小表(SUPER_USER)作為driving table,符合oracle優(yōu)化的建議,但是由于SWD_BILLDETAIL表中cn列的值有很多重復的,這樣對于SUPER_USER中的每一行,都會在SWD_BILLDETAIL中有很多行,利用索引查詢出這些行的rowid很快,但是再利用這些rowid去查詢SWD_BILLDETAIL表中的user_class列的值,就比較慢了。原因是這些rowid是隨機的,而且該表比較大,不可能緩存到內存,所以幾乎每次按照rowid查詢都需要讀物理磁盤,這就是該執(zhí)行計劃比較慢的真正原因。從結果可以得到驗證:查詢出1186387行,需要利用rowid從SWD_BILLDETAIL表中讀取1186387次,而且大部分為從硬盤上讀取。

      反其道而行之,利用大表(SWD_BILLDETAIL)作為driving表,這樣大表只需要做一次全表掃描(而且會使用多塊讀功能,每次物理I/O都會讀取幾個oracle數據塊,從而一次讀取很多行,加快了執(zhí)行效率),對于讀出的每一行,都與SUPER_USER中的行進行匹配,因為SUPER_USER表很小,所以可以全部放到內存中,這樣匹配操作就極快,所以該sql執(zhí)行的時間與SWD_BILLDETAIL表全表掃描的時間差不多(SWD_BILLDETAIL全表用11分鐘,而此查詢用20分鐘)。

      另外:如果SWD_BILLDETAIL表中cn列的值唯一,則第一個sql執(zhí)行計劃執(zhí)行的結果或許也會不錯。如果SUPER_USER表也很大,如500萬行,則第2個sql執(zhí)行計劃執(zhí)行的結果反而又可能會差。其實,如果SUPER_USER表很小,則第2個sql語句的執(zhí)行計劃如果不利用SUPER_USER表的索引,查詢或許會更快一些,我沒有對此進行測試。

      所以在進行性能調整時,具體問題要具體分析,沒有一個統一的標準。

      [center]第6章 其它注意事項[/center]

      1.不要認為將optimizer_mode參數設為rule,就認為所有的語句都使用基于規(guī)則的優(yōu)化器

      不管optimizer_mode參數如何設置,只要滿足下面3個條件,就一定使用CBO。

      1)如果使用Index Only Tables(IOTs), 自動使用CBO.2)Oracle 7.3以后,如果表上的Paralle degree option設為>1,則自動使用CBO, 而不管是否用rule hints.3)除rlue以外的任何hints都將導致自動使用CBO來執(zhí)行語句

      總結一下,一個語句在運行時到底使用何種優(yōu)化器可以從下面的表格中識別出來,從上到下看你的語句到底是否滿足description列中描述的條件:

      Description

      對象是否被分析

      優(yōu)化器的類型

      ~~~~~~~~~~~

      ~~~~~~~~~~~~

      ~~~~~~~~~

      Non-RBO Object(Eg:IOT)

      n/a

      #1

      Parallelism > 1

      n/a

      #1

      RULE hint

      n/a

      RULE

      ALL_ROWS hint

      n/a

      ALL_ROWS

      FIRST_ROWS hint

      n/a

      FIRST_ROWS

      *Other Hint

      n/a

      #1

      OPTIMIZER_GOAL=RULE

      n/a

      RULE

      OPTIMIZER_GOAL=ALL_ROWS

      n/a

      ALL_ROWS

      OPTIMIZER_GOAL=FIRST_ROWS

      n/a

      FIRST_ROWS

      OPTIMIZER_GOAL=CHOOSE

      NO

      RULE

      OPTIMIZER_GOAL=CHOOSE

      YES

      ALL_ROWS

      #1 表示除非OPTIMIZER_GOAL 被設置為FIRST_ROWS,否則將使用ALL_ROWS。在PL/SQL中,則一直是使用ALL_ROWS

      *Other Hint 表示是指除RULE、ALL_ROWS 和FIRST_ROWS以外的其它提示

      2)當CBO選擇了一個次優(yōu)化的執(zhí)行計劃時, 不要同CBO過意不去, 先采取如下措施: a)檢查是否在表與索引上又最新的統計數據

      b)對所有的數據進行分析,而不是只分析一部分數據

      c)檢查是否引用的數據字典表,在oracle 10G之前,缺省情況下是不對數據字典表進行分析的。

      d)試試RBO優(yōu)化器,看語句執(zhí)行的效率如何,有時RBO能比CBO產生的更好的執(zhí)行計劃

      e)如果還不行,跟蹤該語句的執(zhí)行,生成trace信息,然后用tkprof格式化trace信息,這樣可以得到全面的供優(yōu)化的信息。

      3)假如利用附錄的方法對另一個會話進行trace,則該會話應該為專用連接

      4)不要認為綁定變量(bind variables)的缺點只有書寫麻煩,而優(yōu)點多多,實際上使用綁定變量雖然避免了重復parse,但是它導致優(yōu)化器不能使用數據庫中的列統計,從而選擇了較差的執(zhí)行計劃。而使用硬編碼的SQL則可以使用列統計。當然隨著CBO功能的越來越強,這種情況會得到改善。目前就已經實現了在第一次運行綁定變量的sql語句時,考慮列統計。

      5)如果一個row source 超過10000行數據,則可以被認為大row source

      6)有(+)的表不是driving table,注意:如果有外聯接,而且order hint指定的順序與外聯結決定的順序沖突,則忽略order hint

      7)影響CBO選擇execution plan的初始化參數:

      這些參數會影響cost值 ALWAYS_ANTI_JOIN B_TREE_BITMAP_PLANS COMPLEX_VIEW_MERGING DB_FILE_MULTIBLOCK_READ_COUNT FAST_FULL_SCAN_ENABLED HASH_AREA_SIZE HASH_JOIN_ENABLED HASH_MULTIBLOCK_IO_COUNT OPTIMIZER_FEATURES_ENABLE OPTIMIZER_INDEX_CACHING OPTIMIZER_INDEX_COST_ADJ OPTIMIZER_MODE> / GOAL OPTIMIZER_PERCENT_PARALLEL OPTIMIZER_SEARCH_LIMIT PARTITION_VIEW_ENABLED PUSH_JOIN_PREDICATE SORT_AREA_SIZE SORT_DIRECT_WRITES SORT_WRITE_BUFFER_SIZE STAR_TRANSFORMATION_ENABLED V733_PLANS_ENABLED CURSOR_SHARING

      第四篇:VFP講稿(創(chuàng)建數據庫和表)

      第二部分

      數據庫的創(chuàng)建與單命令

      創(chuàng)建數據庫和表

      一、Visual FoxPro 6.0的配置

      P28

      二、項目及其管理器

      P31

      1.項目的概念

      項目:是文件、數據、文檔和Visual FoxPro對象的集合,被保存為擴展名為PJX的文件。

      建立項目可以對相關的內容(項目的各組成部分)進行統一組織、統一管理。

      項目管理器:是Visual FoxPro中處理數據和對象的主要組織工具,是Visual FoxPro的“控制中心”。

      項目管理器為其各個組成部分提供了一個組織良好的分層結構視圖。利用項目管理器,用戶可以創(chuàng)建、修改、移出或刪除文件。只要簡單地單擊鼠標,就可以跟蹤表和查詢,組織表單、報表、標簽、代碼、位圖和其它文件。

      2.項目的創(chuàng)建

      3.一個項目產生兩個文件.PJX和.PJT。4.打開/關閉項目 5.選項卡

      三、Visual FoxPro 數據庫的基本操作

      P93 1.建立數據庫

      (1)在項目管理器中建立 *(2)從“新建”對話框中建立 *(3)用命令建立

      P94(4)新建立的數據庫有三個文件

      三個文件的擴展名分別是:dbc

      dct

      dcx ? dbc數據庫文件的擴展名 ? dct數據庫備注文件的擴展名 ? dcx數據庫索引文件的擴展名 2.打開和關閉數據庫(1)打開數據庫 有三種打開方法: ? 在項目管理器中打開 ? *從“打開”對話框中打開 ? *用命令打開

      OPEN DATABASE命令

      P95(2)關閉數據庫 CLOSE DATABASE 3.數據庫設計器

      有三種打開方法: ? 在項目管理器中打開 ? *從“打開”對話框中打開 ? *用命令打開

      MODIFY DATABASE命令

      P98 4刪除數據庫

      有兩種刪除方法: ? 在項目管理器中刪除 ? *用命令刪除

      DELETE DATABASE命令

      P99

      四、數據庫表

      1.建立數據庫表

      P99(1)表設計器

      (2)字段名:命名規(guī)則與內存變量的命名規(guī)則相同。可與內存變量同名。(3)字段類型和寬度(4)建立數據庫表產生的文件(5)字段有效性組框(6)用命令建立表

      使用命令CREATE <表名> 有打開的數據庫時,建立的是數據庫表,否則建立的是自由表。2.修改表結構

      P102(1)插入字段(2)刪除字段(3)修改字段

      (4)用命令MODIFY STRUCTURE打開表設計器進行修改

      五、自由表

      如果當前沒有打開數據庫,創(chuàng)建的表是自由表。1.創(chuàng)建自由表。

      2.自由表和數據庫表的異同。

      自由表和數據庫表的設計器不同。*數據庫表有很多附加信息。3.將自由表添加到數據庫。4.從數據庫中移出表。

      第五篇:Oracle數據庫創(chuàng)建表空間、建立用戶、授權、還原備份

      創(chuàng)建用戶一般分四步: 第一步:創(chuàng)建臨時表空間 第二步:創(chuàng)建數據表空間 第三步:創(chuàng)建用戶并制定表空間 第四步:給用戶授予權限

      --Oracle創(chuàng)建臨時表空間 如果沒有指定的臨時表空間,則可以不建 CREATE TEMPORARY TABLESPACE DB_TEMP TEMPFILE 'E:Oa DataOA_TEMP.DBF'

      SIZE 32M AUTOEXTEND ON

      NEXT 32M MAXSIZE UNLIMITED

      EXTENT MANAGEMENT LOCAL;

      --Oracle創(chuàng)建表空間 如果沒有指定的表空間,則可以不建 CREATE TABLESPACE DB_DATA LOGGING

      DATAFILE 'E:Oa DataOA_DATA.DBF'

      SIZE 32M AUTOEXTEND ON

      NEXT 32M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

      --創(chuàng)建用戶“oa”,密碼“oa”

      CREATE USER OA IDENTIFIED BY OA ACCOUNT UNLOCK

      DEFAULT TABLESPACE DB_DATA TEMPORARY TABLESPACE DB_TEMP;

      --授權

      GRANT CONNECT,RESOURCE,DBA TO OA;

      --導入dmp文件到數據庫 這個必須用命令窗口來執(zhí)行,不是SQL語句--用戶名就是要導入的用戶,要導入給A,那用戶名就是A imp 用戶名/密碼@數據庫實例名 file=文件地址 full=y ignore=y;

      exp system/123456@orcl file=oa.dmp owner=oa full=y;

      使用expdp和impdp時應該注重的事項:

      1、exp和imp是客戶端工具程序,它們既可以在客戶端使用,也可以在服務端使用。

      2、expdp和impdp是服務端的工具程序,他們只能在oracle服務端使用,不能在客戶端使用。

      3、imp只適用于exp導出的文件,不適用于expdp導出文件;impdp只適用于expdp導出的文件,而不適用于exp導出文件。

      4、對于10g以上的服務器,使用exp通常不能導出0行數據的空表,而此時必須使用expdp導出。

      一、準備工作 1)、在備份目的路徑建立備份文件夾 Oracle不會自動創(chuàng)建,務必手動創(chuàng)建 例如:d:bak 2)、用sys用戶在oracle中創(chuàng)建邏輯目錄

      --oracleBak_dir這個就是這個邏輯目錄的名字 SQL>create directory oracleBak_dir as ‘d:bak’;

      3)、查看數據庫中的邏輯目錄 用來檢查上面兩步驟是否對應OK SQL>select * from dba_directories;4)、授權用戶有對邏輯目錄的讀寫權限

      SQL>grant read,write on directory oracleBak_dir to 用戶名;

      二、導出

      1)導出用戶 登錄的用戶需要有導出權限

      expdp 用戶名/密碼@orcl dumpfile=expdp.dmp directory=oracleBak_dir schemas=要導出的用戶名;2)導出表

      expdp用戶名/密碼@orcl tables=要導出的表名 dumpfile=expdp.dmp(備份文件的帶后綴全名)directory=oracleBak_dir;3)按查詢條件導

      expdp 用戶名/密碼@orcl directory=oracleBak_dir dumpfile=expdp.dmp(備份文件的帶后綴全名)tables=表名 query=’where deptno=20’(引號內為查詢條件);4)按表空間導

      expdp system/manager@orcl directory=oracleBak_dir dumpfile=tablespace.dmp(備份文件的帶后綴全名)tablespaces=temp,example(表空間名稱);5)導整個數據庫

      expdp system/manager@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;

      expdp system/orcl@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;

      三、導入數據 導入與導出雷同,不做解析 1)導入用戶(從用戶scott導入到用戶scott)

      impdp scott/tiger@orcl directory=oracleBak_dir dumpfile=expdp.dmp schemas=scott;2)導入表(從scott用戶中把表dept和emp導入到system用戶中)

      impdp system/manager@orcl directory=oracleBak_dir dumpfile=expdp.dmp tables=scott.dept,scott.emp(原用戶下.某表)remap_schema=scott:system(從用戶scott導入到用戶system);3)導入表空間 impdp system/manager@orcl directory=oracleBak_dir dumpfile=tablespace.dmp tablespaces=example;4)導入數據庫

      impdb system/manager@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;5)追加數據

      impdp system/manager@orcl schemas=systemtable_exists_action

      directory=dump_dir

      dumpfile=expdp.dmp 終止expdp/impdp的方法:

      1從dba_datapump_jobs中查job_name select * from dba_datapump_jobs;2連接到需要終止的JOB impdp U/PWD@instance_name attach=SYS_IMPORT_TABLE_01(這里attach后面的就是1查出來的job_name)3終止對應的JOB Import> KILL_JOB 選Y

      Oracle刪除用戶及表空間

      以system用戶登錄,查找需要刪除的用戶:--查找用戶

      select * from dba_users;--查找工作空間的路徑

      select * from dba_data_files;

      --刪除用戶

      drop user 用戶名稱 cascade;--刪除表空間

      drop tablespace 表空間名稱 including contents and datafiles cascade constraint;例如:刪除用戶名成為LYK,表空間名稱為LYK--刪除用戶,及級聯關系也刪除掉 drop user LYK cascade;--刪除表空間,及對應的表空間文件也刪除掉

      drop tablespace LYK including contents and datafiles cascade constraint;

      下載oracle-sql語句-創(chuàng)建表空間、數據庫word格式文檔
      下載oracle-sql語句-創(chuàng)建表空間、數據庫.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內容由互聯網用戶自發(fā)貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現有涉嫌版權的內容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

      相關范文推薦

        數據庫語句大全

        sp_helpdb ----------查本服務器中所有數據庫 可跟庫名 例:sp_helpdb 庫名 ------------------------------ sp_databases -------------查看本服務器中可用的數據庫 ------......

        1如何判斷數據庫表空間使用情況5則范文

        如何判斷數據庫表空間使用情況 經常會有一些同事反映數據庫表空間不足,使用率達到90%以上,我遠程后發(fā)現,其實表空間還有很大的可擴展空間,之所有查出使用率95%以上,是與數據文件......

        圖書管理系統--創(chuàng)建數據庫和表

        /* 1管理員表(L_Administrator) 字段名 字段說明 數據類型 約束 備注 a_id 管理員編號 int Primary Key Identity(1000,1) a_name 管理員姓名 nvarchar(20) Not null a_pwd......

        數據庫及表的創(chuàng)建與修改[本站推薦]

        實驗一數據庫及表的創(chuàng)建與修改 一、實驗目的 1.熟悉掌握利用SSMS中的設計工具來創(chuàng)建表。修改表結構以及查看表屬性等操作。 2.熟悉T-SQL的數據定義語言,能夠熟練地使用SQL語......

        用裸設備擴數據庫表空間專題(完整版)

        硬件環(huán)境:小型機 IBM P670,存儲:IBM SHARK F-20 軟件環(huán)境:操作系統 AIX5.1 數據庫oracle9i 主題思想:物理卷PV->卷組VG->邏輯卷LV(類型:raw)->添加表空間 操作過程: 一、 首先 #lsvg – o......

        數據庫經典語句大全(新)

        創(chuàng)建數據庫 創(chuàng)建之前判斷該數據庫是否存在 if exists (select * from sysdatabases where name='databaseName') drop database databaseName go Create DATABASE database......

        mysql數據庫常用語句大全

        mysql數據庫常用語句 SQL分類: DDL—數據定義語言(CREATE,ALTER,DROP,DECLARE) DML—數據操縱語言(SELECT,DELETE,UPDATE,INSERT) DCL—數據控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)......

        數據庫語句大全[大全五篇]

        一、基礎 1、說明:創(chuàng)建數據庫 Create DATABASE database-name 2、說明:刪除數據庫 drop database dbname 3、說明:備份sql server --- 創(chuàng)建備份數據的 device USE maste......