$ sudo apt install libaio1 libaio-dev
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
Ubuntu 的library 和CentOS 名稱不太一樣...沒辦法
This man is too old to remember everything in his brain. Right now, he needs a place to write down what he has studied.
$ sudo apt install libaio1 libaio-dev
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
Ubuntu 的library 和CentOS 名稱不太一樣...沒辦法
############################ ubuntu ############################
$ sudo apt install python3-pip
$ sudo apt install python3-selenium
$ sudo apt install python3-bs4
$ sudo apt install python3-requests
$ sudo apt install xvfb
$ export DISPLAY=:99
$ Xvfb :99 -screen 0 1024x768x16 &
############################ fedora ############################
$ sudo yum install python3-pip
$ sudo pip3 install selenium
$ Xvfb :99 -screen 0 1024x768x16 &sudo pip3 install bs4
$ wget https://github.com/mozilla/geckodriver/releases/download/v0.35.0/geckodriver-v0.35.0-linux64.tar.gz
$ tar xvf geckodriver-v0.35.0-linux64.tar.gz
$ sudo cp geckodriver /usr/local/bin/
$ cat get_fedex.py
#!/usr/bin/python3
# 載入需要的套件
from selenium import webdriver
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
from selenium.webdriver.firefox.service import Service
import requests
import time
# 開啟瀏覽器視窗(Chrome)# 方法一:執行前需開啟chromedriver.exe且與執行檔在同一個工作目錄
#driver = webdriver.Chrome()
#service = Service(executable_path='/usr/local/bin/geckodriver')
service = Service('/usr/local/bin/geckodriver')
driver = webdriver.Firefox(service=service)
#driver = webdriver.Firefox()
# 方法二:或是直接指定exe檔案路徑
#driver = webdriver.Firefox("/usr/local/bin")
driver.implicitly_wait(3) #等10秒,讓網頁資料load進來
driver.get("https://www.fedex.com/zh-tw/shipping/surcharges.html") # 更改網址以前往不同網頁
#time.sleep(100)
#driver.find_elements(By.CLASS_NAME,"fxg-gdpr__accept-all-btn cc-aem-c-button cc-aem-c-button--responsive cc-aem-c-button--primary")[0].click()
#buttons=driver.find_elements(By.CLASS_NAME,"fxg-gdpr__accept-all-btn cc-aem-c-button cc-aem-c-button--responsive cc-aem-c-button--primary")
button=driver.find_elements(By.CSS_SELECTOR,".fxg-gdpr__accept-all-btn")[0] #使用Selenium IDE找出來 "accept all cookie" 的按鈕
print(button)
button.click()
driver.refresh() #接受cookie後,要將網頁refresh, 重load資料
#使用Selenium IDE找出來要抓資料
data=driver.find_elements(By.CSS_SELECTOR,".fuelsurcharg-dynamic-datalookup .cc-aem-c-table__tbody:nth-child(2) .cc-aem-c-table__tbody__td:nth-child(1)")[0]
print(data.get_attribute("innerText"))
data=driver.find_elements(By.CSS_SELECTOR,".fuelsurcharg-dynamic-datalookup .cc-aem-c-table__tbody:nth-child(2) .cc-aem-c-table__tbody__td:nth-child(2)")[0]
print(data.get_attribute("innerText"))
data=driver.find_elements(By.CSS_SELECTOR,".fuelsurcharg-dynamic-datalookup .cc-aem-c-table__tbody:nth-child(2) .cc-aem-c-table__tbody__td:nth-child(3)")[0]
print(data.get_attribute("innerText"))
#print (driver.title)
#html=driver.page_source
#print (html)
#soup = BeautifulSoup(driver.page_source, 'lxml')
#print(soup.prettify())
#
#with open('index.html', 'w', encoding='utf-8',) as file:
# file.write(soup.prettify())
driver.close() # 關閉瀏覽器視窗
####################### fedora linux:####################
$ sudo yum install python3-pip
$ sudo pip3 install selenium
$ export DISPLAY=:99
$ Xvfb :99 -screen 0 1024x768x16 &
$ cat test.pl
#!/usr/bin/perl
use Selenium::Remote::Driver;
#use Selenium::Firefox;
my $driver = Selenium::Remote::Driver->new(
'browser_name' => 'firefox',
'remote_server_addr' => '127.0.0.1',
'port' => '4444',
'platform' => 'linux',
'auto_close' => true,
'debug' => false
);
#my $driver = Selenium::Firefox->new;
$driver->set_timeout("implicit",10000);
$driver->set_implicit_wait_timeout(10000);
#$driver->get("https://www.google.com");
$driver->get("https://www.fedex.com/zh-tw/shipping/surcharges.html");
print $driver->get_title();
#############################################################
#兩種寫法都可以
#############################################################
#my @buttons = $driver->find_elements("//button[3]");
#print "@buttons\n";
#$buttons[0]->click;
#############################################################
my $button = $driver->find_element("//button[3]");
print "$button\n";
$button->click;
#############################################################
$driver->refresh;
my $data = $driver->find_element("//div[2]/div/table/tbody/tr/td");
#print "$data\n";
print "\n". $data->get_text(). "\n";
my $data = $driver->find_element("//div[2]/div/table/tbody/tr/td[2]");
#print "$data\n";
print "\n". $data->get_text(). "\n";
my $data = $driver->find_element("//div[2]/div/table/tbody/tr/td[3]");
#print "$data\n";
print "\n".$data->get_text() ."\n";
#$driver->close;
https://blog.51cto.com/sugarlovecxq/1551000
环境:CentOS release 6.2 (Final) 64bit
安装:
1.在官网下载Linux版的JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2.直接安装即可
[root@localhost opt]# rpm -ivhjdk-8u20-linux-x64.rpm
本次下载的是rpm格式的,如果下载的是jdk-8u20-linux-x64.tar.gz,也就是后缀名是tar.gz格式的,放在/usr/java下直接解压,然后设置下环境变量就可以。
3.设置环境变量
a.编辑vi /etc/profile文件,添加如下几句:
export JAVA_HOME=/usr/java/jdk1.8.0_20
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
export DISPLAY=locahost:0
以上这样设置环境变量会对所有的用户的shell都生效的。
b.也可以直接在命令行输入以上几句,但是这样设置环境变量只对当前的shell 生效,如果再打开一个shell,就不可以使用刚刚设置的环境变量
c.还有一种方法就是编辑.bashrc文件设置环境变量,这样设置只对当前设置的 某个用户有效。
设置好之后,使其生效
[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $CLASSPATH
[root@localhost ~]# echo $JAVA_HOME
[root@localhost ~]# echo $PATH
4.验证JDK是否可以使用
[root@localhost ~]# vi java_test.java
class java_test { public static void main(String[] args) { System.out.println("This is java program"); } }
编辑之后保存
[root@localhost ~]# javacjava_test.java
会发现在当前目录下产生java_test.class文件,
[root@localhost ~]# java java_test
卸载:
1.查看
[root@localhost ~]# rpm -qa|grep jdk
jdk1.8.0_20-1.8.0_20-fcs.x86_64
如果使用[root@localhost ~]# java –version可以看到有安装java,可以使用以下的方法进行查看
rpm -qa|grep gcj、rpm -qa|grep java 、rpm -qa|grep jre查看
2.卸载
使用rpm –e 进行卸载即可
[root@localhost ~]# rpm -ejdk1.8.0_20-1.8.0_20-fcs.x86_64
以上就是java的安装与卸载大致过程。
來源 https://blog.csdn.net/qq_34556414/article/details/82836112
SYS用户可查询 buffer header数据,可以从数据库的数据字典表中查询得到。
这张字典表就是x$bh,其中的bh就是指buffer headers。
每个buffer在x$bh中都存在一条记录.。
buffer header中存储每个buffer容纳的数据块的文件号,块地址、状态等重要信息,根据这些信息,结合dba_extents视图,可以很容易地找到每个buffer对应的对象信息:
x$bh中还有一个重要的字段TCH,TCH为Touch的缩写,表示一个Buffer的访问次数,buffer被访问的次数越多,说明该buffer就越抢手,也就可能存在热块竞争的问题。
可以结合DUMP BH来对比X$BH中字段。
出處:https://blog.csdn.net/weixin_36324426/article/details/116813713
1、闲置时间的触发逻辑
ON IDLE g_idle_seconds --代码里面设置触发器,g_idle_seconds表示闲置多少秒后就触发
CALLcl_on_idle() --设置ON IDLE g_idle_seconds 触发时的处理函数
--所以系统怎么处理闲置时间的逻辑就全在cl_on_idle()此函数中了,你可以根据企业需求定制(ex:针对某一个用户不管制)
2、系统哪里可以设置闲置时间?管控方式怎样?
①.优先根据「p_zz」里面该程序设定的『闲置时间』管控方式
②.如果①里面是“3:遵照整体设定”,则再 根据「p_zx」该用户里面设定的『权限类别』中「p_zw」的『闲置控管方式』
③.如果②继续是“3:遵照整体设定”,则最后根据「aoos010」里面设定的『闲置设置』“启动闲置时间”、“闲置处理”.....