亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(shù)文章
文章詳情頁

講解Oracle數(shù)據(jù)庫10g疑難問題的解決方法

瀏覽:119日期:2023-11-25 08:29:52

一、怎樣配置EM使其支持SSL 協(xié)議

10G EM 中的OMS, DBConsole,Agent 都支持SSL 協(xié)議.

具體操作:

◆1. 如果沒有環(huán)境變量ORACLE_SID,請先配置,或者直接敲入set ORACLE_SID=xxx (UNIX環(huán)境下請根據(jù)不同的shell類型使用不同的語法:setenv, export...)

◆2. 鍵入 emctl secure ,可以看到全部的選項:

secure oms

[] [-reset]

secure agent

secure em

secure dbconsole

[]

secure setpwd

secure status [oms url]

secure lock | unlock

◆3. 以配置oms為例

◆3.1 先停掉所有與oms相關(guān)的 服務(wù)(opmnctl stopall)

◆3.2 敲入: emctl secure oms,會讓你輸入registration password,然后系統(tǒng)會產(chǎn)生相關(guān)的證書文件, 如果一切順利的話,系統(tǒng)會有提示配置成功的信息

◆3.3 重新啟動服務(wù)(opmnctl startall)

缺省情況下,7777和4889這兩個端口是可用的, 配置成secure 模式后,4888端口是支持SSL協(xié)議的. 從$EM_HOMEsysmanconfig目錄下的emoms.properties文件中可以看到配置信息.

◆3.4 檢測oms是否已經(jīng)運(yùn)行在https協(xié)議下

emctl secure status oms url

注意: URL 要輸入完整,

例如: https://myserver:4888/em/upload/

◆4. Agent, DBconsole的配置基本類似.

◆5. 啟動瀏覽器運(yùn)行時,IE會彈出一個安裝安全證書的窗口,按'確認(rèn)'.

二、出現(xiàn)了問題,怎樣解決

以DB Control為例, 大致的步驟是這樣的:

◆1. emctl status dbconsole 查看db control 的狀態(tài)

◆2.去 $ORACLE_HOMEhostname_sidsysmanlog目錄下查看相關(guān)日志(emoms.log,emagent.log等)

◆3. 檢查配置文件 emd.properties,emoms.properties

目錄: $ORACLE_HOMEhostname_sidsysmanconfig

◆4. 確保監(jiān)聽器工作正常: lsnrctl status

◆5. 10G EM 使用的是配置文件中定義的連接串,而不是直接訪問tnsnames.ora .

目錄: $ORACLE_HOMEhostname_sidsysmanconfig

文件: emoms.properties.

參數(shù): oracle.sysman.eml.mntr.emdRepConnectDescriptor

三、修改了監(jiān)聽端口, 怎樣保證 DB Control 正常運(yùn)行

◆1. 修改 listener.ora 和tnsnames.ora 這兩個文件:

tnsnames.ora 中需要加入:

listener_1 =

(ADDRESS = (PROTOCOL = TCP)

(HOST = xxxx)(PORT = 新的端口))

然后啟動數(shù)據(jù)庫:

SQL> show parameter local_listener ;

SQL> alter system set local_listener='listener_1' scope=spfile;

重啟數(shù)據(jù)庫使得修改生效

◆2. 修改 $ORACLE_HOMEhostname_sidsysmanconfig

下的emoms.properties文件:

oracle.sysman.eml.mntr.emdRepPort=新的端口

oracle.sysman.eml.mntr.emdRepConnectDescriptor=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=新的端口)))(CONNECT_DATA=(SERVICE_NAME=xxx)))

◆3. 最后,還要修改 $ORACLE_HOMEhostname_sidsysmanemd

下的targets.xml:

◆4. 重新啟動監(jiān)聽器和dbconsole 服務(wù).

◆5. 如果嫌上面的操作麻煩,可以用emca這個命令行工具:

emca -h 查看所有可用的命令

emca -r 跳過資料檔案庫的創(chuàng)建.

四、怎樣修改 DB Control 的服務(wù)端口

缺省情況下, DB Control 的端口是5500, 可以參考下面的說明更改端口。

如果用戶想改變oms端口,必須改變以下三個文件,然后重啟db control以使得改變生效:

◆1.編輯$ORACLE_HOME/_/sysman/config/emoms.properties并改變以下參數(shù):

oracle.sysman.emSDK.svlt.ConsoleServerPort

oracle.sysman.emSDK.svlt.ConsoleServerHTTPSPort

◆2.編輯$ORACLE_HOME/_/sysman/config/emd.properties并改變以下參數(shù):

REPOSITORY_URL

emdWalletSrcUrl

◆3.編輯$ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole__/config/http-web-site.xml并改變以下參數(shù):

web-site port

注:請在修改前備份。

◆五、如何使用'Automatic SGA Management'

Automatic SGA Management 是 10G 引入的新特性之一,將初始化參數(shù)文件中與內(nèi)存管理密切有關(guān)的幾個參數(shù)抽取出來,交由數(shù)據(jù)庫去自行管理(由新增加的參數(shù)SGA_TARGET來管理),在一定程序上能減輕DBA的負(fù)擔(dān).

至于參數(shù)的合理性,還需要結(jié)合AWR Report 去驗(yàn)證.

SGA_TARGET = db_cache_size + db_nk_cache_size(n=2,4,...)

+ db_keep_cache_size + db_recycle_cache_size +

shared_pool_size + java_pool_size + large_pool_size + xxxx

xxx: 是一個保留值,從目前的實(shí)驗(yàn)來看,基本是4M

步驟:

◆1.

alter system set sga_target=300m scope=both

create pfile from spfile;

shutdown immediate;

修改init.ora 文件,將這些參數(shù)的值設(shè)成0:

db_cache_size, shared_pool_size, java_pool_size,large_pool_size

◆2. 啟動SQLPLUS,以新的pfile文件啟動數(shù)據(jù)庫

SQL> startup pfile='....'

讓我們來看看調(diào)整的結(jié)果:

SQL> select name, block_size, current_size from v$buffer_pool;

name block_size current_size

-------------------------------------------------------------

KEEP 8192 204

SQL> Select pool, sum(bytes)/1024/1024 as 'M bytes' from v$SGASTAT

group by pool;

pool M bytes

-------------------------------------------------

java pool 4

large pool 4

shared pool 84

205.002403

205.002403=buffer cache + log buffer + fixed sga + all others ...

改動java pool的值

SQL> alter system set java_pool_size=20M;

SQL> select name, block_size, current_size,prev_size from v$buffer_pool;

name block_size current_size prev_size

----------------------------------------------------------------------------------------------

KEEP 8192 188 204

SQL> Select pool, sum(bytes)/1024/1024 as 'M bytes' from v$SGASTAT

group by pool;

pool M bytes

-------------------------------------------------

java pool 20

large pool 4

shared pool 84

189.002403

可以看出, db_cache_size的值已經(jīng)被自動調(diào)小了.

再把java pool 的值改回去

SQL> alter system set java_pool_size=8M;

SQL> select name, block_size, current_size,prev_size from v$buffer_pool;

name block_size current_size prev_size

-----------------------------------------------------------------------------------

KEEP 8192 188 204

SQL> select name, block_size, current_size,prev_size from v$buffer_pool;

pool M bytes

-------------------------------------------------

java pool 20

large pool 4

shared pool 84

189.002403

這一次, db_cache_size的值沒有變化 , JAVA_POOL_SIZE的值也沒有變化

修改large pool的值為16M

SQL> alter system set large_pool_size=16M;

System altered.

SQL> select name,block_size,current_size,prev_size from v$buffer_pool;

NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE

-------------------- ---------- ------------ ---------

DEFAULT 8192 176 188

SQL> Select pool, sum(bytes)/1024/1024 as 'M bytes' from v$sgastat group by pool;

POOL M bytes

------------ ----------

java pool 20

large pool 16

shared pool 84

177.002403

這次,db_cache_size和large_pool_size的值都變了

同樣,調(diào)大shared_pool_size后, db_cache_size會自動減小.

雖然db_nk_cache_size的值不會隨著workload 的改變而自動調(diào)整, 我們還是可以看看手工改動db_nk_block_size 的情況

SQL> alter system set db_2k_cache_size=4m;

System altered.

SQL> select name,block_size,current_size,prev_size from v$buffer_pool;

NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE

---------------- ----------------- ------------ ----------

DEFAULT 8192 172 176

DEFAULT 2048 4 0

SQL> alter system set db_2k_cache_size=0;

System altered.

SQL> select name,block_size,current_size,prev_size from v$buffer_pool;

NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE

----------------- ---------------- ------------------ --------------

DEFAULT 8192 176 172

SQL> alter system set db_2k_cache_size=8m;

System altered.

SQL> select name,block_size,current_size,prev_size from v$buffer_pool;

NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE

-------------------- ---------- ------------ ----------

DEFAULT 8192 168 176

DEFAULT 2048 8 0

結(jié)論: 手工調(diào)整db_nk_cache_size確實(shí)會影響原有的參數(shù).

最后說一點(diǎn): SGA_TARGET參數(shù)與SGA_MAX_SIZE參數(shù)有密切關(guān)聯(lián),基本的原則就是前者的值不能大于后者的值.

總結(jié):設(shè)置了SGA_TARGET參數(shù)后,數(shù)據(jù)庫會在這個范圍內(nèi)自行調(diào)整;但許多情況下, 怎樣合理地設(shè)置這個參數(shù)仍是DBA需要考慮的問題, 他們需要結(jié)合AWR Report等輔助的工具來分析.( 當(dāng)然,我們可以根據(jù)Advisor的歷史信息而確定一個比較合理的值)。

一、亂碼問題

Redhat RHEL AS3 下安裝 Oracle DB 10g 中文亂碼問題

不少兄弟反映在rhel3下安裝oracle10g時出現(xiàn)亂碼, 其實(shí)在安裝和使用時出現(xiàn)亂碼的地方有多個, 可以分為三類:

1. 安裝時的亂碼

2. 一些應(yīng)用程序的亂碼, 比如 dbca, netca

3. 一些基于oc4j的web應(yīng)用的亂碼, 比如 isqlplus, em

造成這些問題的原因都是一個, 就是這些程序都使用jdk, 相應(yīng)的jdk(或jre) 使用的字體配置文件 font.properties 中的字體和操作系統(tǒng)的字體或者字體配置文件不匹配. 解決的辦法是把兩者改成一致.

◆1. 下載, 解包 ship.db.cpio.gz, 生成目錄 Disk1

◆2. cd Disk1/stage/Components/oracle.swd.jre/1.4.2.0.0/1/DataFiles/

unzip all_except_bin.jar (這時生成一個 jre 的目錄)

cd jre/1.4.2/lib/

mv font.properties font.properties.bak

cp font.properties.zh_CN.Redhat8.0 font.properties

cd ../../../

zip -r all_except_bin.jar.new jre/

mv all_except_bin.jar.new all_except_bin.jar

(其實(shí)就是把 font.properties 文件換掉. 這樣安裝時漢字顯示就沒有問題了)

◆3. 如法炮制, 把Disk1/stage/Components/oracle.jdk/1.4.2.0.0/1/DataFiles/sol_bin.1.1.jar文件里面的font.properties 文件換掉, 創(chuàng)建數(shù)據(jù)庫和執(zhí)行網(wǎng)絡(luò)配置時的亂碼就沒有了. isqlplus 和em 的亂碼也解決了。

用IE登錄Linux服務(wù)器上的em出現(xiàn)的亂碼

不知道大家有沒有注意到,EM顯示的中文翻譯很是糟糕,up/down 動不動就翻譯成“向上”“向下”,讓人哭笑不得.很多朋友都說,干脆給顯示英文算了,可是怎么顯示呢?

好了,現(xiàn)在我們有一種辦法很容易的解決這個問題:

打開你的IE瀏覽器,選擇'工具'-->Internet選項-->常規(guī)

選擇“語言”,默認(rèn)只有“中文”,選擇“添加”,加入英語(美國),調(diào)整順序,把”英語(美國)“放到最上面

OK ,確定。

打開你的 http://yoururl:5500/em

問題解決了。

二、10g如何更改歸檔模式

◆1. 對于初始化文件,只需要修改log_archive_dest_n 這個參數(shù).n=1,2,3,....10, Oracle 缺省會使用log_archive_dest_10這個參數(shù)來使用flash recovery area里面存放的歸檔日志文件,大小由參數(shù)db_recovery_file_dest_size來決定.

修改:

log_archive_dest_1='location=c:oracle10g...archivelog quota_size=2G'

...

如果歸檔使用flash recovery area, 上面的參數(shù)不需要指定任何值,Oracle 會自動使用db_recovery_file_dest這個參數(shù)所指定的路徑。

◆2. 啟動sqlplus:

startup mount pfile='....'

alter database archivelog;

(如果啟用flashback, alter database flashback on)

alter database open;

archive log list(查看是否運(yùn)行在歸檔模式)

(如果前面的log_archive_dest_n沒有設(shè)置,則會顯示USE_DB_RECOVERY_FILE_DEST)

◆3. 怎樣變成noarchivelog 模式

步驟基本同上。

三、用dblink在10G中做create table ..as select * from ..varchar2()的column寬度變成3倍

問題描述:例如:varchar2(255)==>varchar(765)

測試:

◆1. 環(huán)境: 兩臺機(jī)器都裝的10G的數(shù)據(jù)庫

◆2. 測試步驟和結(jié)果:

SQL> conn test1/test1@db10G_server1

SQL> create database link link_server2

connect to test1 identified by test1

using 'db10G_server2'

SQL> conn test1/test1@db10G_server2

SQL> create table test1_t1 as select * from all_objects

where rownum<=3000;

SQL> desc test1_t1;

Name Null? Type

---------------------------------------------------------------

OWNER VARCHAR2(30)

OBJECT_NAME VARCHAR2(30)

SUBOBJECT_NAME VARCHAR2(30)

OBJECT_ID NUMBER

DATA_OBJECT_ID NUMBER

OBJECT_TYPE VARCHAR2(19)

CREATED DATE

LAST_DDL_TIME DATE

TIMESTAMP VARCHAR2(19)

STATUS VARCHAR2(7)

TEMPORARY VARCHAR2(1)

GENERATED VARCHAR2(1)

SECONDARY VARCHAR2(1)

SQL> conn test1/test1@db10G_server1

SQL> create table test1_linkt1 as

select * from test1_t1@link_server2

SQL> desc test1_linkt1

Name Null? Type

----------------------------------------- -------- ----------------

OWNER VARCHAR2(60)

OBJECT_NAME VARCHAR2(60)

SUBOBJECT_NAME VARCHAR2(60)

OBJECT_ID NUMBER

DATA_OBJECT_ID NUMBER

OBJECT_TYPE VARCHAR2(38)

CREATED DATE

LAST_DDL_TIME DATE

TIMESTAMP VARCHAR2(38)

STATUS VARCHAR2(14)

TEMPORARY VARCHAR2(2)

GENERATED VARCHAR2(2)

SECONDARY VARCHAR2(2)

表結(jié)構(gòu)一樣,但是列的長度確實(shí)變了, 通過dblink創(chuàng)建的表的varchar2列的長度是原表的兩倍

再來看看字符集

◆1.Server1上的數(shù)據(jù)庫字符集

SQL> column value format A20

SQL> select value from nls_database_parameters where parameter='NLS_CHARACTERSET';

value

--------------

ZHS16GBK

◆2. Server2上的數(shù)據(jù)庫字符集

SQL> conn test1/test1@db10G_server2

SQL> column value format A20

SQL> select value from nls_database_parameters where parameter='NLS_CHARACTERSET';

value

--------------

AL32UTF8

四、在10g不支持的Linux發(fā)行版上安裝10g的解決方法

正常安裝的10g只支持Red Hat Enterprise Linux 2.1 and 3, and on UnitedLinux 1.0。如果是其它的版本,比如fedora,rh9等,10g將會說不支持,而不允許安裝,解決方法如下:

◆1.運(yùn)行runInstaller -ignoreSysPrereqs,這樣會跳過檢查

◆2.修改/etc/redhat-release文件,讓10g認(rèn)為自己處于支持的操作系統(tǒng)中,運(yùn)行下面的命令即可

su - root

cp /etc/redhat-release /etc/redhat-release.backup

cat > /etc/redhat-release << EOF

Red Hat Enterprise Linux AS release 3 (Taroon)

EOF

安裝完畢,再將那個文件還原:

su - root

cp /etc/redhat-release.backup /etc/redhat-release

◆3.同樣的思路,我們可以去修改Oracle 的install/oraparam.ini文件:

[Certified Versions]

Linux=redhat-2.1,UnitedLinux-1.0,redhat-3

把這個屏蔽掉,或者是添加新的內(nèi)容:

[Certified Versions]

Linux=redhat-2.1,UnitedLinux-1.0,redhat-3

[Linux-redhat-2.1-optional]

TEMP_SPACE=80

SWAP_SPACE=150

MIN_DISPLAY_COLORS=256

[UnitedLinux-1.0-optional]

TEMP_SPACE=80

SWAP_SPACE=150

MIN_DISPLAY_COLORS=256

[Linux-redhat-3.0-optional]

TEMP_SPACE=80

SWAP_SPACE=150

MIN_DISPLAY_COLORS=256

對這個地方定制一下就可以了。

注:有興趣的朋友不妨測試一下,其實(shí)在這個地方可以定制很多東西的,但是不推薦在正式的應(yīng)用中這么做。

標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 女人张腿让男桶免费视频网站 | 国产精品午夜性视频网站 | 久草网在线 | 亚洲精品成人久久久影院 | 亚洲成人手机在线观看 | 在线观看一二三区 | 亚洲一一在线 | 亚洲偷偷自拍 | 亚洲风情第一页 | 精品九九在线 | 亚洲精品影院一区二区 | 国产爽的冒白浆的视频高清 | 免费 欧美 自拍 在线观看 | 99视频精品在线 | 国产精品久久久久久久福利院 | 久久久精品在线观看 | 久久精品视频在线观看榴莲视频 | 免费 欧美 自拍 在线观看 | 成人国产精品一区二区网站 | 久久欧美久久欧美精品 | 国产成人精品女人不卡在线 | 一区免费在线观看 | 98国内自拍在线视频 | 人成精品视频三区二区一区 | 成人二区 | 国产激情视频网站 | 精品一区二区三区中文字幕 | 97午夜影院 | 成年人黄视频在线观看 | 婷婷久久久五月综合色 | 国产毛片一级 | 黄色美女网站免费 | 国产欧美一区二区三区视频 | 国产永久在线观看 | 亚洲精品天堂自在久久77 | 在线永久免费观看黄网站 | 国产精品夜色视频一级区 | 美女又爽又黄视频 | 欧美日韩亚洲第一页 | 白白在线观看永久免费视频 | 成年人网站在线观看免费 |