oracle学习笔记
oracle软件安装和数据库的创建
******
一)oracle软件安装
上一课准备工作完成,安装包准备好,进入安装。
首次安装要确保安装目录干净,否则在设置安装路径时会有 OUI-10030警告:您指定了非空目录来安装此产品
主要是上次安装未成功,造成有些目录下留下了残余文件,如果你确保没有影响,可继续安装。
如果以前软件安装成功,目录中存在文件,这时再次安装不会有警告,这次的安装被认为是软件的升级或添加组件。
安装程序在设置完成、检查前提条件都通过后,进入下一步安装设置。
----
1、
oracle Universal Installer:创建数据库
此步骤选择:仅安装数据库软件
既这次只装oracle软件。将数据库创建和软件安装分开了。
若软件的安装和数据库的创建放到一起,这里要选择 创建数据库 选项。
在安装设置一步步完成后,在最后安装前,安装程序给你一个安装总体的概要,
在这里点击安装按钮,开始正式的将软件写入硬盘。
----
2、
orale软件安装到最后,要执行两个配置脚本,要求以root身份运行。
目的主要是在系统中给刚安装的oracle软件做一下第一次使用前的最后配置。
配置脚本1: /u01/app/oracle/oraInvertory/orainstRoot.sh
执行结果
[root@redhat4 oraInventory]# ./orainstRoot.sh
更改权限/u01/app/oracle/oraInventory 到 770.
更改组名/u01/app/oracle/oraInventory 到 oinstall.
脚本的执行已完成
配置脚本2 /u01/app/oracle/product/10.2.0/db_1/root.sh
执行结果
[root@redhat4 db_1]# ./root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
----
3、
安装最终结束前进入 安装结束 对话框,
给出了
iSQL *Plus URL:
http://redhat4:5560/isqlplus
iSQL *Plus DBA URL:
http://redhat4:5560/isqlplus/dba
点退出,oracle软件安装完成。
4、
oracle软件中组件使用的端口号可以在
/u01/app/oracle/product/10.2.0/db_1/install/portlist.ini
中找到
[root@redhat4 install]# pwd
/u01/app/oracle/product/10.2.0/db_1/install
[root@redhat4 install]# more portlist.ini
iSQL*Plus HTTP 端口号 =5560
portlist.ini此文件包含所含端口的端口号。
******
二)创建oracle数据库
1、
下面要进行建库,使用命令dbca
[oracle@redhat4 ~]$ dbca
-bash: dbca: command not found
显示找不到命令
有dbca这个命令,但是找不到它,说明环境变量PATH设置有问题
设置环境变量PATH
[oracle@redhat4 ~]$ vi .bash_profile
在文件尾部加入下行
export PATH=$PATH:$ORACLE_HOME/bin:.
再重新登陆一下oracle用户,使环境变量生效。
[root@redhat4 install]# su - oracle
运行dbca命令
----
2、
成功启动 Database Configuration Assistant 数据库配置助手开始建库。
步骤1:操作
请选择希望执行的操作:
这个页面显示了我们通过dbca可以执行的操作
这里我们选 创建数据库
步骤2:选择创建数据库的模板
有一般用途、事务处理、定制数据库、数据仓库四种模板可供选择。
四种模板参数和内容有区别,而安装中的区别在后面的步骤9 数据库内容 页中的内容
一般用途 事务处理 数据仓库 三种模板在步骤9显示的是:
实例方案标签页,自己只能决定是否选择实例方案组件
定制数据库 模板在步骤9显示的是:
数据库组件标签页,可以自己选择组件,但是无法选择实例方案组件
这里我们选择 一般用途 模板
步骤3: 数据库标识
全局数据库名:jiagulun SID:jiagulun
步骤4: 管理选项
决定使不使用Enterprise Manager
em用java编写,用ie访问 如果选择了它我们可以使用基于ie的工具管理oracle
推荐生产中使用。
步骤5: 数据库身份证明
oracle建立中,在数据库内部默认会建很多用户
在这里只是学习,给这些用户设置相同的密码,设为oracle。实际生产中可分别设置,并要保证密码强度。
步骤6: 存储选项
生产中ASM和裸设备使用非常多,而且ASM用的越来越多,
学习中我们使用文件系统。
步骤7: 数据库文件所在位置
决定数据库建在文件系统的那个目录底下
这里是用 所有数据库文件使用公共位置:{ORACLE_BASE}/oradata
这里可以自己选择路径,但自己要记住,方便以后使用。
步骤8: 恢复配置
指定快速恢复区 按默认即可
步骤9:选上示例方案
学习中需要使用的一些案例,实际生产中没有用。
步骤10:初始化参数
oracle数据库是非常吃内存的一个软件,这里要设置oracle使用的内存大小
这些参数事后可以调整
但字符集以后最好不要再调了,这里设定后,就不要改变了,以后调可能会出现问题
数据库字符集选:ZHS16GBK-GBK 16位简体中文,建议选AL32UTF8,实际生产中这两种用的最多。
国外有企业分支机构可以选AL32UTF8
国家字符集选:AL16UTF16
其它默认
步骤11:数据库存储
决定oracle数据库的三类文件 控制文件、数据文件、重做日志组 的 存储位置
三类文件的内容,有什么意义,放到存储结构中讲。
步骤12:创建选项
选 创建数据库
点完成
最后的确认页:
确认自己在各步骤做的选择后,点 确定 开始创建数据库。
创建数据库完成后,Database Configuration Assistant 给出完成页面。
显示的是:
数据库创建完成。详细信息在:/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/jiagulun 上的日志文件
数据库参数文件名:/u01/app/oracle/product/10.2.0/db_1/dbs/spfilejiagulun.ora
Database Control URL 为:http://redhat4:1158/em
这里还可以点击 口令管理... 修改刚创建完成的oracle数据库当前所有已有用户的密码。
退出 后
数据库创建最终完成。
3、
数据库组件em的端口号信息也在文件
/u01/app/oracle/product/10.2.0/db_1/install/portlist.ini中
查看一下
[oracle@redhat4 ~]$ cd /u01/app/oracle/product/10.2.0/db_1/install
[oracle@redhat4 install]$ more portlist.ini
iSQL*Plus HTTP 端口号 =5560
Enterprise Manager Console HTTP 端口 (jiagulun) = 1158
Enterprise Manager 代理端口 (jiagulun) = 3938
******
三)配置监听
1、
数据库刚创建完成,我们在ie中连接em。
老师设置的redhat4主机的ip位192.168.0.100,我设置的ip为 192.168.3.47
以后出现类似的改变,文章中就使用我自己的设置了。
在windows中启动ie,访问数据库,em连接地址:http://192.168.3.47:1158/em
出现错误,会发现 无法连接到数据库实例
这要从em管理架构说起
oracle服务器中有数据库,监听和em工具,客户端使用ie,通过ie连接em,em通过监听找到oracle。
服务器中em访问监听,监听访问数据库。
刚出现的情况是因为em启动了,但是监听未启动。
解决办法:
数据库创建后数据库和em已经创建,还需要使用netca配置监听。
2、
在工具中要进行 监听程序 和 本地Net服务名 两项配置
[oracle@redhat4 ~]$ netca
首页 请选择希望进行的配置:
选择 监听程序配置-》添加-》监听程序名:LISTENER-》-》使用标准端口号1521-》是否配置另一个监听程序 否-》下一步
其它未提到的保持默认即可
开始配置监听程序,然后
同样在此工具首页
选择 本地Net服务名配置-》添加-》服务名 jiagulun-》-》主机名 192.168.3.47 端口1521-》先不进行测试了-》网络服务名 默认 jiagulun-》-》完成。
本地Net服务名配置中,服务名要求oracle服务器中有这个服务,通常是全局数据库名。
网络服务名可以自己起,但要记住以后好用
监听整个的配置结果:
[oracle@redhat4 ~]$ netca
Oracle Net Services 配置:
正在配置监听程序:LISTENER
默认本地命名配置完成。
监听程序配置完成。
Oracle Net 监听程序启动:
正在运行监听程序控制:
/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start LISTENER
监听程序控制完成。
监听程序已成功启动。
默认本地命名配置完成。
已创建的 Net 服务名: jiagulun
成功完成 Oracle Net Services 配置。退出代码是0
监听配置完成。
3、
查看监听配置情况:
[oracle@redhat4 ~]$ lsnrctl status
如果出现
Service "jiagulun" has 1 instance(s).
Instance "jiagulun", status READY, has 1 handler(s) for this service...
说明配置成功。
这样数据库已经被监听识别到。监听知道数据库在什么地方。进而em通过监听可以找到数据库。
如果没有 Service "jiagulun" status READY说明监听没有找到数据库。
刚才实际中监听已经找到数据库,下面模仿一下监听建立但没有找到数据库的情况。
先关闭监听:lsnrctl stop
再启动监听: lsnrctl start
如果在status中没有 jiagulun READY
说明虽然监听已启动,数据库已启动,但是监听未认识到数据库。
这种情况下 1)时间长了,它自己就会认识
2)也可以通过执行下面的命令认识:
[oracle@redhat4 ~]$ sqlplus / as sysdba
SQL> alter system register;
然后
SQL> exit
退出
再看状态,会发现 jiagulun READY。
这时监听已认识到数据库。
四)启动em
1、
数据库、监听、em都正常启动后再通过ie看em
这时会看到数据库登陆界面。
我们使用数据库的超级用户sys登陆,它的连接身份应为:SYSDBA
第一次登陆会有 Oracle Database 10g 许可授予信息 页面
点页面最下面的 我同意 按钮
出现网页 数据库实例:jiagulun 页面
页面显示::
Enterprise Manager 无法连接到数据库实例,但实例和监听都以成功打开。
我们登陆数据库,并执行命令:
[oracle@redhat4 ~]$ sqlplus system/oracle@jiagulun
SQL> select * from tab;
有结果。
说明数据库已打开。
这时数据库已启动,监听已启动,监听也认得数据库,但是em还识别不到数据库
这主要因为缓存的问题造成的。
问题出在em位置,em是应用服务器,有一些缓存信息,ie访问时很可能访问em的缓存信息,虽然em已能识别数据库,但缓存中的信息状态是还未识别,ie此时使用缓存信息,所以造成了这个错误。
刷新网页 或 重新登陆 可改变缓存状态。
我们注销后重新登陆,出现正常界面。
2、
网页 Enterprise Manager 中
包括四个标签页
主目录 性能 管理 维护
主目录页有1)一些常规信息,如数据库状态,运行时间等
2)主机cpu的使用情况
3)多少用户连接到数据库上
等
性能页:oracle整体的性能信息。
对oracle进行性能的监控以及管理维护时,通过em完全可以。
管理页:可以对oracle进行各方面的管理。
维护页:是一些维护性的工作。
其中管理和性能用的较多。
em若出现问题,可将em删除后重建。可使用工具emca,它有很多选项和参数,对em进行删除、重建等管理。
五)启动iSQL*Plus
isqlplus可以登陆数据库并访问数据库的数据
iSQL*Plus的位置和em类似,浏览器访问isqlplus,isqlplus通过监听连接数据库。
在浏览器中输入
http://192.168.3.47:5560/isqlplus/
打开iSQL*Plus登陆页面
用户名 system 口令oracle 连接标示符:jiagulun
登陆成功进入工作区。
它是一个交互性图形工作方式。
也可以在客户端,使用sqlplus做同样的事。但sqlplus是命令行方式的工具。
oracle公司现在对iSQL*Plus并不重视,默认安装没有选择它。
oracle的两个网页页面工具:
em用在管理维护 iSQL*Plus 访问数据库数据
六)本节总结:
安装了oracle软件,建了库,配置了监听,配置了em,启用了iSQL*Plus
前面用了两节课讲了oracle安装的知识点。
以后的课,讲的是如何管理oracle。
2016年4月13日