因為幫忙安裝公司的新電腦,新電腦要安裝Windows 11,安裝完後在初始設定時,有一個步驟需要網路連線,而且之後的步驟還需要有用微軟帳號登入的部份,但是這些網路的設定完成後,我們也是用不到。
在我的印象中,之前安裝系統時會有一個跳過的選項,但是現在windows 11上已經看不到了,所以上網查了一下,可以用Shift + F10開啟命令列,再輸入「oobe\bypassnro」之後,系統會重開機,接著在設定的畫面中就會多出一個「我沒有網際網路 」的選項了。
撇開習慣,發現幸福就在平凡之中。 記錄生活、學習心得、工作遇到的問題與想法。
因為幫忙安裝公司的新電腦,新電腦要安裝Windows 11,安裝完後在初始設定時,有一個步驟需要網路連線,而且之後的步驟還需要有用微軟帳號登入的部份,但是這些網路的設定完成後,我們也是用不到。
在我的印象中,之前安裝系統時會有一個跳過的選項,但是現在windows 11上已經看不到了,所以上網查了一下,可以用Shift + F10開啟命令列,再輸入「oobe\bypassnro」之後,系統會重開機,接著在設定的畫面中就會多出一個「我沒有網際網路 」的選項了。
查看日志位置:lsnrctl status
執行指令後,如以找到下列的訊息,就是log file的位置:
Listerer Log File /erptest/test/11.2.0/log/diag/tnslsnr/13R11/test/alert/log.xml
進入log file的目錄,可以發現有許多的xml檔,它就是log檔,檔名log.xml就是目前使用中的log,其他都是自動備份的log:
Oracle Database有一個AWR的工具,它收集了與效能有關的統計數據。
首先進入$ORACLE_HOME/rdbms/admin的目錄下,登入sqlplus並執行一個腳本:@awrrpt.sql,接著按照提示就可以將效能資料導出成txt或html的格式
SQL> @awrrpt.sql
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Name Inst Num Instance
----------- ------------ -------- ------------
259210000 TEST 1 TEST
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: html
Type Specified: html <--輸入html,表示要導出成網頁的格式
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------ -------- ------------ ------------ ------------
* 259210000 1 TEST TEST TEST_DB
Using 259210000 for database Id
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
Enter value for num_days: 14 <--選擇snapshot的天數
Listing the last 14 days of Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
TEST TEST 79405 08 Feb 2024 01:00 1
79406 08 Feb 2024 02:00 1
79407 08 Feb 2024 03:00 1
(略)
79603 16 Feb 2024 07:00 1
79604 16 Feb 2024 08:00 1
79605 16 Feb 2024 09:00 1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 79405
Begin Snapshot Id specified: 79405 <--輸入開始的Snap Id
Enter value for end_snap: 79605
End Snapshot Id specified: 79605 <--輸入結束的Snap Id
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_79405_79605.html. To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: <--輸入指定的檔名,如不輸入,則以預設值
Using the report name awrrpt_1_79405_79605.html
<html lang="en"><head><title>AWR Report for DB: TEST, Inst: TEST, Snaps: 79405-79605</title>
<style type="text/css">
body.awr {font:bold 10pt Arial,Helvetica,Geneva,sans-serif;color:black; background:White;}
pre.awr {font:8pt Courier;color:black; background:White;}
(略)
最後會產生一個html的檔案,就可以看指定的時段內,DB的效能資料了。
因為微軟模擬飛行的遊戲需要中文化,網路上的說法是官方中文包放在遊戲目錄內,要自己更名,也就是將中文包的檔名改成英文檔名,但是遊戲的目錄下有一百多個中文包,所以用powershell來批次處理,希望改完後可以成功中文化
這支程式會先將英文檔名更名備份,再將中文檔名改為英文檔名,因為有設定參數,所以其實也可以用來批次處理其他的檔案
# -----程式使用方式----- # 語法: test001.ps1 -en [英文語系檔名] -tw [中文語系檔名] # 例如: test001.ps1 -en us_en.lang -tw tw_cn.lang # ------------------- #param是設定參數,如下設定了兩個參數:en、tw param($en,$tw) $US_filename = $en #英文語系檔 $TW_filename = $tw #中文語系檔 $US_filename_bk = $US_filename + ".bk" #英文原始檔備份的檔名 if ( $US_filename -and $TW_filename) { get-childitem -Path "E:\images\test001" -Filter $US_filename -Recurse | foreach { write-host "----------------------------------------------------------------" write-host "原始檔名:" $_.FullName #更名 Rename-Item -Path $_.FullName -NewName $US_filename_bk $US_Fullname_bk = -join($_.DirectoryName,"\$US_filename_bk") #檢查更名是否成功 if ((Test-Path -Path $US_Fullname_bk )) { write-host "更名:" $_.Name "-->" $US_filename_bk #複製中文語系並更名 $TW_Fullname = -join($_.DirectoryName,"\$TW_filename") #完整的中文語系路徑 $US_Fullname = -join($_.DirectoryName,"\$US_filename") #完整的英文語系路徑(Copy用) Copy-Item -Path $TW_Fullname -Destination $US_Fullname -Force write-host "複製並更名:" $TW_Fullname "-->" $US_filename_bk } else { write-host "更名失敗" } } } else { write-host "參數en或tw的值為空白,語法:test001.ps1 -en [英文語系檔名] -tw [中文語系檔名]" }
有一台Oracle Data guard的Standby DB,想要變更它的archive log路徑。
其實就跟Standalone一樣的做法,至於Primary DB則無需變動。
1、查詢目前archive log的狀態
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /a/archive
Oldest online log sequence 104171
Next log sequence to archive 0
Current log sequence 104175
2、查詢DB的parametre:log_archive_dest_1
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=/a/archive
3、變更archive log的路徑
SQL> alter system set log_archive_dest_1='LOCATION=/b/archive' scope=both;
4、強制switch log來檢查在新目錄下是否有產生archive log file
SQL> alter system switch logfile;
如果在新的路徑/b/archive下有產生新的archive log就表示成功了。
DBMS_APPLICATION_INFO是一个非常有用的package,它提供了在V$SESSION 新增自訂紀錄的功能,以便追蹤SESSION
例如我們有一個第三方的程式連線DB,但是從v$session的資訊看來,只能查詢到程式名稱,但是不知道是誰執行了這個程式,所以每次發現某個session執行時間很久時,就只能強迫刪除,無法進一步與使用者討論。
此時就可以利用DBMS_APPLICATION_INFO來將自訂的紀錄提供到v$session中,簡單的範例如下:
declare
aa number ;
v_action varchar2(50);
v_module varchar2(50);
v_client_info varchar2(50);
begin
dbms_application_info.set_action('設定action資料');
dbms_application_info.set_module('設定Module資料','設定Action資料');
dbms_application_info.set_client_info('設定Client_info資料');
select 1+1 into aa from dual;
dbms_application_info.read_client_info( v_client_info);
dbms_application_info.read_module(v_module,v_action);dbms_output.put_line('Client_info => ' || v_client_info) ;
dbms_output.put_line('Action => ' || v_action) ;
dbms_output.put_line('Module => ' || v_module);end;
其中dbms_application_info.set_module有兩個參數,第一個是設定moduel,第二個是設定action, 換句話說第二個參數與set_action是一樣的效果。
另外也可以用read_client_info與read_module這兩個函數來取出v$session中的client_info、module與action欄位的值
查physical processors數量
# kstat -m cpu_info | grep chip_id | sort -u | wc -l | tr -d ' '
查virtual processors數量
# kstat -m cpu_info | grep 'module: cpu_info' | sort -u | wc -l | tr -d ' '
查CPU的Core數
# kstat -m cpu_info | grep core_id | sort -u | wc -l | tr -d ' '
每顆CPU有多少Core:(Core)/(physical processors)
每個Core有多少的Threads:(virtual processors)/(Core)