登入資料庫時,出現以下訊息
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
執行步驟如下:
C:\Documents and Settings\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.8.0 - Production on 星期六 2月 22 02:11:32 2014
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
連線至閒置的執行處理.
SQL> select * from v$log;
select * from v$log
*
ERROR 在行 1:
ORA-01034: ORACLE not available
SQL> shutdown immedate;
SP2-0717: 不正確的 SHUTDOWN 選項
SQL> startup mount;
已啟動 ORACLE 執行處理.
Total System Global Area 1033446772 bytes
Fixed Size 456052 bytes
Variable Size 1006632960 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
資料庫已掛載.
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- ----------
1 1 4183 104857600 1 YES INACTIVE
630406267 28-1月 -14
2 1 4187 104857600 1 NO CURRENT
630770856 28-1月 -14
3 1 4182 104857600 1 YES INACTIVE
630353234 28-1月 -14
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- ----------
4 1 4184 104857600 1 YES INACTIVE
630459029 28-1月 -14
5 1 4185 104857600 1 YES INACTIVE
630511593 28-1月 -14
6 1 4186 104857600 1 YES ACTIVE
630575534 28-1月 -14
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- ----------
7 1 4181 104857600 1 YES INACTIVE
630300343 28-1月 -14
已選取 7 個資料列.
SQL> recover database until time '2014-02-01 12:12:12';
媒體恢復執行完成.
SQL> alter database open resetlogs;
已更改資料庫.
SQL> shutdown
資料庫關閉.
資料庫已卸載.
已關閉 ORACLE 執行處理.
SQL> startup
已啟動 ORACLE 執行處理.
Total System Global Area 1033446772 bytes
Fixed Size 456052 bytes
Variable Size 1006632960 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
資料庫已掛載.
資料庫已開啟.
SQL>
恢復正常
資料來源:http://blog.sina.com.cn/s/blog_5a2405d101017qe9.html
2014年2月21日 星期五
2014年1月13日 星期一
SQL Server 2008 的試用版轉正式版
順序如下:
1、改機碼
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\ConfigurationState
CommonFiles 機碼的值改成 3
2、重開機
3、版本升級
SQL Server 安裝中心 > 維護 > 版本升級 > 安裝程式支援規則 > 點選確定 > 下一步 > 輸入產品金錀 > 確定
授權條款 > 點選 我接受授權條款 > 指定SQL SERVER 的執行個體 > 下一步
版本升級規則 > 下一步 >已完成升級版本的準備工作 (這裡會等很久) > 點選 升級 > 完成
technet 說要移除工具再使用重新安裝的方式KEYIN 序號,可直接使用版本升級會比較恰當…
資料來源:SQL2008試用到期
2013年12月12日 星期四
讓VM中的WIN2008 SERVER 不關機增加硬碟空間
1.先在VM上將win2008的磁碟空間設定設為更大的空間
2.在命令提示字元上按右鍵,以系統管理員身份開啟
3.輸入以下指令
DISKPART
LIST DISK
SELECT DISK 磁碟編號 EX: SELECT DISK 1
LIST PARTITION
SELECT PARTITION 分割區編號 EX:SELECT PARTITION 1
EXTEND
4.磁碟容量已在不停機的狀態下增加
5.依以下的win 2008操作路徑進行操作 開始->系統管理工具->電腦管理->磁碟管理
對著目標磁碟機點選右鍵 選取延伸磁碟區 > 下一步 > 完成
即可完成不關機狀態下直接增加硬碟空間,而且不需重新格式化。
資料來源:http://it.mlc.edu.tw/index.php/2012-03-24-08-48-16/2012-03-24-08-49-02/42-win/51-vm-win2008
2.在命令提示字元上按右鍵,以系統管理員身份開啟
3.輸入以下指令
DISKPART
LIST DISK
SELECT DISK 磁碟編號 EX: SELECT DISK 1
LIST PARTITION
SELECT PARTITION 分割區編號 EX:SELECT PARTITION 1
EXTEND
4.磁碟容量已在不停機的狀態下增加
5.依以下的win 2008操作路徑進行操作 開始->系統管理工具->電腦管理->磁碟管理
對著目標磁碟機點選右鍵 選取延伸磁碟區 > 下一步 > 完成
即可完成不關機狀態下直接增加硬碟空間,而且不需重新格式化。
資料來源:http://it.mlc.edu.tw/index.php/2012-03-24-08-48-16/2012-03-24-08-49-02/42-win/51-vm-win2008
2013年8月16日 星期五
Delphi 的 Utf-8 轉換
使用Delphi6以上版本有AnsiToUTF8可用
Delphi5以下可使用
http://blog.teatime.com.tw/1/post/419
提供的方案轉編碼
unit util_utf8;
interface
uses Windows;
type
UTF8String = AnsiString;
function AnsiToWide(const S: AnsiString): WideString;
function WideToUTF8(const WS: WideString): UTF8String;
function AnsiToUTF8(const S: AnsiString): UTF8String;
function UTF8ToWide(const US: UTF8String): WideString;
function WideToAnsi(const WS: WideString): AnsiString;
function UTF8ToAnsi(const S: UTF8String): AnsiString;
implementation
function AnsiToWide(const S: AnsiString): WideString;
var len: integer;
ws: WideString;
begin
Result:='';
if (Length(S) = 0) then
exit;
len:=MultiByteToWideChar(CP_ACP, 0, PChar(s), -1, nil, 0);
SetLength(ws, len);
MultiByteToWideChar(CP_ACP, 0, PChar(s), -1, PWideChar(ws), len);
Result:=ws;
end;
function WideToUTF8(const WS: WideString): UTF8String;
var len: integer;
us: UTF8String;
begin
Result:='';
if (Length(WS) = 0) then
exit;
len:=WideCharToMultiByte(CP_UTF8, 0, PWideChar(WS), -1, nil, 0, nil, nil);
SetLength(us, len);
WideCharToMultiByte(CP_UTF8, 0, PWideChar(WS), -1, PChar(us), len, nil, nil);
Result:=us;
end;
function AnsiToUTF8(const S: AnsiString): UTF8String;
begin
Result:=WideToUTF8(AnsiToWide(S));
end;
function UTF8ToWide(const US: UTF8String): WideString;
var len: integer;
ws: WideString;
begin
Result:='';
if (Length(US) = 0) then
exit;
len:=MultiByteToWideChar(CP_UTF8, 0, PChar(US), -1, nil, 0);
SetLength(ws, len);
MultiByteToWideChar(CP_UTF8, 0, PChar(US), -1, PWideChar(ws), len);
Result:=ws;
end;
function WideToAnsi(const WS: WideString): AnsiString;
var len: integer;
s: AnsiString;
begin
Result:='';
if (Length(WS) = 0) then
exit;
len:=WideCharToMultiByte(CP_ACP, 0, PWideChar(WS), -1, nil, 0, nil, nil);
SetLength(s, len);
WideCharToMultiByte(CP_ACP, 0, PWideChar(WS), -1, PChar(s), len, nil, nil);
Result:=s;
end;
function UTF8ToAnsi(const S: UTF8String): AnsiString;
begin
Result:=WideToAnsi(UTF8ToWide(S));
end;
end.
該方案有一個小小的bug
就是WideToUTF8 回傳的結果最後會加上一個換行符號
造成轉碼後的結果可能會跟預期不一樣。
最後可使用 S:= copy(S,0,Length(S)-1);
以修正預期產出之結果。
Delphi5以下可使用
http://blog.teatime.com.tw/1/post/419
提供的方案轉編碼
unit util_utf8;
interface
uses Windows;
type
UTF8String = AnsiString;
function AnsiToWide(const S: AnsiString): WideString;
function WideToUTF8(const WS: WideString): UTF8String;
function AnsiToUTF8(const S: AnsiString): UTF8String;
function UTF8ToWide(const US: UTF8String): WideString;
function WideToAnsi(const WS: WideString): AnsiString;
function UTF8ToAnsi(const S: UTF8String): AnsiString;
implementation
function AnsiToWide(const S: AnsiString): WideString;
var len: integer;
ws: WideString;
begin
Result:='';
if (Length(S) = 0) then
exit;
len:=MultiByteToWideChar(CP_ACP, 0, PChar(s), -1, nil, 0);
SetLength(ws, len);
MultiByteToWideChar(CP_ACP, 0, PChar(s), -1, PWideChar(ws), len);
Result:=ws;
end;
function WideToUTF8(const WS: WideString): UTF8String;
var len: integer;
us: UTF8String;
begin
Result:='';
if (Length(WS) = 0) then
exit;
len:=WideCharToMultiByte(CP_UTF8, 0, PWideChar(WS), -1, nil, 0, nil, nil);
SetLength(us, len);
WideCharToMultiByte(CP_UTF8, 0, PWideChar(WS), -1, PChar(us), len, nil, nil);
Result:=us;
end;
function AnsiToUTF8(const S: AnsiString): UTF8String;
begin
Result:=WideToUTF8(AnsiToWide(S));
end;
function UTF8ToWide(const US: UTF8String): WideString;
var len: integer;
ws: WideString;
begin
Result:='';
if (Length(US) = 0) then
exit;
len:=MultiByteToWideChar(CP_UTF8, 0, PChar(US), -1, nil, 0);
SetLength(ws, len);
MultiByteToWideChar(CP_UTF8, 0, PChar(US), -1, PWideChar(ws), len);
Result:=ws;
end;
function WideToAnsi(const WS: WideString): AnsiString;
var len: integer;
s: AnsiString;
begin
Result:='';
if (Length(WS) = 0) then
exit;
len:=WideCharToMultiByte(CP_ACP, 0, PWideChar(WS), -1, nil, 0, nil, nil);
SetLength(s, len);
WideCharToMultiByte(CP_ACP, 0, PWideChar(WS), -1, PChar(s), len, nil, nil);
Result:=s;
end;
function UTF8ToAnsi(const S: UTF8String): AnsiString;
begin
Result:=WideToAnsi(UTF8ToWide(S));
end;
end.
該方案有一個小小的bug
就是WideToUTF8 回傳的結果最後會加上一個換行符號
造成轉碼後的結果可能會跟預期不一樣。
最後可使用 S:= copy(S,0,Length(S)-1);
以修正預期產出之結果。
2012年11月15日 星期四
如何才能在收hotmail時不要自動登入Messenger
自從在hotmail改版之後,
每次在打開hotmail時,
都會自動"幫"我登入Messenger
感覺很無言…
難到只想單純使用hotmail也是種錯?
在改版之前,
只需要使用「快速檢視」下端的Messenger 點選登出之後。
就不會再自動登入Messenger了。
----------經過Google之後終於找到正解了。----------
將滑鼠移到 Hotmail 視窗右上角使用者帳號名稱處約 2~3 秒,
系統會跳出一個功能表,選擇「登出 Messenger」後。
終於可以離開每次在打開hotmail時,
都會自動"幫"我登入Messenger的生活了唷…
偉大的資料來源: http://www.james-only.com/2010/08/03/623/
每次在打開hotmail時,
都會自動"幫"我登入Messenger
感覺很無言…
難到只想單純使用hotmail也是種錯?
在改版之前,
只需要使用「快速檢視」下端的Messenger 點選登出之後。
就不會再自動登入Messenger了。
----------經過Google之後終於找到正解了。----------
將滑鼠移到 Hotmail 視窗右上角使用者帳號名稱處約 2~3 秒,
系統會跳出一個功能表,選擇「登出 Messenger」後。
終於可以離開每次在打開hotmail時,
都會自動"幫"我登入Messenger的生活了唷…
偉大的資料來源: http://www.james-only.com/2010/08/03/623/
2012年11月12日 星期一
com.jacob.com.ComFailException: VariantChangeType failed
使用JACOB操作WORD時出現錯誤。
錯誤訊息是 com.jacob.com.ComFailException: VariantChangeType failed
原本程式都可以正常運作,移機之後出現的怪問題啊!!
新增二個資料夾就解決了= =||||
C:\Windows\SysWOW64\config\systemprofile\Desktop
C:\Windows\System32\config\systemprofile\Desktop
終於看見WORD正常的運作了
資料來源:
http://blog.csdn.net/zcmssd/article/details/7443502
http://bytes.com/topic/c-sharp/answers/819740-c-service-excel-application-workbooks-open-fails-when-called-service#post3514712
2012年11月8日 星期四
7-zip 9.20版怪事
近日將遠瑞win2003 server 之ghost檔備份回公司電腦。
因為檔案過大,
所以使用 7-zip 32bit 9.20版 進行壓縮檔設定成分割壓縮,
每個分割檔設定1mb(因為網路很容斷線),
一共壓了6千多個檔案。
經過網路 努力下載之後.....
經過網路 努力下載之後.....
經過網路 努力下載之後.....
在本機端 為win 7 64bit
當然是安裝 7-zip 64bit 9.20版 的安裝檔
解壓縮居然會出錯!!! =___=
打開壓縮檔時,出現不明的錯誤。
看著巨大的6千多個分割檔,
可不想重新下載。
後來試了移除7-zip 64bit 9.20版
再win7上安裝 7-zip 32bit 9.20版 解壓就成功了。
這…是…什…麼…道…理。
特以此文記錄。
因為檔案過大,
所以使用 7-zip 32bit 9.20版 進行壓縮檔設定成分割壓縮,
每個分割檔設定1mb(因為網路很容斷線),
一共壓了6千多個檔案。
經過網路 努力下載之後.....
經過網路 努力下載之後.....
經過網路 努力下載之後.....
在本機端 為win 7 64bit
當然是安裝 7-zip 64bit 9.20版 的安裝檔
解壓縮居然會出錯!!! =___=
打開壓縮檔時,出現不明的錯誤。
看著巨大的6千多個分割檔,
可不想重新下載。
後來試了移除7-zip 64bit 9.20版
再win7上安裝 7-zip 32bit 9.20版 解壓就成功了。
這…是…什…麼…道…理。
特以此文記錄。
訂閱:
文章 (Atom)