久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle有什么常用腳本

160次閱讀
沒有評論

共計 3749 個字符,預計需要花費 10 分鐘才能閱讀完成。

這篇文章主要講解了“Oracle 有什么常用腳本”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Oracle 有什么常用腳本”吧!

1.linux 啟動數據庫腳本

#!/bin/bash

export ORACLE_HOSTNAME=emcc.example.com

echo  Starting the Oracle Database and network listener …..

echo 

export ORACLE_HOME=/u01/db/product/dbhome_1

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_SID=orcl

$ORACLE_HOME/bin/lsnrctl start

$ORACLE_HOME/bin/sqlplus  /as sysdba – _START_DB

 startup;

 alter system register;

 exit;

_START_DB

2. 查詢主外鍵依賴腳本

select b.owner as parent_owner,b.table_name as parent_table,a.owner as child_owner,a.table_name as child_table
from dba_constraints a, dba_constraints b
where a.constraint_type= R  

         and a.r_constraint_name = b. constraint_name 

         and b.constraint_type= P
         and b.table_name= 被依賴表名

3. 查看數據庫字符集

select * from nls_database_parameters;

4. 查詢數字代表的字符集

在 sqlplus 里通過 select nls_charset_name(852) from dual; 可以查看該數字代表的字符集。

03 03 54 45 58 50 4F 52 54 3A

其中,03 54 是 16 進制的數字,代表了一種字符集。將其轉換為 10 進制為:

SQL select to_number(0354 , xxxx) from dual;
TO_NUMBER(0354 , XXXX)
————————
                    852
查詢 852 代表的字符集
SQL select nls_charset_name(852) from dual;
NLS_CHAR
——–
ZHS16GBK

逆向操作:
SQL select nls_charset_id(ZHS16GBK) from dual;
NLS_CHARSET_ID(ZHS16GBK)
————————–
                      852

——————————————————————————————

如何查詢 dmp 文件的字符集
用 oracle 的 exp 工具導出的 dmp 文件也包含了字符集信息,dmp 文件的第 2 和第 3 個字節記錄了 dmp 文件的字符集。如果 dmp 文件不大,比如只有幾 M 或幾十 M,可以用 UltraEdit 打開 (16 進制方式),看第 2 第 3 個字節的內容,如 0354,然后用以下 SQL 查出它對應的字符集:
SQL select nls_charset_name(to_number( 0354 , xxxx)) from dual;
ZHS16GBK
如果 dmp 文件很大,比如有 2G 以上 (這也是最常見的情況),用文本編輯器打開很慢或者完全打不開,可以用以下命令(在 unix 主機上):
cat exp.dmp |od -x|head -1|awk {print $2 $3} |cut -c 3-6
然后用上述 SQL 也可以得到它對應的字符集。

5. 查看表空間的使用情況  
SELECT trunc(SUM(bytes) / (1024 * 1024 * 1024),2) AS free_space, tablespace_name 
FROM dba_free_space 
GROUP BY tablespace_name; 

SELECT a.tablespace_name, 
trunc(a.bytes/ (1024 * 1024 * 1024),2) total, 
trunc(b.bytes/ (1024 * 1024 * 1024),2) used, 
trunc(c.bytes/ (1024 * 1024 * 1024),2) free, 
trunc((b.bytes * 100) / a.bytes,2) % USED , 
trunc((c.bytes * 100) / a.bytes,2) % 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 tablespace_name, 

file_id, 

file_name, 

round(bytes / (1024 * 1024), 0) total_space 

FROM dba_data_files 

ORDER BY tablespace_name; 

6. 查看表空間中的對象

COLUMN segment_name format a20

select * from (

SELECT t.owner, t.segment_name,t.segment_type,

trunc((SUM(bytes)/1024/1024/1024),2) as SIZE_GB

From dba_segments t 

WHERE t.tablespace_name IN (TBS_SD , TBS_SSD)

AND t.segment_type LOBSEGMENT

GROUP BY t.owner,t.segment_name,t.segment_type

ORDER BY SUM(bytes) desc

) where rownum  = 20;

SELECT t.owner, t.segment_name,t.segment_type,

trunc((SUM(bytes)/1024/1024/1024),2) as SIZE_GB

From dba_segments t 

WHERE t.segment_name = table_name

AND t.segment_type LOBSEGMENT

GROUP BY t.owner,t.segment_name,t.segment_type

ORDER BY SUM(bytes) desc

7. 查看正在執行的 SQL

select a.terminal,a.username,b.SQL_FULLTEXT

from v$session a, v$sqlarea b 

where a.sql_address = b.address 

           and a.status =  ACTIVE

8.Interval 分區表

年:INTERVAL (NUMTOYMINTERVAL(1, year)

月:INTERVAL (NUMTOYMINTERVAL(1,’month’)

周:INTERVAL ( NUMTODSINTERVAL (7, day) )

日:INTERVAL ( NUMTODSINTERVAL (1, day) )

numtodsinterval(x , c) ,x 是一個數字,c 是一個字符串,
表明 x 的單位, 這個函數把 x 轉為 interval day to second 數據類型
常用的單位有 (day , hour , minute , second)

NUMTOYMINTERVAL(1, YEAR) 一年

NUMTOYMINTERVAL(1, MONTH) 一個月

NUMTODSINTERVAL(1, DAY) 一天

NUMTODSINTERVAL(1, HOUR) 一小時

NUMTODSINTERVAL(1, MINUTE) 一分鐘

NUMTODSINTERVAL(1, SECOND) 一秒

9. 查詢分區表信息

col partition_position format 999 head  Pos

col partition_name format a10 head  Name

col high_value format a50 head  High Value

select partition_position, partition_name, high_value

from dba_tab_partitions

where table_name =  T_PARTITION_SUB128  order by 1;

感謝各位的閱讀,以上就是“Oracle 有什么常用腳本”的內容了,經過本文的學習后,相信大家對 Oracle 有什么常用腳本這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-01發表,共計3749字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 龙海市| 丹巴县| 佳木斯市| 宜宾县| 洞口县| 云浮市| 张家港市| 盐亭县| 临武县| 杭州市| 阿坝| 荆州市| 德州市| 革吉县| 耒阳市| 抚宁县| 札达县| 松滋市| 大荔县| 拉萨市| 肇庆市| 曲水县| 遂宁市| 皋兰县| 嘉黎县| 永泰县| 栖霞市| 福建省| 泸水县| 高淳县| 黄冈市| 宁晋县| 敦煌市| 凤翔县| 高唐县| 西乌珠穆沁旗| 连江县| 洪雅县| 姜堰市| 乌兰浩特市| 陵川县|