【oracle】oracle的一些操作




1. linux 下登錄數(shù)據(jù) 執(zhí)行sql

su - oracle

<切換到oracle賬號: 加- 使用全新的環(huán)境變量也祠,不加-使用切換前用戶的環(huán)境變量>

sqlplus /nolog

<進(jìn)入sqlplus 程序>

conn sys/sys as sysdba

<使用具體賬號密碼,賬號類型鏈接數(shù)據(jù)庫>



2.查詢指定時間內(nèi)執(zhí)行過多sql記錄

select t.SQL_TEXT, t.FIRST_LOAD_TIME,t.ELAPSED_TIME from v$sqlarea t where TO_DATE(t.FIRST_LOAD_TIME,'YYYY-MM-DD HH24:MI:SS')>= TO_DATE('2019-06-24 20:40:00','YYYY-MM-DD HH24:MI:SS') AND TO_DATE(t.FIRST_LOAD_TIME,'YYYY-MM-DD HH24:MI:SS')<=TO_DATE('2019-06-24 20:42:00','YYYY-MM-DD HH24:MI:SS') ORDER BY t.FIRST_LOAD_TIMe

<查詢?nèi)齻€字段的結(jié)果集块茁,按順序:具體執(zhí)行的sql齿坷、第一次加載sql的時間、sql執(zhí)行消耗時間>

A.查詢鏈接信息

select username,count(username) from v$session where username is not null group by username;


3.Oracle對表進(jìn)行操作

1数焊、創(chuàng)建表

create table 表名(

? 字段名 VARCHAR2(36 CHAR) not null,

? 字段名 VARCHAR2(200 CHAR)?

)

tablespace 表空間名

pctfree 10

initrans 1

maxtrans 255

storage

(

initial 64

minextents 1

maxextents unlimited

);


2永淌、修改字段、字段類型

alter table tableName rename column oldCName to newCName; -- 修改字段名

alter table tableName modify (cloumnName 數(shù)據(jù)類型); -- 修改數(shù)據(jù)類型

3佩耳、添加表遂蛀、字段注釋

comment on table 表名 is '表的注釋信息';

comment on column 表名.字段名 is '字段的注釋信息';

4、添加索引

create index 索引名 on 表名( 字段名)

5干厚、修改字段長度

alter table 表名 modify 列名 數(shù)據(jù)類型李滴;

alter table bl_yhsz modify? zcmc varchar2(120);


5、查詢表空間使用率

--1G=1024MB?

--1M=1024KB?

--1K=1024Bytes?

--1M=11048576Bytes?

--1G=1024*11048576Bytes=11313741824Bytes?

SELECT a.tablespace_name "表空間名",?

total "表空間大小",?

free "表空間剩余大小",?

(total - free) "表空間使用大小",?

total / (1024 * 1024 * 1024) "表空間大小(G)",?

free / (1024 * 1024 * 1024) "表空間剩余大小(G)",?

(total - free) / (1024 * 1024 * 1024) "表空間使用大小(G)",?

round((total - free) / total, 4) * 100 "使用率 %"?

FROM (SELECT tablespace_name, SUM(bytes) free?

FROM dba_free_space?

GROUP BY tablespace_name) a,?

(SELECT tablespace_name, SUM(bytes) total?

FROM dba_data_files?

GROUP BY tablespace_name) b?

WHERE a.tablespace_name = b.tablespace_name?



6蛮瞄、查看數(shù)據(jù)庫的版本 ?

SELECT version?

FROM product_component_version?

WHERE substr(product, 1, 6) = 'Oracle';?



7所坯、查看數(shù)據(jù)庫的創(chuàng)建日期和歸檔方式?

SELECT created, log_mode, log_mode FROM v$database;?




8、統(tǒng)計表空間試用率

細(xì)分表文件

SELECT a.tablespace_name "tablespace_name", total "tablespace_namesize", free "tablespace_namefreesize", (total - free) "tablespace_name_use", total / (1024 * 1024 * 1024) "tablespace_namesize(G)", free / (1024 * 1024 * 1024) "tablespace_namefreesize(G)", (total - free) / (1024 * 1024 * 1024) "tablespace_name_use(G)", round((total - free) / total, 4) * 100 "use %",b.FILE_NAME FROM (SELECT tablespace_name, SUM(bytes)?free?,file_id FROM dba_free_space GROUP BY tablespace_name,file_id) a, (SELECT tablespace_name, SUM(bytes)?total,file_id,FILE_NAME FROM dba_data_files GROUP BY tablespace_name,file_id,FILE_NAME) b WHERE a.tablespace_name = b.tablespace_name and? a.file_id = b.file_id?and b.tablespace_name = 'EKP' ;

統(tǒng)計所有表文件

SELECT a.tablespace_name "tablespace_name", total "tablespace_namesize", free "tablespace_namefreesize", (total - free) "tablespace_name_use", total / (1024 * 1024 * 1024) "tablespace_namesize(G)", free / (1024 * 1024 * 1024) "tablespace_namefreesize(G)", (total - free) / (1024 * 1024 * 1024) "tablespace_name_use(G)", round((total - free) / total, 4) * 100 "use %" FROM (SELECT tablespace_name, SUM(bytes) free FROM dba_free_space GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM(bytes) total FROM dba_data_files GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name and b.tablespace_name = 'EKP'


9挂捅、添加表空間

創(chuàng)建表空間

CREATE TABLESPACE UATDBEKP LOGGING DATAFILE '/oracle/app/oracle/oradata/uat dbekp/uatdbekp.dbf' SIZE 20480M AUTOEXTEND ON NEXT 100M MAXSIZE unlimited;

修改表空間

alter tablespace EKP add datafile '/oracle/app/oracle/oradata/ekp/ekp01.dbf' size 20480M AUTOEXTEND? ON NEXT 100M maxsize unlimited ;

創(chuàng)建用戶?

create user uatdbekp identified by uatdbekp default tablespace uatdbekp;

授予登錄權(quán)限

grant create session,resource to uatdbekp



10芹助、數(shù)據(jù)庫備份還原 expdp\impdp

備份

cd?/home/oracle

mkdir ekpbak

chmod 777 ekpbak

create directory ekpbak as '/home/oracle/ekpbak'; --?登錄oracle創(chuàng)建映射目錄

grant read,write on directory ekpbak?to ekp; --?給目錄授權(quán)

expdp ekp/ekp directory=ekpbak dumpfile=ekp.dmp tablespaces=EKP --備份

expdp ekp/ABCabc123 directory=ekpbak dumpfile=ekp.dmp tablespaces=EKP

expdp uatdbekp/uatdbekp directory=uatbak dumpfile=ekp.dmp tablespaces=uatdbekp exclude=table:\"LIKE \'%_BAK\'\",table:\"LIKE \'%LOGS\'\" --備份

還原

?create directory IMPDIR?as '/home/oracle/impdir';?--?登錄oracle創(chuàng)建映射目錄

?grant read,write on directory?IMPDIR?to?ekp;?--?給目錄授權(quán)

impdp ekp/ekp directory=IMPDIR table_exists_action=replace?dumpfile=ekp.dmp logfile=impdp.log??--還原

impdp uatdbekp/uatdbekp directory=UATIMPDIR table_exists_action=replace remap_schema=EKP:UATDBEKP remap_tablespace=EKP:UATDBEKP dumpfile=ekp.dmp logfile=impdp.log

table_exists_action:

skip 是如果已存在表,則跳過并處理下一個對象闲先;

append是為表增加數(shù)據(jù);

truncate是截斷表状土,然后為其增加新數(shù)據(jù);

replace是刪除已存在表伺糠,重新建表并追加數(shù)據(jù);





查詢?ORACLE_SID值

echo $ORACLE_SID

修改 ORACLE_SID值

export ORACLE_SID=UATDBEKP



重啟數(shù)據(jù)庫

(1) 以oracle身份登錄數(shù)據(jù)庫蒙谓,命令:su – oracle

(2) 進(jìn)入Sqlplus控制臺,命令:sqlplus /nolog

(3) 以系統(tǒng)管理員登錄训桶,命令:connect / as sysdba

(4) 啟動數(shù)據(jù)庫累驮,命令:startup

(5) 如果是關(guān)閉數(shù)據(jù)庫酣倾,命令:shutdown immediate

(6) 退出sqlplus控制臺,命令:exit

(7) 進(jìn)入監(jiān)聽器控制臺谤专,命令:lsnrctl

(8) 啟動監(jiān)聽器灶挟,(如果已經(jīng)啟動就無需管了)命令:start

(9) 退出監(jiān)聽器控制臺,命令:exit

(10) 重啟數(shù)據(jù)庫結(jié)束




查詢最慢的sql

select?*

?from?(select?sa.SQL_TEXT,

????????sa.SQL_FULLTEXT,

????????sa.EXECUTIONS?"執(zhí)行次數(shù)",

????????round(sa.ELAPSED_TIME / 1000000, 2)?"總執(zhí)行時間",

????????round(sa.ELAPSED_TIME / 1000000 / sa.EXECUTIONS, 2)?"平均執(zhí)行時間",

????????sa.COMMAND_TYPE,

????????sa.PARSING_USER_ID?"用戶ID",

????????u.username?"用戶名",

????????sa.HASH_VALUE

?????from?v$sqlarea sa

?????left?join?all_users u

??????on?sa.PARSING_USER_ID = u.user_id

?????where?sa.EXECUTIONS > 0

?????order?by?(sa.ELAPSED_TIME / sa.EXECUTIONS)?desc)

?where?rownum <= 50;



查詢外鍵關(guān)聯(lián)的表信息


select aaa.owner "外鍵庫",

? ? ? aaa.table_name "外鍵表",

? ? ? substr(c.column_name, 1, 127)"外鍵列",

? ? ? bb.owner "主鍵庫",

? ? ? bb.table_name "主鍵表",

? ? ? substr(d.column_name, 1, 127) "主鍵列"

? from user_constraints? aaa,

? ? ? user_constraints? bb,

? ? ? user_cons_columns c,

? ? ? user_cons_columns d

where aaa.r_constraint_name = bb.constraint_name

? and aaa.constraint_type = 'R'

? and bb.constraint_type = 'P'

? and aaa.r_owner = bb.owner

? and aaa.constraint_name = c.constraint_name

? and bb.constraint_name = d.constraint_name

? and aaa.owner = c.owner

? and aaa.table_name = c.table_name

? and bb.owner = d.owner

? and bb.table_name = d.table_name

? and bb.constraint_name='SYS_C0023998'





merge更新


merge into SYS_ORG_ELEMENT_BACK070603 v

? ? ? using (select

FD_ID,

FD_ORG_TYPE,

FD_NAME,

FD_NAME_PINYIN,

FD_NAME_SIMPLE_PINYIN,

FD_ORDER,

FD_NO,

FD_KEYWORD,

FD_IS_AVAILABLE,

FD_IS_ABANDON,

FD_IS_BUSINESS,

FD_IMPORT_INFO,

FD_FLAG_DELETED,

FD_LDAP_DN,

FD_MEMO,

FD_HIERARCHY_ID,

FD_CREATE_TIME,

FD_ALTER_TIME,

FD_ORG_EMAIL,

FD_PERSONS_NUMBER,

FD_PRE_DEPT_ID,

FD_PRE_POST_IDS,

FD_THIS_LEADERID,

FD_SUPER_LEADERID,

FD_PARENTORGID,

FD_PARENTID,

FD_CATEID,

AUTH_READER_FLAG,

FROM_CODE,

PARENT_FROM_CODE,

MANAGE_FROM_CODE,

BRANCHES_FROM_CODE,

DEPT_FROM_CODE,

PERSON_FROM_CODE,

FD_DEPT_LVL,

FD_POSN_LVL

? ? ? ? ? ? ? ? from SYS_ORG_ELEMENT) b

on (v.FD_ID = b.FD_ID)?

when matched then

? ? ? update set

? ? ? ? ? v.FD_ORG_TYPE =? b.FD_ORG_TYPE,

? ? ? ? ? v.FD_NAME =? b.FD_NAME,

? ? ? ? ? v.FD_NAME_PINYIN=? b.FD_NAME_PINYIN,

? ? ? ? ? v.FD_NAME_SIMPLE_PINYIN=? b.FD_NAME_SIMPLE_PINYIN,

? ? ? ? ? v.FD_ORDER=? b.FD_ORDER,

? ? ? ? ? v.FD_NO=? b.FD_NO,

? ? ? ? ? v.FD_KEYWORD=? b.FD_KEYWORD,

? ? ? ? ? v.FD_IS_AVAILABLE=? b.FD_IS_AVAILABLE,

? ? ? ? ? v.FD_IS_ABANDON=? b.FD_IS_ABANDON,

? ? ? ? ? v.FD_IS_BUSINESS=? b.FD_IS_BUSINESS,

? ? ? ? ? v.FD_IMPORT_INFO=? b.FD_IMPORT_INFO,

? ? ? ? ? v.FD_FLAG_DELETED=? b.FD_FLAG_DELETED,

? ? ? ? ? v.FD_LDAP_DN=? b.FD_LDAP_DN,

? ? ? ? ? v.FD_MEMO=? b.FD_MEMO,

? ? ? ? ? v.FD_HIERARCHY_ID=? b.FD_HIERARCHY_ID,

? ? ? ? ? v.FD_CREATE_TIME=? b.FD_CREATE_TIME,

? ? ? ? ? v.FD_ALTER_TIME=? b.FD_ALTER_TIME,

? ? ? ? ? v.FD_ORG_EMAIL=? b.FD_ORG_EMAIL,

? ? ? ? ? v.FD_PERSONS_NUMBER=? b.FD_PERSONS_NUMBER,

? ? ? ? ? v.FD_PRE_DEPT_ID=? b.FD_PRE_DEPT_ID,

? ? ? ? ? v.FD_PRE_POST_IDS=? b.FD_PRE_POST_IDS,

? ? ? ? ? v.FD_THIS_LEADERID=? b.FD_THIS_LEADERID,

? ? ? ? ? v.FD_SUPER_LEADERID=? b.FD_SUPER_LEADERID,

? ? ? ? ? v.FD_PARENTORGID=? b.FD_PARENTORGID,

? ? ? ? ? v.FD_PARENTID=? b.FD_PARENTID,

? ? ? ? ? v.FD_CATEID=? b.FD_CATEID,

? ? ? ? ? v.AUTH_READER_FLAG=? b.AUTH_READER_FLAG,

? ? ? ? ? v.FROM_CODE=? b.FROM_CODE,

? ? ? ? ? v.PARENT_FROM_CODE=? b.PARENT_FROM_CODE,

? ? ? ? ? v.MANAGE_FROM_CODE=? b.MANAGE_FROM_CODE,

? ? ? ? ? v.BRANCHES_FROM_CODE=? b.BRANCHES_FROM_CODE,

? ? ? ? ? v.DEPT_FROM_CODE=? b.DEPT_FROM_CODE,

? ? ? ? ? v.PERSON_FROM_CODE=? b.PERSON_FROM_CODE,

? ? ? ? ? v.FD_DEPT_LVL=? b.FD_DEPT_LVL,

? ? ? ? ? v.FD_POSN_LVL=? b.FD_POSN_LVL

when not matched then

? ? ? ? insert (

? ? ? ? ? ? ? v.FD_ID,

? ? ? ? ? v.FD_ORG_TYPE,

? ? ? ? ? v.FD_NAME,

? ? ? ? ? v.FD_NAME_PINYIN,

? ? ? ? ? v.FD_NAME_SIMPLE_PINYIN,

? ? ? ? ? v.FD_ORDER,

? ? ? ? ? v.FD_NO,

? ? ? ? ? v.FD_KEYWORD,

? ? ? ? ? v.FD_IS_AVAILABLE,

? ? ? ? ? v.FD_IS_ABANDON,

? ? ? ? ? v.FD_IS_BUSINESS,

? ? ? ? ? v.FD_IMPORT_INFO,

? ? ? ? ? v.FD_FLAG_DELETED,

? ? ? ? ? v.FD_LDAP_DN,

? ? ? ? ? v.FD_MEMO,

? ? ? ? ? v.FD_HIERARCHY_ID,

? ? ? ? ? v.FD_CREATE_TIME,

? ? ? ? ? v.FD_ALTER_TIME,

? ? ? ? ? v.FD_ORG_EMAIL,

? ? ? ? ? v.FD_PERSONS_NUMBER,

? ? ? ? ? v.FD_PRE_DEPT_ID,

? ? ? ? ? v.FD_PRE_POST_IDS,

? ? ? ? ? v.FD_THIS_LEADERID,

? ? ? ? ? v.FD_SUPER_LEADERID,

? ? ? ? ? v.FD_PARENTORGID,

? ? ? ? ? v.FD_PARENTID,

? ? ? ? ? v.FD_CATEID,

? ? ? ? ? v.AUTH_READER_FLAG,

? ? ? ? ? v.FROM_CODE,

? ? ? ? ? v.PARENT_FROM_CODE,

? ? ? ? ? v.MANAGE_FROM_CODE,

? ? ? ? ? v.BRANCHES_FROM_CODE,

? ? ? ? ? v.DEPT_FROM_CODE,

? ? ? ? ? v.PERSON_FROM_CODE,

? ? ? ? ? v.FD_DEPT_LVL,

? ? ? ? ? v.FD_POSN_LVL

? ? ? ? ? )

? ? ? ? values (

? ? ? ? ? b.FD_ID,

? ? ? ? ? b.FD_ORG_TYPE,

? ? ? ? ? b.FD_NAME,

? ? ? ? ? ? b.FD_NAME_PINYIN,

? ? ? ? ? ? b.FD_NAME_SIMPLE_PINYIN,

? ? ? ? ? b.FD_ORDER,

? ? ? ? ? ? b.FD_NO,

? ? ? ? ? ? b.FD_KEYWORD,

? ? ? ? ? ? b.FD_IS_AVAILABLE,

? ? ? ? ? ? b.FD_IS_ABANDON,

? ? ? ? ? ? b.FD_IS_BUSINESS,

? ? ? ? ? ? b.FD_IMPORT_INFO,

? ? ? ? ? ? b.FD_FLAG_DELETED,

? ? ? ? ? ? b.FD_LDAP_DN,

? ? ? ? ? ? b.FD_MEMO,

? ? ? ? ? ? b.FD_HIERARCHY_ID,

? ? ? ? ? ? b.FD_CREATE_TIME,

? ? ? ? ? ? b.FD_ALTER_TIME,

? ? ? ? ? ? b.FD_ORG_EMAIL,

? ? ? ? ? ? b.FD_PERSONS_NUMBER,

? ? ? ? ? ? b.FD_PRE_DEPT_ID,

? ? ? ? ? ? b.FD_PRE_POST_IDS,

? ? ? ? ? ? b.FD_THIS_LEADERID,

? ? ? ? ? ? b.FD_SUPER_LEADERID,

? ? ? ? ? ? b.FD_PARENTORGID,

? ? ? ? ? ? b.FD_PARENTID,

? ? ? ? ? ? b.FD_CATEID,

? ? ? ? ? ? b.AUTH_READER_FLAG,

? ? ? ? ? ? b.FROM_CODE,

? ? ? ? ? ? b.PARENT_FROM_CODE,

? ? ? ? ? ? b.MANAGE_FROM_CODE,

? ? ? ? ? ? b.BRANCHES_FROM_CODE,

? ? ? ? ? ? b.DEPT_FROM_CODE,

? ? ? ? ? ? b.PERSON_FROM_CODE,

? ? ? ? ? ? b.FD_DEPT_LVL,

? ? ? ? ? ? b.FD_POSN_LVL

? ? ? ? ) ;? ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末毒租,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子箱叁,更是在濱河造成了極大的恐慌墅垮,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耕漱,死亡現(xiàn)場離奇詭異算色,居然都是意外死亡,警方通過查閱死者的電腦和手機螟够,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門灾梦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人妓笙,你說我怎么就攤上這事肮蛹≈瓢梗” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長旧噪。 經(jīng)常有香客問我,道長袋哼,這世上最難降的妖魔是什么逐抑? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮钥屈,結(jié)果婚禮上悟民,老公的妹妹穿的比我還像新娘。我一直安慰自己篷就,他們只是感情好射亏,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著腻脏,像睡著了一般鸦泳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上永品,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天做鹰,我揣著相機與錄音,去河邊找鬼鼎姐。 笑死钾麸,一個胖子當(dāng)著我的面吹牛更振,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播饭尝,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼肯腕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了钥平?” 一聲冷哼從身側(cè)響起实撒,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涉瘾,沒想到半個月后知态,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡立叛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年负敏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秘蛇。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡其做,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赁还,到底是詐尸還是另有隱情妖泄,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布艘策,位于F島的核電站浮庐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏柬焕。R本人自食惡果不足惜审残,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斑举。 院中可真熱鬧搅轿,春花似錦、人聲如沸富玷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赎懦。三九已至雀鹃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間励两,已是汗流浹背黎茎。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留当悔,地道東北人傅瞻。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓踢代,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嗅骄。 傳聞我的和親對象是個殘疾皇子胳挎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354