Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
smileNicky
oracle_optimize_sql
提交
953b8532
O
oracle_optimize_sql
项目概览
smileNicky
/
oracle_optimize_sql
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oracle_optimize_sql
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
953b8532
编写于
6月 19, 2020
作者:
马
马增群
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
上传sql monitor相关script脚本
上级
0809b2d7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
571 addition
and
0 deletion
+571
-0
sql monitor/script/document.js
sql monitor/script/document.js
+8
-0
sql monitor/script/flashver.js
sql monitor/script/flashver.js
+298
-0
sql monitor/script/loadswf.js
sql monitor/script/loadswf.js
+265
-0
未找到文件。
sql monitor/script/document.js
0 → 100644
浏览文件 @
953b8532
document
.
writeln
(
'
<object id=
\
"utility
\
" name=
\
"
\
" classid=
\
"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000
\
" codebase=
\
"" + activexDownloadURL + "#version=7,0,14,0
\
" width=
\
"100
\
" height=
\
"50
\
">
'
);
document
.
writeln
(
'
<param name=
\
"movie
\
" value=
\
"history.swf
\
" />
'
);
document
.
writeln
(
'
<param name=
\
"FlashVars
\
" value=
\
"
'
+
fv
+
'
&$_lconid=
'
+
top
.
lc_id
+
'
\
"/>
'
);
document
.
writeln
(
'
<param name=
\
"quality
\
" value=
\
"high
\
" />
'
);
document
.
writeln
(
'
<param name=
\
"bgcolor
\
" value=
\
"#FFFFFF
\
" />
'
);
document
.
writeln
(
'
<param name=
\
"profile
\
" value=
\
"false
\
" />
'
);
document
.
writeln
(
'
<embed id=
\
"utilityEmbed
\
" name=
\
"history.swf
\
" src=
\
"emviewers/scripts/history.swf
\
" type=
\
"application/x-shockwave-flash
\
" flashvars=
\
"
'
+
fv
+
'
&$_lconid=
'
+
top
.
lc_id
+
'
\
" profile=
\
"false
\
" quality=
\
"high
\
" bgcolor=
\
"#FFFFFF
\
" width=
\
"100
\
" height=
\
"50
\
" align=
\
"
\
" pluginspage=
\
"" + pluginDownloadURL + "
\
"></embed>
'
);
document
.
writeln
(
'
</object>
'
);
sql monitor/script/flashver.js
0 → 100644
浏览文件 @
953b8532
var
isIE
=
(
navigator
.
appVersion
.
indexOf
(
"
MSIE
"
)
!=
-
1
)
?
true
:
false
;
var
isWin
=
(
navigator
.
appVersion
.
toLowerCase
().
indexOf
(
"
win
"
)
!=
-
1
)
?
true
:
false
;
var
isOpera
=
(
navigator
.
userAgent
.
indexOf
(
"
Opera
"
)
!=
-
1
)
?
true
:
false
;
function
ControlVersion
()
{
var
version
;
var
axo
;
var
e
;
// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
try
{
// version will be set for 7.X or greater players
axo
=
new
ActiveXObject
(
"
ShockwaveFlash.ShockwaveFlash.7
"
);
version
=
axo
.
GetVariable
(
"
$version
"
);
}
catch
(
e
)
{
}
if
(
!
version
)
{
try
{
// version will be set for 6.X players only
axo
=
new
ActiveXObject
(
"
ShockwaveFlash.ShockwaveFlash.6
"
);
// installed player is some revision of 6.0
// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
// so we have to be careful.
// default to the first public version
version
=
"
WIN 6,0,21,0
"
;
// throws if AllowScripAccess does not exist (introduced in 6.0r47)
axo
.
AllowScriptAccess
=
"
always
"
;
// safe to call for 6.0r47 or greater
version
=
axo
.
GetVariable
(
"
$version
"
);
}
catch
(
e
)
{
}
}
if
(
!
version
)
{
try
{
// version will be set for 4.X or 5.X player
axo
=
new
ActiveXObject
(
"
ShockwaveFlash.ShockwaveFlash.3
"
);
version
=
axo
.
GetVariable
(
"
$version
"
);
}
catch
(
e
)
{
}
}
if
(
!
version
)
{
try
{
// version will be set for 3.X player
axo
=
new
ActiveXObject
(
"
ShockwaveFlash.ShockwaveFlash.3
"
);
version
=
"
WIN 3,0,18,0
"
;
}
catch
(
e
)
{
}
}
if
(
!
version
)
{
try
{
// version will be set for 2.X player
axo
=
new
ActiveXObject
(
"
ShockwaveFlash.ShockwaveFlash
"
);
version
=
"
WIN 2,0,0,11
"
;
}
catch
(
e
)
{
version
=
-
1
;
}
}
return
version
;
}
// JavaScript helper required to detect Flash Player PlugIn version information
function
GetSwfVer
()
{
// NS/Opera version >= 3 check for Flash plugin in plugin array
var
flashVer
=
-
1
;
if
(
navigator
.
plugins
!=
null
&&
navigator
.
plugins
.
length
>
0
)
{
if
(
navigator
.
plugins
[
"
Shockwave Flash 2.0
"
]
||
navigator
.
plugins
[
"
Shockwave Flash
"
])
{
var
swVer2
=
navigator
.
plugins
[
"
Shockwave Flash 2.0
"
]
?
"
2.0
"
:
""
;
var
flashDescription
=
navigator
.
plugins
[
"
Shockwave Flash
"
+
swVer2
].
description
;
var
descArray
=
flashDescription
.
split
(
"
"
);
var
tempArrayMajor
=
descArray
[
2
].
split
(
"
.
"
);
var
versionMajor
=
tempArrayMajor
[
0
];
var
versionMinor
=
tempArrayMajor
[
1
];
if
(
descArray
[
3
]
!=
""
)
{
tempArrayMinor
=
descArray
[
3
].
split
(
"
r
"
);
}
else
{
tempArrayMinor
=
descArray
[
4
].
split
(
"
r
"
);
}
var
versionRevision
=
tempArrayMinor
[
1
]
>
0
?
tempArrayMinor
[
1
]
:
0
;
var
flashVer
=
versionMajor
+
"
.
"
+
versionMinor
+
"
.
"
+
versionRevision
;
}
}
// MSN/WebTV 2.6 supports Flash 4
else
if
(
navigator
.
userAgent
.
toLowerCase
().
indexOf
(
"
webtv/2.6
"
)
!=
-
1
)
flashVer
=
4
;
// WebTV 2.5 supports Flash 3
else
if
(
navigator
.
userAgent
.
toLowerCase
().
indexOf
(
"
webtv/2.5
"
)
!=
-
1
)
flashVer
=
3
;
// older WebTV supports Flash 2
else
if
(
navigator
.
userAgent
.
toLowerCase
().
indexOf
(
"
webtv
"
)
!=
-
1
)
flashVer
=
2
;
else
if
(
isIE
&&
isWin
&&
!
isOpera
)
{
flashVer
=
ControlVersion
();
}
return
flashVer
;
}
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function
DetectFlashVer
(
reqMajorVer
,
reqMinorVer
,
reqRevision
)
{
versionStr
=
GetSwfVer
();
if
(
versionStr
==
-
1
)
{
return
false
;
}
else
if
(
versionStr
!=
0
)
{
if
(
isIE
&&
isWin
&&
!
isOpera
)
{
// Given "WIN 2,0,0,11"
tempArray
=
versionStr
.
split
(
"
"
);
// ["WIN", "2,0,0,11"]
tempString
=
tempArray
[
1
];
// "2,0,0,11"
versionArray
=
tempString
.
split
(
"
,
"
);
// ['2', '0', '0', '11']
}
else
{
versionArray
=
versionStr
.
split
(
"
.
"
);
}
var
versionMajor
=
versionArray
[
0
];
var
versionMinor
=
versionArray
[
1
];
var
versionRevision
=
versionArray
[
2
];
// is the major.revision >= requested major.revision AND the minor version >= requested minor
if
(
versionMajor
>
parseFloat
(
reqMajorVer
))
{
return
true
;
}
else
if
(
versionMajor
==
parseFloat
(
reqMajorVer
))
{
if
(
versionMinor
>
parseFloat
(
reqMinorVer
))
return
true
;
else
if
(
versionMinor
==
parseFloat
(
reqMinorVer
))
{
if
(
versionRevision
>=
parseFloat
(
reqRevision
))
return
true
;
}
}
return
false
;
}
}
function
AC_AddExtension
(
src
,
ext
)
{
if
(
src
.
indexOf
(
'
?
'
)
!=
-
1
)
return
src
.
replace
(
/
\?
/
,
ext
+
'
?
'
);
else
return
src
+
ext
;
}
function
AC_Generateobj
(
objAttrs
,
params
,
embedAttrs
)
{
var
str
=
''
;
if
(
isIE
&&
isWin
&&
!
isOpera
)
{
str
+=
'
<object
'
;
for
(
var
i
in
objAttrs
)
str
+=
i
+
'
="
'
+
objAttrs
[
i
]
+
'
"
'
;
for
(
var
i
in
params
)
str
+=
'
><param name="
'
+
i
+
'
" value="
'
+
params
[
i
]
+
'
" />
'
;
str
+=
'
></object>
'
;
}
else
{
str
+=
'
<embed
'
;
for
(
var
i
in
embedAttrs
)
str
+=
i
+
'
="
'
+
embedAttrs
[
i
]
+
'
"
'
;
str
+=
'
> </embed>
'
;
}
document
.
write
(
str
);
}
function
AC_FL_RunContent
()
{
var
ret
=
AC_GetArgs
(
arguments
,
"
.swf
"
,
"
movie
"
,
"
clsid:d27cdb6e-ae6d-11cf-96b8-444553540000
"
,
"
application/x-shockwave-flash
"
);
AC_Generateobj
(
ret
.
objAttrs
,
ret
.
params
,
ret
.
embedAttrs
);
}
function
AC_GetArgs
(
args
,
ext
,
srcParamName
,
classid
,
mimeType
)
{
var
ret
=
new
Object
();
ret
.
embedAttrs
=
new
Object
();
ret
.
params
=
new
Object
();
ret
.
objAttrs
=
new
Object
();
for
(
var
i
=
0
;
i
<
args
.
length
;
i
=
i
+
2
)
{
var
currArg
=
args
[
i
].
toLowerCase
();
switch
(
currArg
)
{
case
"
classid
"
:
break
;
case
"
pluginspage
"
:
ret
.
embedAttrs
[
args
[
i
]]
=
args
[
i
+
1
];
break
;
case
"
src
"
:
case
"
movie
"
:
args
[
i
+
1
]
=
AC_AddExtension
(
args
[
i
+
1
],
ext
);
ret
.
embedAttrs
[
"
src
"
]
=
args
[
i
+
1
];
ret
.
params
[
srcParamName
]
=
args
[
i
+
1
];
break
;
case
"
onafterupdate
"
:
case
"
onbeforeupdate
"
:
case
"
onblur
"
:
case
"
oncellchange
"
:
case
"
onclick
"
:
case
"
ondblClick
"
:
case
"
ondrag
"
:
case
"
ondragend
"
:
case
"
ondragenter
"
:
case
"
ondragleave
"
:
case
"
ondragover
"
:
case
"
ondrop
"
:
case
"
onfinish
"
:
case
"
onfocus
"
:
case
"
onhelp
"
:
case
"
onmousedown
"
:
case
"
onmouseup
"
:
case
"
onmouseover
"
:
case
"
onmousemove
"
:
case
"
onmouseout
"
:
case
"
onkeypress
"
:
case
"
onkeydown
"
:
case
"
onkeyup
"
:
case
"
onload
"
:
case
"
onlosecapture
"
:
case
"
onpropertychange
"
:
case
"
onreadystatechange
"
:
case
"
onrowsdelete
"
:
case
"
onrowenter
"
:
case
"
onrowexit
"
:
case
"
onrowsinserted
"
:
case
"
onstart
"
:
case
"
onscroll
"
:
case
"
onbeforeeditfocus
"
:
case
"
onactivate
"
:
case
"
onbeforedeactivate
"
:
case
"
ondeactivate
"
:
case
"
type
"
:
case
"
codebase
"
:
case
"
id
"
:
ret
.
objAttrs
[
args
[
i
]]
=
args
[
i
+
1
];
break
;
case
"
width
"
:
case
"
height
"
:
case
"
align
"
:
case
"
vspace
"
:
case
"
hspace
"
:
case
"
class
"
:
case
"
title
"
:
case
"
accesskey
"
:
case
"
name
"
:
case
"
tabindex
"
:
ret
.
embedAttrs
[
args
[
i
]]
=
ret
.
objAttrs
[
args
[
i
]]
=
args
[
i
+
1
];
break
;
default
:
ret
.
embedAttrs
[
args
[
i
]]
=
ret
.
params
[
args
[
i
]]
=
args
[
i
+
1
];
}
}
ret
.
objAttrs
[
"
classid
"
]
=
classid
;
if
(
mimeType
)
ret
.
embedAttrs
[
"
type
"
]
=
mimeType
;
return
ret
;
}
sql monitor/script/loadswf.js
0 → 100644
浏览文件 @
953b8532
//
// This array should be modified everytime a new viewer is supported or when a
// new version of a viewer is introduced.
//
var
viewerMap
=
{
"
sqlmonitor
"
:
[
"
11
"
,
"
12
"
],
// SQL monitor
"
sqlpa
"
:
[
"
11
"
],
// SPA
"
xplan
"
:
[
"
11
"
],
// xplan
"
sql_detail
"
:
[
"
11
"
,
"
11.2.0.2.0
"
],
// SQL Details
"
EmergencyADDM
"
:
[
"
11
"
],
// Emergency ADDM
"
ComparePeriodReport
"
:
[
"
11
"
],
// Compare Period
"
cpaddm
"
:
[
"
12
"
],
// Compare Period 12g
"
AshViewer
"
:
[
"
11
"
],
// ASH Viewer
"
ash
"
:
[
"
12
"
]
};
// minimum version of the flash player we need
var
requiredMajorVersion
=
10
;
var
requiredMinorVersion
=
0
;
var
requiredRevision
=
0
;
// detect if flash player is available or not
var
hasProductInstall
=
DetectFlashVer
(
6
,
0
,
65
);
var
hasRequestedVersion
=
DetectFlashVer
(
requiredMajorVersion
,
requiredMinorVersion
,
requiredRevision
);
var
url_xml
=
'
historyUrl=history.htm%3F&lconid=
'
+
lc_id
+
'
&model=
'
+
encodeURIComponent
(
document
.
body
.
innerHTML
)
+
''
;
// extract db_version and component name from the XML
var
matchVersion
=
document
.
body
.
innerHTML
.
match
(
/db_version="
([\d\.]
*
)
"/
);
var
matchComponent
=
document
.
body
.
innerHTML
.
match
(
/orarep
\/(\w
*
)\/
/
);
// test for null
var
viewer_component
=
(
matchComponent
==
null
)?
''
:
matchComponent
[
1
];
var
viewer_db_version
=
(
matchVersion
==
null
)?
''
:
matchVersion
[
1
];
// handle case when the report tag has not available
if
(
viewer_component
==
''
&&
document
.
body
.
innerHTML
.
match
(
/sql_monitor_report/
))
{
// assume first generation SQL monitor report
viewer_component
=
'
sqlmonitor
'
;
viewer_db_version
=
'
11
'
;
}
// the foolowing code is to better support browser history
Vars
=
function
(
qStr
)
{
this
.
numVars
=
0
;
if
(
qStr
!=
null
)
{
var
nameValue
,
name
;
var
pairs
=
qStr
.
split
(
'
&
'
);
var
pairLen
=
pairs
.
length
;
for
(
var
i
=
0
;
i
<
pairLen
;
i
++
)
{
var
pair
=
pairs
[
i
];
if
(
(
pair
.
indexOf
(
'
=
'
)
!=
-
1
)
&&
(
pair
.
length
>
3
)
)
{
var
nameValue
=
pair
.
split
(
'
=
'
);
var
name
=
nameValue
[
0
];
var
value
=
nameValue
[
1
];
if
(
this
[
name
]
==
null
&&
name
.
length
>
0
&&
value
.
length
>
0
)
{
this
[
name
]
=
value
;
this
.
numVars
++
;
}
}
}
}
}
Vars
.
prototype
.
toString
=
function
(
pre
)
{
var
result
=
''
;
if
(
pre
==
null
)
{
pre
=
''
;
}
for
(
var
i
in
this
)
{
if
(
this
[
i
]
!=
null
&&
typeof
(
this
[
i
])
!=
'
object
'
&&
typeof
(
this
[
i
])
!=
'
function
'
&&
i
!=
'
numVars
'
)
{
result
+=
pre
+
i
+
'
=
'
+
this
[
i
]
+
'
&
'
;
}
}
if
(
result
.
length
>
0
)
result
=
result
.
substr
(
0
,
result
.
length
-
1
);
return
result
;
}
function
getSearch
(
wRef
)
{
var
searchStr
=
''
;
if
(
wRef
.
location
.
search
.
length
>
1
)
{
searchStr
=
new
String
(
wRef
.
location
.
search
);
searchStr
=
searchStr
.
substring
(
1
,
searchStr
.
length
);
}
return
searchStr
;
}
var
lc_id
=
Math
.
floor
(
Math
.
random
()
*
100000
).
toString
(
16
);
if
(
this
!=
top
)
{
top
.
Vars
=
Vars
;
top
.
getSearch
=
getSearch
;
top
.
lc_id
=
lc_id
;
}
//
// parseVersion(): parse a version string assuming that a version has at most 5
// components (e.g. "11.1.0.0.1"). Missing components are
// assumed to be 0 (i.e. "11.2" is a shortcut for "11.2.0.0.0").
//
// Return an array of 5 numbers, one number per component version
//
function
parseVersion
(
vString
)
{
// handle buggy values
if
(
typeof
(
vString
)
!=
'
string
'
)
return
[
0
,
0
,
0
,
0
,
0
];
else
{
// parse string
var
x
=
vString
.
split
(
'
.
'
);
// parse from string or default to 0 if can't parse.
// which is used for tests and maps to latest release
var
v0
=
(
x
[
0
]
==
'
X
'
)
?
999
:
(
parseInt
(
x
[
0
])
||
0
);
var
v1
=
(
x
[
1
]
==
'
X
'
)
?
999
:
(
parseInt
(
x
[
1
])
||
0
);
var
v2
=
(
x
[
2
]
==
'
X
'
)
?
999
:
(
parseInt
(
x
[
2
])
||
0
);
var
v3
=
(
x
[
3
]
==
'
X
'
)
?
999
:
(
parseInt
(
x
[
3
])
||
0
);
var
v4
=
(
x
[
4
]
==
'
X
'
)
?
999
:
(
parseInt
(
x
[
4
])
||
0
);
// return
return
new
Array
(
v0
,
v1
,
v2
,
v3
,
v4
);
}
}
//
// compareVersions(): compare two version strings
// Return:
// -1 if v1 > v2
// 0 if v1 == v2
// 1 if v1 < v2
//
function
compareVersions
(
v1String
,
v2String
)
{
// parse v1 and v2
var
v1
=
parseVersion
(
v1String
);
var
v2
=
parseVersion
(
v2String
);
// compare the two versions
for
(
var
verComp
=
0
;
verComp
<
5
;
verComp
++
)
{
if
(
v1
[
verComp
]
<
v2
[
verComp
])
return
1
;
else
if
(
v1
[
verComp
]
>
v2
[
verComp
])
return
-
1
;
}
// must be equal
return
0
;
}
//
// findViewerFile(viewerName, xmlVersion): given viewer name and xml file
// version, determine swf source file
//
function
findViewerFile
(
viewerName
,
fileVersion
)
{
// determine object for that viewer
var
viewerVersions
=
viewerMap
[
viewerName
];
if
(
viewerVersions
==
null
)
return
(
false
);
// find appropriate version
var
nbVersions
=
viewerVersions
.
length
;
for
(
var
verNum
=
0
;
verNum
<
nbVersions
;
verNum
++
)
{
// found right version?
if
(
compareVersions
(
viewerVersions
[
verNum
],
fileVersion
)
<
0
)
break
;
}
if
(
verNum
!=
0
)
// choose the previous viewer version if any
verNum
--
;
var
fileName
=
"
emviewers/
"
+
viewerName
+
"
/
"
+
viewerVersions
[
verNum
]
+
"
/
"
+
viewerName
;
return
fileName
;
}
// main logic
if
(
hasProductInstall
&&
!
hasRequestedVersion
)
{
var
MMPlayerType
=
(
isIE
==
true
)
?
"
ActiveX
"
:
"
PlugIn
"
;
var
MMredirectURL
=
window
.
location
;
document
.
title
=
document
.
title
.
slice
(
0
,
47
)
+
"
- Flash Player Installation
"
;
var
MMdoctitle
=
document
.
title
;
AC_FL_RunContent
(
"
src
"
,
"
emviewers/scripts/playerProductInstall
"
,
"
FlashVars
"
,
url_xml
,
"
width
"
,
"
100%
"
,
"
height
"
,
"
100%
"
,
"
align
"
,
"
middle
"
,
"
id
"
,
viewer_component
,
"
quality
"
,
"
high
"
,
"
bgcolor
"
,
"
#FFFFFF
"
,
"
name
"
,
viewer_component
,
"
allowScriptAccess
"
,
"
always
"
,
"
type
"
,
"
application/x-shockwave-flash
"
,
"
pluginspage
"
,
"
http://www.adobe.com/go/getflashplayer
"
);
}
else
if
(
hasRequestedVersion
)
{
// determine viewer swf file. Allow one to overwrite default using
// viewer_swf variable
var
viewer_file
=
(
typeof
(
viewer_swf
)
==
'
string
'
)?
viewer_swf
:
findViewerFile
(
viewer_component
,
viewer_db_version
);
// alert('Viewing file with ' + viewer_file);
if
(
!
viewer_file
)
{
if
(
viewer_component
!=
''
)
alert
(
'
Sorry, viewer name
\
"
'
+
viewer_component
+
'
\
" is not yet supported...
'
);
else
alert
(
'
Sorry, cannot not display report: unknown report type
'
);
}
else
{
AC_FL_RunContent
(
"
src
"
,
viewer_file
,
"
width
"
,
"
100%
"
,
"
height
"
,
"
100%
"
,
"
align
"
,
"
middle
"
,
"
id
"
,
viewer_component
,
"
quality
"
,
"
high
"
,
"
bgcolor
"
,
"
#FFFFFF
"
,
"
name
"
,
viewer_component
,
"
flashvars
"
,
url_xml
,
"
allowScriptAccess
"
,
"
always
"
,
"
type
"
,
"
application/x-shockwave-flash
"
,
"
pluginspage
"
,
"
http://www.adobe.com/go/getflashplayer
"
);
}
}
else
{
var
alternateContent
=
'
Fail to display EM Standalone report.
'
+
'
This content requires the Adobe Flash Player.
'
+
'
<a href=http://www.adobe.com/go/getflash/>Get Flash</a>
'
;
document
.
write
(
alternateContent
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录