常用sql語句
有需求才有動力
http://blog.csdn.net/yitian20000/article/details/6256716 常用sql語句
創建表空間:create tablespace 表空間名字 filedata 'd:\db.dbf' size 20m uniform size 128k;
說明:創建一個20M的表空間,且表空間的區域大小為128K 。'd:\db.dbf' 為數據文件
一個數據庫由多個表空間構成,表空間又是由段構成,而段又是由區構成,而區又是由塊構成,這樣構成的可以提高數據的效率;
實際上表空間又是由多個數據文件構成,當表空間不夠使用時,可以增加多個數據文件來增大表空間
增大表空間語句:alter tablespace 表空間名字 add filedata 'd:\db2.dbf' size 200m ;
表空間脫機:alter tablespace 表空間 offline;
oracle常用數據字典,oracle10增加了不少數據字典10g r1 有1713個,r2有1870個:
alter user hr identified by 123qwe account unlock;
然后hr用戶用sql developer去連接,幾個參數為
hr:qwe123:ip:port:sid(orcl)就成功了
alter user hr account lock 鎖定賬戶
alter user hr password expire 密碼過期
alter user hr identified by zxcasd 修改密碼
select distinct user_password from user_info; 過濾出user_password這一列,並去除重復行(加distinct)
select count(distinct user_password) from user_info; 計數這一列的總行數
select * from client_login_history order by login_date desc; 查看客戶端登錄歷史,降序排列
select * from client_login_history where user_name like 'xian%' order by login_date desc;
查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name');
select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name'); 查看某表的大小
select sum(bytes)/(1024) as "size(K)" from user_segments where segment_name=upper('&table_name');
select object_name,created from user_objects where object_name=upper('&table_name'); 查詢某表的創建時間。
刪除用戶下所有對象
drop user hr cascade;
要退出所有的hr用戶連接,才能正確執行。
查詢某用戶所屬表空間
select username,default_tablespace from user_users;
查詢某表空間所有表
select table_name from all_tables where TABLESPACE_NAME='EXAMPLE'
select * from all_tables where tablespace_name='FLT_DATA'; 查詢這個表空間有多少張表
select * from all_tables where owner='FLTDATA'; 查詢這個用戶有多少張表
select * from user_tables 以某個用戶登錄,查詢該用戶有多少張表
select * from user_indexes 以某個用戶登錄,查詢該用戶有多少個索引
select * from user_ind_columns where index_name=upper('&index_name'); 查看索引被索引的字段
select * from all_tables where owner='FLT'; 結果集本身就有每一張表的行數
select * from all_tables where owner='FLT' order by num_rows desc; 在上面的基礎上加了按記錄數降序排序
select sum(num_rows) as total from all_tables where owner='FLT'; 在上面的基礎上實現了將記錄數求和
select * from all_tables where tablespace_name='FLT_DATA' and owner='FLTDATA'; 查詢這個用戶的這個表空間有多少表,加了個and
select * from user_login_log where rownum <= 20 ; 用偽列rownum來限制輸出行數
select * from (select * from user_login_log order by start_time desc) where rownum < 220; 先降序處理,再對結果限制輸出行數,用了子查詢
select * from user_online_real_time where is_online=1 order by login_time desc; 7a的在線的客戶端都是通過cs登錄的
select * from user_info where user_id=10001522; 在上面的基礎上查看某個userid的具體定義
select * from v$session; 查詢當前登錄用戶相關信息
推理出數據庫密碼的加密方式,因為數了一下密文的位數是32位,並且不可逆,所以嘗試md5
明文:123abc!@#,然后站長工具的加解密工具,md5-32位小,得出密文:8c13b5750412d922b01b2da95d24f8b6,用下面這條sql查詢進行比對,驗證,結果不出所料
select * from user_info where user_password like '8c13%' and user_name like '%FG%';
sessions=1.1*processes+5
show parameter session
show parameter processes
select count(*) from v$session where status='ACTIVE'; 並發連接數
select value from v$parameter where name='processes'; 數據庫允許的最大連接數
select count(*) from v$process; 當前的數據庫連接數
select value from v$parameter where name='sessions'
select count(*) from v$session; 當前的session連接數
SQL> select username,count(username) from v$session where username is not null group by username; 查看不同用戶的連接數
USERNAME COUNT(USERNAME)
------------------------------ ---------------
FLT 686
SYSMAN 2
DBSNMP 2
SYS 1
SQL> select username,count(username) from v$session where username is not null group by username;
USERNAME COUNT(USERNAME)
------------------------------ ---------------
SYSMAN 6
DBSNMP 6
FLTDATA 116
SYS 1
grantee n. 受讓人;被授與者
查看用戶lcpsys擁有的角色:
SQL> select * from dba_role_privs where grantee='LCPSYS';
GRANTEE GRANTED_ROLE ADM DEF
------------------------------ ------------------------------ --- ---
LCPSYS DBA NO YES
SQL> select * from dba_role_privs where grantee='PLATFORM_USER';
GRANTEE GRANTED_ROLE ADM DEF
------------------------------ ------------------------------ --- ---
PLATFORM_USER CONNECT NO YES
PLATFORM_USER RESOURCE NO YES
查看用戶擁有的所有權限。
select privilege from dba_sys_privs where grantee='PLATFORM_USER'
union
select privilege from dba_sys_privs where grantee in
(select granted_role from dba_role_privs where grantee='PLATFORM_USER');
isqlplus
sqlplus是Oracle數據庫的最常用的一種環境工具,它是sqlplus的Web版本。初學者都可以使用isqlplus進行對數據庫的簡單的操作,它的操作界面是非常簡單的。
首先要啟動它的服務
其次http://ip:5560/isqlplus/
SQL*PLUS命令
連接到某一個schema(user),輸入正確的用戶名與密碼后,才能進去,然后help才可用,
sqlplus /nolog進入交互界面,而不登錄
隨時都可以連接到其它schema,同時只能連接一個schema,(連接到另一個schema的同時,就會從當前schema中斷開)。
斷開只需要輸入disco(不需要輸入完整,只要不重名就可以了)
連接一個database(instance)
[oracle@oracle1 ~]$ sqlplus SQL*Plus: Release 11.2.0.4.0 Production on Sun Oct 30 21:26:39 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. Enter user-name: test Enter password: Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> show user USER is "TEST" SQL> help index Enter Help [topic] for help. @ COPY PAUSE SHUTDOWN @@ DEFINE PRINT SPOOL / DEL PROMPT SQLPLUS ACCEPT DESCRIBE QUIT START APPEND DISCONNECT RECOVER STARTUP ARCHIVE LOG EDIT REMARK STORE ATTRIBUTE EXECUTE REPFOOTER TIMING BREAK EXIT REPHEADER TTITLE BTITLE GET RESERVED WORDS (SQL) UNDEFINE CHANGE HELP RESERVED WORDS (PL/SQL) VARIABLE CLEAR HOST RUN WHENEVER OSERROR COLUMN INPUT SAVE WHENEVER SQLERROR COMPUTE LIST SET XQUERY CONNECT PASSWORD SHOW SQL> disco Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> show user USER is "" SQL> conn Enter user-name: sys as sysdba Enter password: Connected. SQL> show user USER is "SYS" SQL> disc Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> show user USER is "" SQL> help SP2-0171: HELP system not available. SQL> conn Enter user-name: test Enter password: Connected. SQL> help HELP ---- Accesses this command line help system. Enter HELP INDEX or ? INDEX for a list of topics. You can view SQL*Plus resources at http://www.oracle.com/technology/documentation/ HELP|? [topic]
更改當前用戶的密碼
SQL> show user
USER is "TEST"
SQL> password
Changing password for TEST
Old password:
New password:
Retype new password:
Password changed
SQL>
SQL> define
DEFINE _DATE = "21-MAR-17" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "aa" (CHAR)
DEFINE _USER = "HR" (CHAR)
DEFINE _PRIVILEGE = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1102000400" (CHAR)
DEFINE _EDITOR = "vi" (CHAR)
DEFINE _O_VERSION = "Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR)
DEFINE _O_RELEASE = "1102000400" (CHAR)
SQL> define _editor=vi
SQL*PLUS命令書上介紹了連接命令、編輯命令、文件操作命令和交互式命令,下面我們補充一下格式化命令,這類命令的作用是對查詢結果進行格式化輸出,使得用戶查看時更加直觀。
在sqlplus執行sql時,經常碰到顯示結果,跨行輸出,致使可讀性很差,看起來特別亂。可通過set linesize及column命令進行調整。 常用的格式化命令有: COLUMN(COL) REPHEADER(REPH) REPFOOTER(REPF) TTITLE(TTI) BTITLE(BTI) SQL> show autocommit autocommit OFF SQL> set autocommit 10 SQL> set autocommit off 下面兩個是一樣的效果 SQL> set autocommit on SQL> set autocommit immediate 五花八門的報表格式,數據庫內容格式化輸出就成為報表 SQL> column instance_name heading 'aaa|bbb' SQL> column host_name heading 'ccc|ddd' SQL> select instance_name,host_name from v$instance; aaa bbb ---------------- ccc ddd ---------------------------------------------------------------- FLT CentOS5 SQL> column host_name heading 'ccc,ddd' SQL> / aaa bbb ---------------- ccc,ddd ---------------------------------------------------------------- FLT CentOS5 SQL> set underline = SQL> / aaa bbb ================ ccc,ddd ================================================================ FLT CentOS5 SQL> set underline '-' SQL> / aaa bbb ---------------- ccc,ddd ---------------------------------------------------------------- FLT CentOS5 SQL> SQL> column host_name clear SQL> column instance_name clear SQL> / INSTANCE_NAME ---------------- HOST_NAME ---------------------------------------------------------------- FLT CentOS5
任務綜合
set pagesize 66
set newpage 0
set linesize 70
title center
column a heading 'first|name'
column b heading 'month|salary' format $99,999
select a,b,c from aa where b>12000
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /archive_dest/
Oldest online log sequence 2606
Next log sequence to archive 2608
Current log sequence 2608
設置行寬,默認80字符寬,設為200字符寬
SQL> show linesize
linesize 80
SQL> set linesize 200
設置頁大小,默認每頁10行,重新設為15行
SQL> show pagesize
pagesize 10
SQL> set pagesize 15
設置列(字段)的寬度或名稱
設置每行能容納的字符數,范圍為1~32767 。在查詢時,通常一條記錄會顯示一行,如果一行顯示不下,則會自動換行。用戶輸入數據時,當一行輸入的值超過一行的最大值時,也會自動換行。
column c1 format a20 --將列c1(字符型)顯示最大寬度調整為20個字符
column c1 format 9999999 --將列c1(num型)顯示最大寬度調整為7個字符
column c1 heading c2 --將c1的列名輸出為c2
更改數字類型的輸出格式
col empno format '99.9'
更改字符類型的輸出格式,每行兩個字符
col ename format a2
SQL> column c123 format a30
SQL> column c1 format a10
SQL> column c2 format a10
SQL> column c3 format a10
SQL> ttitle center "this is top"
SQL> btitle center "this is bottom"
SQL> set pagesize 5
SQL> select name from v$database;
this is top
NAME
---------
FLT
this is bottom
SQL> set newpage 0
SQL> set pagesize 50
SQL> repheader page center 'perfect widgets'
SQL> repheader off
SQL> ttitle center 'T H I S I S T O P' skip 1 -
> center =================== skip 1 -
> left 'personal report' -
> right 'sales depart' skip 2
SQL> /
SQL> btitle skip 1 center 'this is bottom'
SQL> ttitle left 'personal' right 'page:' sql.pno skip 2
SQL> ttitle
ttitle ON and is the following 44 characters:
left 'personal' right 'page:' sql.pno skip 2
SQL> btitle
btitle ON and is the following 30 characters:
center 'this is bottom' skip 1
SQL> show all
appinfo is OFF and set to "SQL*Plus"
arraysize 15
autocommit OFF
autoprint OFF
autorecovery OFF
SQLPLUS有很多開關需要設置,如下:
set colsep' '; //域輸出分隔符
set echo off;//顯示start啟動的腳本中的每個sql命令,缺省為on
set feedback off;//回顯本次sql命令處理的記錄條數,缺省為on
set heading off; //輸出域標題,缺省為on
set pagesize 0;//輸出每頁行數,缺省為24,為了避免分頁,可設定為0。
set termout off; //顯示腳本中的命令的執行結果,缺省為on
set trimout on;//去除標准輸出每行的拖尾空格,缺省為off
set trimspool on;//去除重定向(spool)輸出每行的拖尾空格,缺省為off
set feedback off;
set heading off;
set echo off;
set term off;
set trimout on
set trimspool on
set linesize 120;
set pagesize 0;
spool xxx.sql;
.................................
.................................
.................................
spool off;
set feedback off|on
設置為on,當執行insert,update,pl/sql等操作時,會提示執行的結果。如果設置為off,則不顯示,缺省為on。
set heading off|on
設置打開(on)或關閉(off)查詢結果頁的頭信息,如列標題,缺省為on。
set echo on|off
顯示start|@啟動的腳本中的每個sql命令(輸出結果到文件中時即spool xxx.sql),缺省為on。缺省為off 。
set term[out] {on|off}
在用spool命令將一個大表中的內容輸出到一個文件中時,將內容輸出在屏幕上會耗費大量的時間,設置set termspool off后,則輸出的內容只會保存在輸出文件中,不會顯示在屏幕上,極大的提高了spool的速度。必須運行腳本時中才有用,缺省為on。
set trimout on{on|off}
去除標准輸出每行的拖尾空格,缺省為off.
set trimspool on{on|off};
去除重定向(spool)輸出每行的拖尾空格,缺省為off
set colsep |
控制列分隔符為什么東東,此處為 "|"
set pagesize [n] (0)
用於設置每頁的行數,范圍為1~ 50000,如果為0,則表示不分頁,不帶n,表示為0。否則,缺省情況下,當查詢結果的行數超過一頁的行數時,就會分頁顯示,每頁的開頭會顯示列標題信息。
set linesize n (120)
設置每行能容納的字符數,范圍為1~32767 。在查詢時,通常一條記錄會顯示一行,如果一行顯示不下,則會自動換行。用戶輸入數據時,當一行輸入的值超過一行的最大值時,也會自動換行。
set newp[age] {1|n|none}
設置頁與頁之間的分隔
當set newpage 0 時,會在每頁的開頭有一個小的黑方框。
當set newpage n 時,會在頁和頁之間隔着n個空行。
當set newpage none 時,會在頁和頁之間沒有任何間隔。
SQLPLUS中實現純凈輸出,格式化輸出
加-s參數的結果如下:
加開關的話,得到的結果會更加精簡,
怎么樣,輸出夠精簡的吧,可以直接作為結果傳輸給shell作為判斷條件了
[oracle@rac01 ~]$ cat testsqlplus.sh
#!/bin/bash
sqlplus -s "/ as sysdba" <<EOF
set pagesize
show parameter
EOF
[root@rac01 sysconfig]# su - oracle
[oracle@rac01 ~]$ sqlplus / as sysdba
SQL> select group_number,disk_number,name,path from v$asm_disk;
SQL> select username,sid,serial# from v$session;
SQL> show parameter service --查看服務名
SQL> show all --查看所有68個系統變量值
SQL> show user --顯示當前連接用戶
SQL> show error --顯示錯誤
SQL> set heading off --禁止輸出列標題,默認值為ON
SQL> set feedback off --禁止顯示最后一行的計數反饋信息,默認值為"對6個或更多的記錄,回送ON"
SQL> set timing on --默認為OFF,設置查詢耗時,可用來估計SQL語句的執行時間,測試性能
SQL> set sqlprompt "SQL> " --設置默認提示符,默認值就是"SQL> "
SQL> set linesize 1000 --設置屏幕顯示行寬,默認100
SQL> set autocommit ON --設置是否自動提交,默認為OFF
SQL> set pause on --默認為OFF,設置暫停,會使屏幕顯示停止,等待按下ENTER鍵,再顯示下一頁
SQL> set arraysize 1 --默認為15
SQL> set long 1000 --默認為80
存儲和打印查詢結果,輸出到一個文件或直接發送到打印機
SQL> spool outp SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- /oracle/oradata/FLT/redo03.log /oracle/oradata/FLT/redo02.log /oracle/oradata/FLT/redo01.log SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /oracle/oradata/FLT/control01.ctl /oracle/oradata/FLT/control02.ctl /oracle/oradata/FLT/control03.ctl SQL> select status from v$Instance; STATUS ------------ OPEN SQL> spool off [oracle@CentOS5 ~]$ cat outp.lst SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- /oracle/oradata/FLT/redo03.log /oracle/oradata/FLT/redo02.log /oracle/oradata/FLT/redo01.log SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /oracle/oradata/FLT/control01.ctl /oracle/oradata/FLT/control02.ctl /oracle/oradata/FLT/control03.ctl SQL> select status from v$Instance; STATUS ------------ OPEN SQL> spool off [oracle@CentOS5 ~]$
SQL命令
在oracle sql developer 2.1.1.64中操作 由於hr用戶與sys用戶權限不同,同一個語句可能在hr用戶中無輸出。 普通用戶hr show user; select * from v$diag_info; select count(*) from all_tables; 106張表 select count(*) from user_tables; select * from user_tables; select * from tab; select * from tabs; desc jobs; select distinct tablespace_name from tabs; 查看當前用戶使用的表空間 select * from user_tablespaces; select * from user_free_space; select * from user_users; 查看當前用戶默認表空間 select * from user_role_privs; 查看當前用戶的角色 select * from user_sys_privs; 查看當前用戶的系統權限 select * from user_tab_privs; 查看當前用戶的表級權限 sys用戶 show user; select * from v_$version; select * from product_component_version; 查看數據庫的版本(精確過濾出所要的數據) select version from product_component_version where substr(PRODUCT,1,6)='Oracle'; 查看數據文件-聯合查詢 select name from v$datafile union select name from v$tempfile; select * from v$controlfile; select * from v$logfile; select * from v$archived_log; 查看歸檔日志文件 select * from v$diag_info; select * from v$spparameter; select * from v$process; select * from v$instance; select * from v$database; select created, log_mode from v$database; 查看數據庫的創建日期與歸檔方式 select count(*) from all_tables; 2783張表 select count(*) from user_tables; 956張表 select distinct tablespace_name from tabs; 查看當前用戶使用的表空間 select * from dba_tablespaces; 查看所有的表空間 select * from user_tablespaces; select * from dba_free_space; 下面兩條是一樣的結果 select * from user_free_space; select * from user_users; 查看當前用戶默認表空間 select * from dba_users; select * from all_users; select * from tab; select * from tabs; 查看數據庫庫對象 select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status; 顯示當前連接 select * from v$session where status = 'INACTIVE' and username is not null; 查看表空間物理文件的名稱及大小 select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;
查看表空間已經使用的百分比 select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name order by ((a.bytes-b.bytes)/a.bytes) desc “Sum MB”表示表空間所有的數據文件總共在操作系統占用磁盤空間的大小 比如:test表空間有2個數據文件,datafile1為300MB,datafile2為400MB,那么test表空間的“Sum MB”就是700MB “userd MB”表示表空間已經使用了多少 “free MB”表示表空間剩余多少 “percent_user”表示已經使用的百分比 從上面中查看到FLT_INDX表空間已使用百分比達到90%以上,可以查看該表空間總共有幾個數據文件,每個數據文件是否自動擴展,可以自動擴展的最大值。 select file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB" from dba_data_files where tablespace_name='USERS' 查看 xxx 表空間是否為自動擴展 select file_id,file_name,tablespace_name,autoextensible,increment_by from dba_data_files order by file_id desc; 確認磁盤空間足夠,增加一個數據文件 alter tablespace MLOG_NORM_SPACE add datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf' size 10M autoextend on maxsize 20G 驗證已經增加的數據文件 select file_name,file_id,tablespace_name from dba_data_files where tablespace_name='MLOG_NORM_SPACE' 如何刪除表空間數據文件,如下: alter tablespace MLOG_NORM_SPACE drop datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf' 通過查詢dba_free_space表可以了解一個tablespace的空間使用情況。 TABLESPACE_NAME: Name of the tablespace containing the extent FILE_ID: ID number of the file containing the extent BLOCK_ID: Starting block number of the extent BYTES: Size of the extent in bytes BLOCKS: Size of the extent in ORACLE block 查詢表空間的free space select tablespace_name, count(*) as extends, round(sum(bytes)/1024/1024, 2) as MB, sum(blocks) as blocks from dba_free_space group by tablespace_name; SQL> select file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB" 2 from dba_data_files 3 where tablespace_name='FLT_ALARM_REALTIME_201512'; FILE_NAME -------------------------------------------------------------------------------- TABLESPACE_NAME bytes MB maxbytes MB ------------------------------ ---------- ----------- /5A/oracle/oradata/flt/FLT_alarm_realtime_201512.dbf FLT_ALARM_REALTIME_201512 200 32767.9844 SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production
查看各組件及版本
SQL> set pagesize 50
SQL> SELECT * FROM PRODUCT_COMPONENT_VERSION;
SQL> SELECT * FROM V$OPTION;
[oracle@CentOS5 ~]$ cat sid.sql
SELECT s.sid, s.serial#, p.spid as "OS PID",s.username, s.module, st.value/100 as "CPU sec"
FROM v$sesstat st, v$statname sn, v$session s, v$process p
WHERE sn.name = 'CPU used by this session' -- CPU
AND st.statistic# = sn.statistic#
AND st.sid = s.sid
AND s.paddr = p.addr
AND s.last_call_et < 1800 -- active within last 1/2 hour
AND s.logon_time > (SYSDATE - 240/1440) -- sessions logged on within 4 hours
ORDER BY st.value;
SQL> set linesize 200
SQL> @sid.sql
SID SERIAL# OS PID USERNAME MODULE CPU sec
---------- ---------- ------------ ------------------------------ ------------------------------------------------ ----------
1571 40501 3915 0
1547 4589 15249 SYS sqlplus@CentOS5 (TNS V1-V3) .05
1569 58974 15059 FLT httpd@CentOS5 (TNS V1-V3) .64
1552 7572 15090 FLT httpd@CentOS5 (TNS V1-V3) .69
1553 3776 14748 FLT httpd@CentOS5 (TNS V1-V3) 1.34
默認后綴是sql,除非用set suf 修改,如下:
SQL> set suf aa
SQL> store set ccd
Created file ccd
SQL> host ls -l
total 740
-rw-r--r-- 1 oracle oinstall 2068 Jun 18 16:36 ccd.aa
表是邏輯存儲單元,它是保存在數據庫的表空間的,而真正的數據是存放在表空間對應的數據文件中的。你可以問表在那個表空間中?方法是:
select tablespace_name from dba_tables where table_name='help';
SELECT * FROM ALL_OBJECTS WHERE object_type = 'TABLE' AND object_name = 'help';
SQL> select * from nls_session_parameters;
SQL> select * from v$nls_valid_values;
根據地區代碼表查詢身份證號,省市縣生日
模糊查詢district_name字段中有武功的行
select * from district_info
where district_name like '%武功%'
按照start_time字段升序排列
select * from gather_driver_login_log
order by start_time
The table below lists every Oracle-supplied package and type that is currently installed in the database.
SELECT DISTINCT Owner, Object_Type, Object_Name FROM DBA_Objects_AE
WHERE Owner IN (
'SYS', 'OUTLN', 'SYSTEM', 'CTXSYS', 'DBSNMP',
'LOGSTDBY_ADMINISTRATOR', 'ORDSYS',
'ORDPLUGINS', 'OEM_MONITOR', 'MDSYS', 'LBACSYS',
'DMSYS', 'WMSYS', 'OLAPDBA', 'OLAPSVR', 'OLAP_USER',
'OLAPSYS', 'EXFSYS', 'SYSMAN', 'MDDATA',
'SI_INFORMTN_SCHEMA', 'XDB', 'ODM')
AND Object_Type IN ('PACKAGE', 'TYPE')
ORDER BY Owner, Object_Type, Object_Name
[oracle@oracle admin]$ sqlplus /NOLOG SQL*Plus: Release 11.2.0.1.0 Production on Tue Sep 13 14:25:27 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> conn hr Enter password: Connected. SQL> select table_name from user_tables; TABLE_NAME ------------------------------ COUNTRIES JOBS EMPLOYEES LOCATIONS DEPARTMENTS JOB_HISTORY REGIONS 7 rows selected. SQL> disconn Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> show user; USER is "" SQL> conn sys Enter password: ERROR: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER SQL> conn sys/asdqwe123 ERROR: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER SQL> conn sys/asdqwe123 as sysdba Connected. SQL> show user USER is "SYS" SQL> conn hr Enter password: Connected. SQL> show user USER is "HR"
賬戶的鎖定與密碼的過期。
SQL> conn sys/123456 as sysdba
Connected.
SQL> alter user hr password expire;
User altered.
SQL> conn hr
Enter password:
ERROR:
ORA-28001: the password has expired
Changing password for hr
New password:
Retype new password:
Password changed
Connected.
SQL>
SQL> alter user hr account lock;
User altered.
SQL> disconn
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> conn hr
Enter password:
ERROR:
ORA-28000: the account is locked
alter user hr identified by zxcasd