歡迎您光臨本站 註冊首頁

linux+oracle_silent

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

http://218.94.123.17/viewthread.php?tid=77252
http://bbs.w3pub.com/Announce/Announce.asp?BoardID=6&ID=301



Oracle 10gR2 + RedHat Enterprise Linux AS4 安裝

作者:tesroom
qq:2731827 (不明白就加我問吧)
轉載請注出處(當然是www.oracle.com.cn啦)
http://www.oracle.com.cn/viewthread.php?tid=77252

折騰了2天,終於把遇到的問題都解決了....以下是我的安裝總結,自己寫的,有點亂,湊合看把

(1)安裝linux ,所由服務都不選擇,只是選擇安裝開發工具,不要安裝防火牆,不然有的埠沒打開會提示連接超時.
(2)打開終端,執行如下命令,檢查安裝包,沒有的都要安裝(一般在dis2 和dis3上)
rpm -q make gcc glibc compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel openmotif21 setarch libaio
(3)創建 Oracle 組和用戶帳戶
例如:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
設置 oracle 帳戶的口令:
passwd oracle
(4)創建目錄
例如:
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle

(5)配置 Linux 內核參數(2種方法),修改後不用重啟動更新: /sbin/sysctl -p
第一種:打開/etc/sysctl.conf 複製如下內容
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

第二種:打開終端
cat >> /etc/sysctl.conf < kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
EOF

(6)為 oracle 用戶設置 Shell 限制.Oracle 建議對每個 Linux 帳戶可以使用的進程數和打開的文件數設置限制,ROOT登錄.(第(6)步驟可以跳過.)
cat >> /etc/profile < if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF

cat >> /etc/csh.login < if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF

(7)oracle 用戶的環境變數
以 oracle 身份登錄,並通過在 .bash_profile 或 .profile(bash 或 ksh)中添加以下行,將 ORACLE_BASE 添加到登錄配置文件(直接gedit /home/oracle/.bash_profile)
增加下列內容:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

(8)解壓縮oracle 10g安裝盤,然後新建終端,運行 /runInstaller (注意大小寫)
(9)創建實例,起動資料庫
(10)讓oracle 跟隨linux 一起啟動.

root 登錄,在 /etc/rc.d/init.d 下創建名為dbora,編輯增加以下內容

=================================================


#!/bin/bash
#參考http://staff.in2.hr/denis/oracle/10g1install_fedora3_en.html#n4_4
# chkconfig: 35 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS
#
#
# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export ORACLE_SID=dssdb
export PATH=/home/oracle/bin:$ORACLE_HOME/bin:$PATH
export ORACLE_USER=oracle

# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"< dbstart
EOS
emctl start dbconsole
EOO
;;

stop)
su - "$ORACLE_USER"< dbshut
EOS
emctl stop dbconsole
EOO
;;

*)
echo "Usage: $0 {start|stop}"
;;
esac


==========================

打開終端執行:
chown oracle.oinstall /etc/rc.d/init.d/dbora
chmod 755 /etc/rc.d/init.d/dbora

使用chkconfig 設置運行許可權
chkconfig dbora reset

檢查
chkconfig --list dbora
結果如下:
ora10 0:off 1:off 2:off 3:on 4:off 5:on 6:off

注意:當系統不在 runlevels 3 and 5時,使用

service dbora start 啟動服務.
service dbora stop 停止服務.

(11)修改$ORACLE_HOME/bin/dbstart

# Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$ORACLE_HOME

如果沒有ASM(自動存儲),就把那一節內容刪除,ASM要在載入實例前,先載入.

(12)重新啟動計算機 ,就可以了,啟動會比較慢,因為要自動啟動em,database,listener,agent



常用手動控制資料庫命令
打開em
emctl start dbconsole
關閉em
emctl stop dbconsole


啟動listener
lsnrctl start <監聽名>(默認是LISTENER,可省略)
關閉
lsnrctl stop


啟動emagent
emctl start agent
關閉
emctl stop agent


啟動實例
sqlplus /nolog
conn / as sysdba
startup
關閉
shutdown immediate

更改用戶密碼:
Alter User username Identified by userpassword;
更改鎖定用戶密碼:
Alter User username Identified by userpassword Account Unlock;
鎖定用戶:
Alter User username Account Lock;
解除用戶鎖定:
Alter User username Account Unlock;
給予用戶SYSDBA許可權:
Grant Sysdba to username;
收回用戶SYSDBA許可權:
Revoke SYSDBA TO USERNAME;
查詢口令文件中的用戶信息:
Select * From V$pwfile_Users;




測試資料庫是否通

tnsping

=====================================================
常見問題:

網頁界面上的按鈕出現「口口」的亂碼

解決方案:
1.停止服務,emctl stop dbconsole;
2.把相關目錄(RHEL4裡面是/etc/java/)下的font.properties用 font.properties.zh_CN.Redhat8.0替換(或 font.properties.zh,只要是中文簡體就可以。);

3.刪除$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs中的gif文件;

4.重起服務(最好是重啟伺服器) emctl start dbconsole;




=====================================================
以下的 J2EE 應用程序已經配置, 並且可用下面列出的 URL 來訪問。

iSQL*Plus URL:
http://database:5560/isqlplus

iSQL*Plus DBA URL:
http://database:5560/isqlplus/dba

Enterprise Manager 10g Database Control URL:
http://database:1158/em

\==========================================
















solaris8 下不起圖形界面安裝oracle 10g
作者:網路 佚名 更新時間:2005-10-27 收藏此頁


  【IT168 伺服器學院】從oracle 8i開始,大多數情況下我們是通過OUI圖形工具來安裝oracle的,不過在某些特殊情況下(比如由於網路,防火牆等原因),我們無法使用圖形終端連接到待安裝的伺服器上進行操作。Oracle 10g中考慮到了這一點,在runInstaller中增加了silent參數,使得不起圖形界面(純字元界面)也能安裝資料庫。當然,silent方式的實現和10g只有一張盤也有很大關係。
  
  1. 打系統補丁
  到sun官方網站上把solaris 8的最新系統補丁J2SE Solaris Patch Clusters,網址:
  http://sunsolve.sun.com/pub-cgi/sho...es/patch-access
  下載文件為8_Recommended.zip
  
  用unzip 解壓,unzip 8_Recommended.zip
  設解壓在/orainst/8_ Recommended目錄下
  #cd /orainst/8_ Recommended
  #./install_cluster
  
  除了這個J2SE Solaris Patch Clusters之外,裝10g的時候還需要4個單獨的補丁:
  108921-16
  108940-53
  108773-18
  111308-03
  
  在上面那個網址上可以搜索到上述4個patch號,並把他們down下來,是4個jar文件
  用unzip 解壓,例:unzip 108921-16.jar
  設解壓在/orainst/108921-16目錄下
  #patchadd /orainst/108921-16 108921-16
  
  依次將這4個patch apply
  重啟機器
  
  2. 配kernel 參數
  #vi /etc/system
  set shmsys:shminfo_shmmax=2147483648 (給oracle最大內存設為2G)
  set shmsys:shminfo_shmmin=1
  set shmsys:shminfo_shmmni=512
  set shmsys:shminfo_shmseg=128
  set semsys:seminfo_semmap=64
  set semsys:seminfo_semmni=4096
  set semsys:seminfo_semmns=4096
  set semsys:seminfo_semmsl=4096
  set semsys:seminfo_semmnu=4096
  set semsys:seminfo_semume=64
  set semsys:seminfo_semopm=100
  
  重啟機器
  
  3. 創建用戶和組
  # groupadd dba
  #useradd ?g dba ?d /export/home/oracle ?m oracle
  #passwd oracle (改oracle用戶密碼)
  
  設定oracle用戶的環境參數
  #su ? oracle
  $vi .profile
  加入內容:
  ORACLE_BASE=/oracle
  ORACLE_HOME=/oracle/product/10g
  ORACLE_SID=ora10g
  export ORACLE_BASE ORACLE_HOME ORACLE_SID
  LD_LIBRARY_PATH=$ORACLE_HOME/lib
  PATH=$PATH:$ORACLE_HOME/bin:.
  CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib
  export LD_LIBRARY_PATH PATH CLASSPATH
  ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
  export ORA_NLS33
  NLS_LANG=American_America.zhs16gbk
  export NLS_LANG
  EDITOR=vi
  export EDITOR
  存檔
  
  $. ./.profile使之生效
  
  4. 解壓oracle 10g安裝包
  Otn.oracle.com上把ship_rel10_sol64_db.cpio.gz down下來傳到機器上,設存放在/orainst/ora10g/下 (這個路徑後面會用到)
  用oracle用戶解壓
  $gzip ?d ship_rel10_sol64_db.cpio.gz
  $cpio ?idcmv < ship_rel10_sol64_db.cpio.gz
  解壓完畢后,會在/orainst/ora10g下多出一個目錄Disk1,oracle 10g的介質就在Disk1目錄下。
  
  5. 創建oraInst.loc文件
  Su ? root
  #mkdir /var/opt/oracle
  #cd /var/opt/oracle
  #vi oraInst.loc (注意文件名,不是orainst.loc)
  
  加入內容:
  inventory_loc=ORACLE_BASE/oraInventory 此文中ORACLE_BASE為/oracle
  inst_group=dba
  存檔
  
  改文件許可權
  #chown oracle:dba oraInst.loc
  #chmod 664 oraInst.loc
  
  6. 編輯Response 文件
  這一步驟是字元界面裝oracle的關鍵步驟
  到oracle 10g的安裝目錄下編輯response文件
  $su ? oracle
  $cd /orainst/ora10g/Disk1/response
  可以看到oracle準備了6個response文件,實際上這些文件就是用來安裝和配置oracle時的模板,分別是
  custom.rsp dbca.rsp emca.rsp enterprise.rsp netca.rsp standard.rsp
  在這裡挑了一個簡單的response文件 enterprise.rsp,也可以根據實際情況去選用編輯其他幾個response文件。
  $cp custom.rsp myinst.rsp
  $vi myinst.rsp
  在myinst.rsp的最前面有一段說明,應該仔細看看,特別要注意它定義的幾個數據變數格式的寫法,如下:
  Type Example
  String "Sample Value"
  Boolean True or False
  Number 1000
  StringList {"String value 1","String Value 2"}
  
  其後都是安裝oracle時所需要定義的變數,其值有三種情況,一是已經有默認值的,幾乎可以不用管它。二是值等於的,這種變數是非圖形界面安裝10g所必需要指定的變數,一定要修改成合適的值,第三種變數的值等於,說明它的值是和別的變數值關聯的,也可以不用管它。需要把第二類變數的值逐個修改。
  
  更改情況如下,可根據實際情況修改其它變數的值:
  ORACLE_HOME="/oracle/ora10g/product/10g"
  ORACLE_HOME_NAME="ORA10G"
  s_nameForDBAGrp="dba"
  s_nameForOPERGrp="dba"
  SHOW_DATABASE_CONFIGURATION_PAGE=false
  b_createStarterDB=false (不創建資料庫)
  SHOW_DATABASE_OPTIONS_PAGE=false
  s_dbCharacterSet="ZHS16GBK"
  s_globalDBName="ora10g"
  s_dbSid="ora10g"
  SHOW_DATABASE_MANAGEMENT_PAGE=false
  SHOW_DATABASE_FILE_STORAGE_OPTION_PAGE=false
  SHOW_BACKUP_RECOVERY_OPTION_PAGE=false
  SHOW_SCHEMA_PASSWORDS_PAGE=false
  改完后存檔退出
  
  7. 執行runInstaller安裝10g
  轉到oracle 10g安裝介質目錄下,運行runInstaller
  $cd /orainst/ora10g/Disk1
  $./runInstaller ?silent ?responseFile /orainst/ora10g/Disk1/response/myinst.rsp
  這樣Oracle 10g就開始安裝了
  安裝進程的步驟如下:
  a.檢測temp 和swap分區的大小
  b.查系統補丁是否滿足需要
  c.到response文件中讀取信息
  d.copy 相關文件
  e.link and setup
  f.提示運行root.sh,根據提示,用root用戶去運行root.sh就行了
  
  一般出錯的地方容易在b、c步驟,如果是系統補丁沒打全,則根據提示把系統補丁打好,如果是在c的地方出錯,說明你的response文件信息有誤,需要重新修改response文件。
  
  至此,不起圖形界面安裝10g就完成了
  
  8.後續工作
  建資料庫。
  此次安裝中並未建庫,關於用腳本建庫的方法,和以前版本的oracle類似,這裡不再具體說明了。
  
  配listener
  $vi $ORACLE_HOME/network/admin/listener.ora
  LISTENER =
  (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.39.24)(PORT = 1521))
  )
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
  )
  )
  )
  
  SID_LIST_LISTENER =
  (SID_LIST =
  (SID_DESC =
  (SID_NAME = PLSExtProc)
  (ORACLE_HOME = /oracle/ora10g/product/10g)
  (PROGRAM = extproc)
  )
  (SID_DESC =
  (GLOBAL_DBNAME = ora10g)
  (ORACLE_HOME = /oracle/ora10g/product/10g)
  (SID_NAME = ora10g)
  )
  )
  
  添加完了存檔退出
  $ lsnrctl start 啟動監聽
  $ lsnrctl stop 關閉監聽



























基於RESPONSE FILE文件的ORACLE 10G安裝
CALIS管理中心 馬驍生

眾所周知對於ORACLE軟體的安裝,大多數環境中我們通過Oracle Universal Installer (OUI)工具,能夠簡單方便的實現軟體安裝和資料庫創建。但是在某些特殊的情況,如出現網路速度,防火牆,XSERVER等問題,我們不得不藉助 ORACLE SILENT 安裝模式。具體到CALIS的項目,雖然有紅旗提供的Oracle安裝嚮導(oranavi命令),可是有些時候我們發現部分老師在安裝的時候還存在不少問題,針對這種情況,特此編寫了以下腳本文件以滿足部分老師的需求。
1 .試驗環境要求描述
1.1 硬體環境:物理內存512M,硬碟空間:4G,虛擬內存:1G
1.2 操作系統:RedFlag 5.0
1.3 資料庫:ORACLE 10.1.0.3.0
1.4 Oracle原始介質:光碟
1.5 安裝目錄:/u01
1.6 資料庫創建為本地文件系統

2 .安裝準備階段,以root身份登錄, 編輯如下文件
2.1創建用戶和組
vi Create_user_and_group.sh
#!/bin/bash
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
echo password|passwd --stdin oracle
2.2創建目錄並修改許可權
vi create_directory.sh
#!/bin/bash
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/oradata
chown -R oracle.oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle /u02/oradata
2.3修改系統參數文件
vi config_sysparameter.sh
#!/bin/bash
cp /etc/sysctl.conf /etc/sysctl.conf.bak
cat >> /etc/sysctl.conf < kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
EOF
/sbin/sysctl ?p
2.4配置RedFlag 許可文件
vi config_release.sh
#!/bin/bash
mv /etc/redhat-release /etc/redhat-release.bak
cat >>/etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 2.1 (Nahant Update 1)
EOF
2.5配置安全參數
vi config_secrity.sh
#!/bin/bash
cp /etc/security/limits.conf /etc/security/limits.conf.bak
cat >> /etc/security/limits.conf < oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
2.6配置用戶參數文件
vi oracle_bash_profile.sh
#!/bin/bash
cat >> /home/oracle/.bash_profile < ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1;export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=/u01/app/oracle/product/10.1.0/db_1/bin:$PATH;export PATH
LD_LIBRARY_PATH=/u01/app/oracle/product/10.1.0/db_1/jdk/jre/lib/i386;export
D_LIBRARY_PATH LD_LIBRARY_PATH=$ORACLE_HOME
/jdk/jre/lib/i386/server:$LD_LIBRARY_PATH;
export LD_LIBRARY_PATH
EOF
2.7配置oraInst.loc文件
vi config_orainst_loc.sh
#!/bin/bash
cat >> /etc/oraInst.loc << EOF
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
EOF
2.8編輯enterprise management response file
vi enterprise.sh
#!/bin/bash
cat >> /PATH/enterprise.rsp << EOF
RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME="oinstall"
#UNIX安裝用戶組
FROM_LOCATION="/mnt/cdrom/stage/products.xml"
#Oracle install location
FROM_LOCATION_CD_LABEL=
ORACLE_HOME="/u01/app/oracle/product/10.1.0/db_1"
ORACLE_HOME_NAME="OUIHome1"
TOPLEVEL_COMPONENT={"oracle.server","10.1.0.3.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=flase
SHOW_CUSTOM_TREE_PAGE=false
SHOW_COMPONENT_LOCATIONS_PAGE=false
SHOW_SUMMARY_PAGE=false
SHOW_INSTALL_PROGRESS_PAGE=false
SHOW_REQUIRED_CONFIG_TOOL_PAGE=false
SHOW_CONFIG_TOOL_PAGE=false
SHOW_RELEASE_NOTES=false
SHOW_ROOTSH_CONFIRMATION=false
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=true
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=true
#NEXT_SESSION_RESPONSE=" "
DEINSTALL_LIST={"oracle.server","10.1.0.3.0"}
SHOW_DEINSTALL_CONFIRMATION=true
SHOW_DEINSTALL_PROGRESS=true
CLUSTER_NODES={}
ACCEPT_LICENSE_AGREEMENT=true
SELECTED_LANGUAGES={"en"}
INSTALL_TYPE="Enterprise Edition"
sl_superAdminPasswds="oracle"
#sys 用戶密碼為oracle
sl_migrateSIDDialogReturn={}
sl_dlgASMCfgSelectableDisks={}
s_superAdminSamePasswd="oracle"
#sys 用戶確認密碼
s_superAdminPasswdType="S"
s_loadExampleSchemas="Y"
s_globalDBName="orcl"
#Oracle database SID
s_dlgStarterDBConfigCreateStarterDB="Create a starter database"
s_dlgSIDMigrateSelection="N"
s_dlgRBORecoveryOptionSelected="File System"
s_dlgRBOEnableAutoBackups="Do not enable Automated backups"
s_dlgEMEmailNotificationSelected="N"
s_dlgASMCfgRedundancyValue="2 (Norm)"
s_dlgASMCfgRedundancySelected="Normal"
s_dlgASMCfgNewDisksSize="0"
s_dlgASMCfgExistingFreeSpace="0"
s_dlgASMCfgDiskGroupName="DATA"
s_dlgASMCfgDiskDiscoveryString=""
s_dlgASMCfgAdditionalSpaceNeeded=" MB"
s_dbRetChar="Unicode standard UTF-8 AL32UTF8"
sl_dlgASMDskGrpSelectedGroup={" "," "," "," "}
s_dlgStarterDBConfigOptionSelected="General Purpose"
s_dlgRBOUsername="oracle"
s_dlgEMOptionSelected="Use Database Control for Database Management"
s_dlgEMCentralAgentSelected="No Agents Found"
s_superAdminSamePasswdAgain="oracle"
s_dlgEMSMTPServer=""
s_dlgEMEmailAddress=""
s_DataorASMret="File System"
s_rawDeviceMapFileLocation=""
s_dlgRBOPassword=""
sl_dlgASMCfgDiskSelections={}
s_dlgRBORecoveryLocation="/u01/app/oracle/flash_recovery_area/"
sl_superAdminPasswdsAgain="oracle"
s_dbSid="orcl"
s_mountPoint="/u01/app/oracle/oradata/"
varDRDANETSEL=
oracle.sysman.server:OPTIONAL_CONFIG_TOOLS="{}"
oracle.rdbms.sqlplus.isqlplus:OPTIONAL_CONFIG_TOOLS="{}"
oracle.networking.netca:OPTIONAL_CONFIG_TOOLS="{}"
oracle.options.ops.csscommon:OPTIONAL_CONFIG_TOOLS="{}"
oracle.assistants.dbma:OPTIONAL_CONFIG_TOOLS="{}"
b_createDBRet=true
s_nameForOPERGrp="dba"
s_nameForDBAGrp="dba"
EOF
chown oracleinstall enterprise.rsp
chmod 700 enterprise.rsp

3. 安裝
3.1修改以上腳本文件許可權為744,依次執行,並生成enterprise.rsp
3.2切換到oracle用戶,執行
/mnt/cdrom/runInstaller -silent -responseFile /path/enterprise.rsp
當提示The installation of Oracle Database 10g was successful.
3.3用root身份運行$ORACLE_HOME/root.sh
OK,資料庫成功安裝!

4. 注意事項
管道符前面不能有空格echo password|passwd --stdin oracle
ORACLE_HOME變數後面不能有』/』
ORACLE給各種產品提供了不同的應答文件,具體目錄為/mnt/cdrom/response/*.rsp
本試驗環境為RedFlag5.0+Oracle10.1.0.3.0,對於別的版本可能稍有不同,比如說RedFlag4.1就不用修改RedFlag 許可文件等










Oracle資料庫成功移植From 8i to 10g ---同時解決修改機器名和ip后EM啟動問題!

一、移植過程記錄(如果要移植,一定看完全文,包括後面的問題分析!)
基本狀況:
兩台小型機,一台sun250,裝的是solaris8+oracle8i,機器名jgsun,ip 10.11.1.11,正在運行,有應用程序連接;一台是sunv890,裝的是Solaris9+Oracle10g,機器名hssun, ip 10.11.1.19,沒有運行,是新安裝的機器。
要求:
將Sun250的oralce8i的JSERP和ERPUSER3用戶及其相應表空間DBERP和DBSYS的數據全部移植到Sunv890的Oracle10g中,將Sunv890的機器名及ip地址配置的和Sun250的原先機器名和ip相同,oracle的資料庫名和服務名也要相同,移植后,直接將sun250的網線拔下插到sunv890上,不能影響應用系統正常運行!
(ps:這裡是移植的用戶及其表空間,移植整個資料庫是一樣的,只是在exp/imp導出導入時選擇整個資料庫就行了。)
移植過程:
1、 用oracle8i客戶端的exp命令將sun250上的數據導出到某台pc機客戶端。Exp導出時選擇JSERP用戶和ERPUSER3用戶,分別到成數據文件jserp.dmp和erpuser3.dmp
2、 在新的oracle10g資料庫中建立DBERP和DBSYS表空間,分別建立用戶JSERP和ERPUSER3,對其分配許可權,要與oracle8i中的表空間和用戶的設置完全一樣。
3、 在oracle8i客戶端用imp命令將剛才導出的數據文件jserp.dmp和erpuser3.dmp上傳到sunv890上的oracle10g,上傳時也是選擇上傳用戶。上傳完畢后,將sun250的網線拔掉,將sunv890的網線插上。
4、 修改SunV890的IP和機器名
改ip:(改為sun250的ip,由10.11.1.19改為10.11.1.11)
$ Vi /etc/hosts
改機器名: (改為sun250的機器名,由hssun改為jgsun)
$ Vi /etc/nodename
$ Vi /etc/hosts
$ Vi /etc/hostname.ge0
$ reboot
5、 此時發現reboot后,監聽、資料庫和iSqlplus的服務還都可以起來,只是EM的服務啟動不起來了!
6、 Emctl start dbconsole
出現如下錯誤:
找不到路徑
\oracle\product\10.2.0\Db_1\hssun_ora8
\oracle\product\10.2.0\Db_1\oc4j\j2ee\oc4j_DBConsole_hssun_ora8
我將上面兩個文件夾的名稱中的hssun改為jgsun
可以繼續啟動了,但是最後還是起不來。
7、 搜索jgsun_ora8\sysman目錄下的config目錄和emd目錄,找到所有含有hssun的文件,改為jgsun,log文件不用修改。
此時,em服務可以成功啟動了,但是em界面運行不正常。Em界面中主機名還是hssun,許多連接打不開。
8、$ emca ?config dbcontrol db (這是oracle10g的命令,8i和9i是emca -r)
輸入以下信息:
SID:ora8 (同sun250上的oracle8i的SID)
Listener port number: 1521
Sys 口令:******
……
好了,再次emctl start dbconsole EM就可以正常運行了!

二、問題分析:
從移植的過程來看,數據移植沒有問題,但是移植后em服務啟動有問題,究其原因是因為修改了機器的IP和機器名,所以如果你的移植到的機器(我這裡是sunv890)應該是先修改ip和機器名再安裝創建oracle資料庫,這樣應該就不會出現em啟動問題。
如果你的機器已經安裝創建了oracle資料庫,那麼你在改完機器ip和機器名后可以先試試$ emca ?config dbcontrol db,重新配置一下,這時看看em是否正常,如果還不正常,那麼再用我上面的方法,修改文件夾的名稱!
切記:如果碰到類似的移植,請一定先試試問題分析中的方法,如果不行再按照我的移植過程修改文件夾名稱,不要走彎路!











Oracle中DBA密碼丟失后的修復

發佈於2005-05-28 被讀1537次 【字體:大 中 小】


如果是Unix,那你必須有Oracle DBA組的password,以便能修改INIT.ORA文件和運行orapwd.在你決定修改internal的password的時候,你必須先shutdown db.否則下次你將不能啟動Oracle.
1, shutdown db
2, delete or rename the old password file.(在?$Oracle_Home/dbs/下有個文件,類似PWD.ora這樣的文件)
3,運行
orapwd file=?$Oracle_Home/dbs/pwdxxx.ora password=oracle entries=5
4, ensure to set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE in init.ora file
5, ?$>svrmgrl
svrmgrl>connect internal/oracle as sysdba
svrmgrl>startup
svrmgrl>alter sys (或則是system)都可以了。
這樣你就可以完全修改以前的dba的password.

如果是NT,步驟基本一樣,但第3不可以運行別的工具。例如:
ORADIM80 -delete -sid sid
ORADIM80 -new -sid sid -intpwd your_newpasswrd -maxuser n

[火星人 ] linux+oracle_silent已經有588次圍觀

http://coctec.com/docs/linux/show-post-132972.html