您的位置:首页 > 数据库 > Oracle

ORACLE 个人整理

2011-11-22 12:31 155 查看
1. 检查主机名/IP、端口是否正确

安装时的主机名/IP、端口记录在$ORACLE_HOME/install/portlist.ini 文件中。

缺省是:

一般用户 http://ip:5560/isqlplus DBA用户 http://ip:5560/isqlplus/dba
EM Database Control http://ip:1158/em/
2. 看em, isqlplus服务是否起启动,状态是否正常

当然Oracle安装时,要选择安装了“Oracle Enterprise Manager配置数据库”

其它问题:

3. 换了ip需要重建em,以下是em的相关命令:

创建一个EM资料库 -- emca -repos create

重建一个EM资料库 -- emca -repos recreate

删除一个EM资料库 emca -repos drop

配置数据库的 Database Control emca -config dbcontrol db

删除数据库的 Database Control配置 emca -deconfig dbcontrol db

重新配置db control的端口,默认端口在1158

emca -reconfig ports

emca -reconfig ports -dbcontrol_http_port 1160

emca -reconfig ports -agent_port 3940

先设置ORACLE_SID环境变量后,启动EM console服务 emctl start dbconsole

先设置ORACLE_SID环境变量后,停止EM console服务 emctl stop dbconsole

先设置ORACLE_SID环境变量后,查看EM console服务的状态 emctl status dbconsole

配置dbconsole的步骤

emca -repos create

emca -config dbcontrol db

emctl start dbconsole

重新配置dbconsole的步骤

emca -repos drop

emca -repos create

emca -config dbcontrol db

emctl start dbconsole

PS1:

Oracle10G的EM采用了web方式,并且分成了2个产品,database control和grid control。Grid control需要下载单独的光盘安装。在用DBCA建库的时候,可以选择是否启用dbcontrol,启用的话需要在数据库中建立一个sysman的schema,用于保存EM的一些数据,这个就是EM的资料库(repository)。使用命令行工具emca可以创建,修改,重建或者删除dbcontrol的配置。

由于要在数据库中建EM资料库,数据库和监听都必须已经启动并正常工作。

emca -repos create 创建一个EM资料库

emca -repos recreate 重建一个EM资料库

emca -repos drop 删除一个EM资料库

emca -config dbcontrol db

配置数据库的 Database Control emca -deconfig dbcontrol db

删除数据库的 Database Control配置 emca -reconfig ports

重新配置db control和agent的端口 emctl start console

启动EM console服务,使用前需要先设置ORACLE_SID环境变量

emctl stop console 停止EM console服务,使用前需要先设置ORACLE_SID环境变量

注:通过查看$ORACLE_HOME/install/portlist.ini

文件可以知道当前dbcontrol正在使用的端口,默认dbcontrol http端口1158,agent端口3938。

如果要重新配置端口,可以使用如下命令:

emca -reconfig ports -dbcontrol_http_port 1159

emca -reconfig ports -agent_port 3939 月落网

使用命令行工具emctl可以启动/停止console服务,察看服务状态等。

PS2:

eygle的几篇关于oem的文章:

如何在Oracle10g中启动和关闭OEM---> http://www.eygle.com/archives/2005/10/howto_control_10goem.html
oracle 10g em乱码之快速解决---> http://hi.baidu.com/terry%5Fsky/blog/item/79d6d7881ea0a491a5c2725c.html
PS3:

在linux 下

$ lsnrctl start; $ emctl start dbconsole ; $ isqlplusctl start ; startup 数据库Oracle10g OEM , isqlplus 管理默认端口等一些信息放在$ORACLE_HOME/install/portlist.ini

[oracle@localhost install]$ more portlist.ini

Enterprise Manager Console HTTP Port (whitney) = 1158

Enterprise Manager Agent Port (whitney) = 3938

Enterprise Manager Console HTTP Port (whitney) = 1158

Enterprise Manager Agent Port (whitney) = 3938

windows下找了一下没找到,下次找到了放到ps3中:)

创建em资料库

C:Documents and Settings>emca -repos create

EMCA 开始于 2007-5-31 9:57:04

EM Configuration Assistant 10.2.0.1.0 正式版

版权所有 (c) 2003, 2005, Oracle。保留所有权利。

输入以下信息:

数据库 SID: ora10g

监听程序端口号: 1521

SYS 用户的口令:

SYSMAN 用户的口令:

是否继续? [yes(Y)/no(N)]: Y

2007-5-31 10:03:31 oracle.sysman.emcp.EMConfig perform

信息: 正在将此操作记录到 H:oracle10gcfgtoollogsemcaora10gemca_2007-05-31_09-57-03-上午.log。

2007-5-31 10:03:31 oracle.sysman.emcp.EMReposConfig createRepository

信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...

2007-5-31 10:06:18 oracle.sysman.emcp.EMReposConfig invoke

信息: 已成功创建资料档案库

已成功完成 Enterprise Manager 的配置

EMCA 结束于 2007-5-31 10:06:18

5. 修改EM的端口

我现在的Enterprise Management的地址是:http://localhost:1158/em,我想把端口改成5500,请问如何修改(操作系统是Windows Server 2003)?

修改ORACLE_HOME/INSTALL/PORTLIST.INI

内容如下:

iSQL*Plus HTTP 端口号 =5560

Enterprise Manager Console HTTP 端口 (test) = 1158 :5500

Enterprise Manager 代理端口 (test) = 3938

如果建立数据库时,忘了记下oem 的url,可以在postlist.ini中得到

6. Oracle10g:如何以DBA身份登陆iSQL*Plus

导读:

一般用户登陆isqlplus的网址http://ip:port/isqlplus,进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。

DBA用户登陆isqlpus的网址http://ip:port/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*Plus DBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的用户和密码。

要以DBA身份登陆isqlplus,必须先配置好oc4j用户。oc4j可以使用两种身份认证方式:

基于xml配置文件(jazn-data.xml)

基于LDAP(Oracle Internet Directory)

本文只涉及第一种方式,也就是采用xml配置文件认证的方式。该配置文件位于$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config。

但 是该配置文件中的密码是加密过的,所以我们不能手动修改该文件,而是通过JAZN(Java AuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication and Authorization Service)工具,java的东西我不太懂,所幸这里只要照着文档一步步操作就ok。

通过JAZN,可以完成以下任务

Create users

List users

Grant the webDba role

Remove users

Revoke the webDba role

Change user passwords

以上任务,可以先进入JAZN命令环境后再执行,也可以直接通过一条完整的命令行实现。完整的命令行其实就是在进入JAZN的命令后面直接加上对应的任务选项即可,本文只以JAZN命令环境为例。

如何进入JAZN命令环境

1.进入到目录$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/

2.确保JAVA_HOME环境变量指向了正确的jdk(需要1.4以上)路径,可以使用oracle自带的jdk,位于$ORACLE_HOME/jdk

3.执行以下命令

java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell

其中realm=iSQL*Plus DBA,user=admin,这些可以从xml配置文件中看到,admin的默认密码是welcome,但是admin用户默认没有webDba权限,不能直接用于登陆isqlplus。

注意该命令一定要先进入第一步的目录后再执行,否则会报错

oracle.security.jazn.JAZNRuntimeException: Configuration file "configjazn.xml" does not exist. Check your JAAS configuration settings.

或者

Realm [iSQL*Plus DBA] does not exist in system.

如果报以上的错误,请仔细检查你的当前目录是否和第一步中给出的目录完全一致。

进入JAZN命令环境后,可以执行所有的任务:

1.新建用户ning,密码pass

JAZN:> adduser "iSQL*Plus DBA" ning pass

2.列出用户

JAZN:> listusers

iSQL*Plus DBA/admin

iSQL*Plus DBA/ning

JAZN:> listusers "iSQL*Plus DBA"

admin

ning

3.授予用户登陆isqlplus DBA的权限

JAZN:> grantrole webDba "iSQL*Plus DBA" ning

4.撤销用户登陆isqlplus DBA的权限

JAZN:> revokerole webDba "iSQL*Plus DBA" ning

5.删除用户

JAZN:> remuser "iSQL*Plus DBA" ning

6.修改用户密码

JAZN:> setpasswd "iSQL*Plus DBA" ning pass newpass

7.退出JAZN命令环境

JAZN:> exit

假设上面我们创建了一个用户ning,密码为pass,并且已经授予webDba权限。

接下来重新启动isqlplus应用服务器

isqlplusctl stop

isqlplusctl start

再进入网址http://ip:port/isqlplus/dba,在弹出的对话框中输入ning和pass,就可以进入到数据库登陆界面了,选择以sysdba或sysoper身份登陆了。

参考文章

Oracle10g如何启用isqlplus :http://ningoo.itpub.net/post/2149/200372

Oracle官方文档中关于如何启用dba身份登陆isqlplus:http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14357/ch2.htm#CIHDEFBA

7. 如何以DBA身份登陆iSQL*Plus

*注意:如果DB主机名或IP变了,其相应的配置有一个比较简便的方法可以改变。

官方站点:
http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14357/ch2.htm#CIHDEFBA http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19276-01/toc.htm http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19277-01/ch2.html#4136
grep hostname然后置换,当然hostname_%sid%文件夹名要改成相应的名字, 一般来说在

%ORACLE_HOME%/hostname_%sid%/config 目录下

emagentlogging.properties

emd.properties

emomslogging.properties

emoms.properties 端口号对应文件 1158 5560

Oracle10g中已经从之前的Java的OEM变成web的方式来管理数据库,当我们想以dba access 从isqlplus来存取时。不论输入什么account和password都不能以sysoper或sysdba的权限来logon这是因为在defualt安装的时候,没有授权导致的。下面有在windows平台上的解决方案,相关metalink上请参考Note:287252.1

一般用户 http://ip:5560/isqlplus
DBA用户 http://ip:5560/isqlplus/dba
EM Database Control http://ip:1158/em/console
一般用户登陆isqlplus的网址http://ip:5560/isqlplus,进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。

DBA用户登陆isqlpus的网址http://ip:5560/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*Plus DBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的用户和密码。

要以DBA身份登陆isqlplus,必须先配置好oc4j用户。

采用xml配置文件认证的方式。该配置文件位于%ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config

但是该配置文件中的密码是加密过的,所以我们不能手动修改该文件,而是通过JAZN(Java AuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication and Authorization Service)工具.

通过JAZN,可以完成以下任务

如何进入JAZN命令环境

1.进入到目录%ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus/

2.确保JAVA_HOME环境变量指向了正确的jdk(需要1.4以上)路径,可以使用oracle自带的jdk,位于%ORACLE_HOME%/jdk

3.执行以下命令

java -Djava.security.properties=%ORACLE_HOME%/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell

注意:以上是windows环境下的命令行,如果是 linux、unix可以将其中的%ORACLE_HOME%修改为$ORACLE_HOME即可,其它无需修改。

其中realm=iSQL*Plus DBA,user=admin,这些可以从xml配置文件中看到,admin的默认密码是welcome,但是admin用户默认没有webDba权限,不能直接用于登陆isqlplus。

注意该命令一定要先进入第一步的目录后再执行,否则会报错

oracle.security.jazn.JAZNRuntimeException: Configuration file "configjazn.xml" does not exist. Check your JAAS configuration settings.

或者

Realm [iSQL*Plus DBA] does not exist in system.

如果报以上的错误,请仔细检查你的当前目录是否和第一步中给出的目录完全一致 。

进入JAZN命令环境后,可以执行所有的任务:

1.新建用户isqluser ,密码pass

JAZN:> adduser "iSQL*Plus DBA" isqluser pass

2.列出用户

JAZN:> listusers

iSQL*Plus DBA/admin

iSQL*Plus DBA/isqluser

JAZN:> listusers "iSQL*Plus DBA"

admin

4.撤销用户登陆isqlplus DBA的权限

JAZN:> revokerole webDba "iSQL*Plus DBA" isqluser

5.删除用户

JAZN:> remuser "iSQL*Plus DBA" isqluser

6.修改用户密码

JAZN:> setpasswd "iSQL*Plus DBA" isqluser pass newpass

7.退出JAZN命令环境

JAZN:> exit

8.在JAZN中看命令帮助

JAZN:> man setpasswd

NAME

setpasswd - sets a password for user

SYNOPSIS

setpasswd <realm> <user> <old_pwd> <new_pwd>

DESCRIPTION

The setpasswd command sets a new password for the

specified user. Using a -null flag for new_pwd will result

in an empty passwd.

假设上面我们创建了一个用户isqluser,密码为pass,并且已经授予webDba权限。

接下来重新启动isqlplus应用服务器:

isqlplusctl stop

isqlplusctl start

再进入网址http://ip:5560/isqlplus/dba,在弹出的对话框中输入isqluser和pass即相应的sid,就可以进入到数据库登陆界面了,选择以sysdba或sysoper身份登陆了。

8. Oracle10g EM乱码之快速解决

一直没怎么用10g的EM工具,今天打开来看看,发现也有相传已久的乱码问题.网上也流传着N种解决方案,仔细看一下,其实这个问题很好解决.

如果安装时,我们系统环境变量设置的是中文环境,那么就不会有这个问题.这个问题根本原因在于安装时,JDK/JRE字符集的自动选择.

在 $ORACLE_HOME/jdk/jre/lib 和 $ORACLE_HOME/jre/1.4.2/lib/ 目录下都有多种字符集字体配置文件:

[oracle@danaly ~]$ cd $ORACLE_HOME/jdk/jre/lib[oracle@danaly lib]$ ls font*zh_CN*font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1 font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun

[oracle@danaly lib]$ cd $ORACLE_HOME/jre/1.4.2/lib/[oracle@danaly lib]$ ls font*zh_CN*font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1 font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun

我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件:

[oracle@danaly lib]$ cp font.properties.zh_CN.Redhat font.properties

替换之后需要清理一下Cache,重启EM即可.

Cache路径通常位于:

$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs

清除所有gif文件即可.然后重新启动EM:

[oracle@danaly zhs]$ emctl stop dbconsoleTZ set to PRCoracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 Copyright (c) 1996, 2005 oracle Corporation. All rights reserved.http://danaly.hurrray.com.cn:1158/em/console/aboutApplicationStopping
oracle Enterprise Manager 10g Database Control ... ... Stopped. [oracle@danaly zhs]$ emctl start dbconsoleTZ set to PRCoracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 Copyright (c) 1996, 2005 oracle Corporation. All rights reserved.http://danaly.hurrray.com.cn:1158/em/console/aboutApplicationStarting
oracle Enterprise Manager 10g Database Control .............. started. ------------------------------------------------------------------Logs are generated in directory /opt/oracle/product/10.2.0/danaly.hurrray.com.cn_danaly/sysman/log

现在登陆Web页面,EM显示就可以正常显示中文了

转自:http://blog.sina.com.cn/s/blog_4c66402b0100hv1j.html

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

一般用户登陆isqlplus的网址http://ip:port/isqlplus,进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。

DBA用户登陆isqlpus的网址http://ip:port/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*Plus DBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的用户和密码。

要以DBA身份登陆isqlplus,必须先配置好oc4j用户。oc4j可以使用两种身份认证方式:

基于xml配置文件(jazn-data.xml)

基于LDAP(Oracle Internet Directory)

本文只涉及第一种方式,也就是采用xml配置文件认证的方式。该配置文件位于$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config。

但是该配置文件中的密码是加密过的,所以我们不能手动修改该文件,而是通过JAZN(Java AuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication and Authorization Service)工具,java的东西我不太懂,所幸这里只要照着文档一步步操作就ok。

通过JAZN,可以完成以下任务

Create users

List users

Grant the webDba role

Remove users

Revoke the webDba role

Change user passwords

以上任务,可以先进入JAZN命令环境后再执行,也可以直接通过一条完整的命令行实现。完整的命令行其实就是在进入JAZN的命令后面直接加上对应的任务选项即可,本文只以JAZN命令环境为例。

如何进入JAZN命令环境

1.进入到目录$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/

2.确保JAVA_HOME环境变量指向了正确的jdk(需要1.4以上)路径,可以使用oracle自带的jdk,位于$ORACLE_HOME/jdk

3.执行以下命令

java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell

其中realm=iSQL*Plus DBA,user=admin,这些可以从xml配置文件中看到,admin的默认密码是welcome,但是admin用户默认没有webDba权限,不能直接用于登陆isqlplus。

注意该命令一定要先进入第一步的目录后再执行,否则会报错

oracle.security.jazn.JAZNRuntimeException: Configuration file "configjazn.xml" does not exist. Check your JAAS configuration settings.

或者

Realm [iSQL*Plus DBA] does not exist in system.

如果报以上的错误,请仔细检查你的当前目录是否和第一步中给出的目录完全一致

进入JAZN命令环境后,可以执行所有的任务:

1.新建用户ning,密码pass

JAZN:> adduser "iSQL*Plus DBA" ning pass

2.列出用户

JAZN:> listusers

iSQL*Plus DBA/admin

iSQL*Plus DBA/ning

JAZN:> listusers "iSQL*Plus DBA"

admin

ning

3.授予用户登陆isqlplus DBA的权限

JAZN:> grantrole webDba "iSQL*Plus DBA" ning

4.撤销用户登陆isqlplus DBA的权限

JAZN:> revokerole webDba "iSQL*Plus DBA" ning

5.删除用户

JAZN:> remuser "iSQL*Plus DBA" ning

6.修改用户密码

JAZN:> setpasswd "iSQL*Plus DBA" ning pass newpass

7.退出JAZN命令环境

JAZN:> exit

假设上面我们创建了一个用户ning,密码为pass,并且已经授予webDba权限。

接下来重新启动isqlplus应用服务器

isqlplusctl stop

isqlplusctl start

再进入网址http://ip:port/isqlplus/dba,在弹出的对话框中输入ning和pass,就可以进入到数据库登陆界面了,选择以sysdba或sysoper身份登陆了。

原文连接:http://ningoo.itpub.net/post/2149/244927

参考文章

Oracle10g如何启用isqlplus :http://ningoo.itpub.net/post/2149/200372

Oracle官方文档中关于如何启用dba身份登陆isqlplus:http://download-west.oracle.com/doc...h2.htm#CIHDEFBA

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

====2========

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

 7.查看数据库名 select name from v$datafile;

  8.启动em: emctl start/stop/status dbconsole

  9.重建em: emca -repos create

  10.删除em: emca -repos drop

  11.设置window环境变量 ORACLE_SID=数据库SID set oracle_sid web

  12.6.ORACLE 中修改用户密码的方法

  用OS认证方式登陆,即是CONNECT / AS SYSDBA 登陆,然后修改密码就是了

  ALTER USER SYS IDENTIFIED BY ****

  ALTER USER SYSTEM IDENTIFIED BY ****

  然后你可以改变成密码文件认证。

  13.创建表空间

  create tablespace test_users

  logging

  datafile 'c:\oracle\product\10.2.0\oradata\test_users_idx.dbf'

  size 32m

  autoextend on

  next 32m maxsize 2048m

  extent management local;

  14.授权

  create user zhh identified by "123456";

  grant connect to zhh;

  grant dba to zhh;

  grant imp_full_database to zhh;

  grant resource to zhh;

  grant create session to zhh;

  grant unlimited tablespace to zhh;

15.进入em http://localhost:1158/em 以sys sysdba进入em界面

  16.查看所有用户的表名:   1.select table_name from all_tables;

  17.实例和数据库及用户的关系

  数据库与用户和表空间的关系

  用户与表空间及概要文件的关系

  其实这些都是很基础的东西:

  .实例是一个由一些内存结构组成的,一个数据库可能由一个或多个实例服务,一个实例只能服务于一个数据库

  一个数据库可以拥有多个用户。

  .数据库拥有多个表空间,数据库可以拥有多个用户,一个用户的数据可以存在一个或多个表空间上

  .用户可以使用一个概要文件,概要文件与表空间没有关系

  18.查询select username from dba_users就可以看到oracle里所有的用户//用as sysdba进入

  19.oracle 10g 安装完后进入em 报null错,是因为时区没配置。找到oracle的安装目录下的文件,如:C:\oracle\product\10.2.0\db_1\机器名_orcl\sysman\config下的emd.properties文件,打开将文件最后的时区设置由原来的agentTZRegion=GMT,改为agentTZRegion=Asia/Shanghai,保存后重新启动OracleDBConsole的服务。重新打开IE进入管理即可。另外,时区参考,可在安装的目录下找到,如:10.2.0\db_1\sysman\admin\supportedtzs.lst,

  20.创建数据库DBCA

======================add

1. oracle10g 1、把本机Oracle用户sys、system密码全部改为oracle;

2、创建一个本地管理的表空间TS_ESTORE

CONN SYS/当前密码 AS SYSDBA;

ALTER USER SYS IDENTIFIED BY oracle;

CONN SYSTEM/当前密码 AS SYSDBA;

ALTER USER SYSTEM IDENTIFIED BY oracle;

创建表空间:

CREATE TABLESPACE TS_ESTORE DATAFILE 'D:\data\TS_ESTORE.ora' SIZE 50M AUTOEXTEND ON NEXT 10M;

‘D:\data’目录提前要建好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: