配置oracle数据库和OEM随机启动,可以实现翻页,和清屏

        oracle数据库默认不能翻页,和清屏,查看配置过的信息,但是 我们今天可以用脚本来永久的实现这些。

  • 配置oracle和OEM随机启动

完成oracle11g数据库的安装后,相关服务器会自动启用,但并不表示下次开机后oracle服务器仍然可用。下面将介绍oracle的基本服务组件,以及如何编写服务脚本来控制oracle数据库系统的自动运行。

根据上面的安装过程,oracle11g的数据库软件将安装在变量ORACLE_HOME所北定的位置。例如/opt/oracle/product/11.2.0/dbhome_1/,而各种服务器组件程序(也包括sqlplus命令)正是位于其中的bin子目录下。

Oracle11g数据库的基本服务组件如下所述:(注:oracle服务组件最好以oracle用户身份运行如:su - oracle)

lsnrctl:监听器程序,用来提供数据库访问,默认监听TCP 1521端口。

dbstart、dbshut:数据库控制程序,用来启动、停止数据库实例。

emctl:管理器控制工具,用来控制OEM平台的开启与关闭,OEM平台通过1158端口提供HTTPS访问,5520端口提供TCP访问。

为了方便执行oracle11g的服务组件程序,建议对所有用户的环境配置作进一步的优化调整、补充PATH路径、oracle终端类型等变量设置。除此以外,还应该修改/etc/oratab配置文件,以便运行dbstart时自动启用数据库实例。

 

1、修改/etc/oratab,修改内容如下:

vim /etc/oratab

orcl:/opt/oracle/product/11.2.0/dbhome_1:Y(N改为Y)

 

2、修改/etc/rc.local文件,在文件末尾增加如下:

su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start'

3、建立oracle服务的启动脚本:(可以不做)

虽然通过各种服务组件程序能够启动、停止整个oracle11g数据库系统,但显然还不够方便,在RHEL6服务器中,更好的做法是将相关操作编写为服务脚本,交给chkconfig工具来管理,从而实现随系统开、关机自动启动、停止oracle数据库。

vi /etc/init.d/oracle ,输入如下内容:

写到/etc/init.d下,并设置权限。

给脚本设置权限并添加为系统服务

添加好oracle服务后,就可以通过脚本的start、stop、status、restart参数来控制oracle数据库的启动、停止、查看状态、重启了。

 

六、常见系统控制命令

1、执行”lsnrctl start”命令可以启动oracle监听器。

2、执行”lsnrctl status”命令可以查看oracle监听器的状态。

3、执行”emctl stop dbconsole”命令可以关闭OEM管理控制台。

4、执行”dbshut $ORACLE_HOME”命令可以停止数据库实例。

5、执行”dbstart  $ORACLE_HOME”命令可以启动数据库实例。

6、使用sqlplus命令工具时,若以超级管理员sys登录,则在”SQL>”环境中执行”STARTUP;”、”SHUTDOWN IMMEDIATE;”指令也可以启用、关闭默认的数据库实例

  • 配置oracle命令行可以翻页和清屏

1、下载3个包:

1)IO-Tty-1.07.tar.gz

2)Term-ReadLine-Gnu-1.16.tar.gz

3)uniread-1.01.tar.gz

 

2、安装

1)解压缩

[root@oracle Desktop]# tar -xvf IO-Tty-1.07.tar.gz

[root@oracle Desktop]# tar -xvf Term-ReadLine-Gnu-1.16.tar.gz

[root@oracle Desktop]# tar -xvf uniread-1.01.tar.gz

2)安装第一个包

[root@oracle Desktop]# cd IO-Tty-1.07

[root@oracle IO-Tty-1.07]# perl Makefile.PL

[root@oracle IO-Tty-1.07]# make

[root@oracle IO-Tty-1.07]# make install

 

  1. 安装第二个包

[root@oracle IO-Tty-1.07]# cd ../Term-ReadLine-Gnu-1.16

[root@oracle Term-ReadLine-Gnu-1.16]# perl Makefile.PL

[root@oracle Term-ReadLine-Gnu-1.16]# make

[root@oracle Term-ReadLine-Gnu-1.16]# make install

 

4)安装第三个包

[root@oracle Term-ReadLine-Gnu-1.16]# cd ../uniread-1.01

[root@oracle uniread-1.01]# perl Makefile.PL

[root@oracle uniread-1.01]# make

[root@oracle uniread-1.01]# make install

 

3、登录oracle:在命令前加 uniread

 

原来登录是: sqlplus sys/123456 AS SYSDBA

现在是: uniread sqlplus sys/123456 AS SYSDBA

现在就可以使用ctrl+l清屏了,还可以上下翻页。

  • 创建数据库

如果在安装oracle产品时选择不建立数据库,那么要使用oracle系统就必须先创建数据库,如果在安装oracle产品时选择建立数据库,也可以再创建第二个数据库。

创建数据库有两种方法:一种通过图形界面;另一种采用create  database命令,下面介绍图形界面的方法。

在linux中,运行数据库配置助手(DBCA),执行$ORACLE_HOME/bin目录下执行DBCA

 

1、执行netca启用监听的方法(如果没有启用需要做这一步)(为了使客户端能连接到oracle实例,以及有些命令也需要启用监听)

后面下一步即可。

或者使用命令启动监听:

  1. 运行DBCA

输入数据库名称:

默认即可。

所有管理员口令使用同一口令,当然生产环境中为了安装最好设置为不同的密码。

默认即可.

为了在系统出现故障时能够恢复数据库中存储的数据,需要制定快速恢复区,采用默认即可。

默认即可。

设置内存、SGA、PGA的大小,值越大,oracle性能越好,这里就默认了。

注意:建议一台服务器上只创建一个数据库,安装oracle的时候我们创建过一个orcl数据库,平时做实验使用orcl即可。(当然,我们需要学会创建新的数据库)

 

补充:连接新建立的数据库

  1. 打开dbca配置数据库监听

选择数据库BENET

将数据库benet注册给监听器

启用监听

连接到benet数据库

  • 启动关闭数据库
  1. 数据库的启动

启动(startup)一个数据库需要3个步骤

  1. 启动oracle实例
  2. 由实例安装数据库
  3. 打开数据库

在startup命令中,可以通过不同的选项来控制数据库的不同的启动步骤。

NOMOUNT选项:

nomount:已经通过参数文件知道控制文件在哪个位置,但是还没有读取控制文件。主要的作用就是启动一个实例,读取init.ora初始化参数文件,启动后台进程,初始化全局SGA

MOUNT选项:

读取了控制文件,通过控制文件知道了其他文件(数据文件和日志文件),此时并没有读取数据文件和日志文件,这个状态叫mount状态。启动实例并且安装了数据库,但没有打开数据库。这种打开方式常在数据库维护操作中使用,例如对数据文件更名,改变重做日志及打开归档方式等,在这种打开方式下,除了可以看到SGA 系统列表以外,系统还会给出“数据库装载完毕”提示。


Open选项:

读取完控制文件之后,找到了数据文件和日志文件,数据库就处于OPEN状态了。

startupnomount|mount|open

shudownnormal|immedieate|transactional|abort

 

注意:如果仅仅执行startup命令,将会完成启动实例,安装实例和打开数据库的所有3个步骤,这是系统出了可以看到前面startup mount方式下所有提示外,还会给出一个“数据库已经打开”的提示,此时,数据库系统处于正常的工作状态,可以接收用户请求。

 

如果使用startup  nomount 命令或者startup  mount命令,必须采用alter  database命令执行打开数据库操作,例如:如果以startup nomount方式打开数据库,也就是说实例已经启动,但是数据库没有安装和打开,这是必须运行下面的两条命令,数据库才能正确启动。
ALTER DATABASE MOUNT;

ALTER DATABASE OPEN;

 

如果以startup  mount方式启动数据库,只需要运行下面一条命令即可打开数据库

ALTER DATABASE OPEN

 

2、执行startup命令

可以看出数据库已经打开

注意:

oracle11g数据库在执行dbca或者调整sga后重启oracle的时候可能会出现ORA-00845 MEMORY_TARGET not supported on this system 错误。

究其原因就是Linux系统的shm的大小比SGA设置的小,造成的,距离来说,SGA设置4G

而shm可能只有1G

解决办法:

调整shm的大小,具体操作如下:

vi /etc/fstab

修改如下行的设置

tmpfs /dev/shm tmpfs defaults 0 0

改成

tmpfs /dev/shm tmpfs defaults,size=6G 0 0

保存退出

重新mount下shm使其生效

mount -o remount /dev/shm

关闭数据库

开始startup  nomount状态

可以看出现在处于STARTED状态

修改数据库到open状态

6、数据库的关闭

normal:这是默认选项,使用该选项时,不允许任何新的用户连接,但是允许继续当前的所有连接,只有所有用户(自愿的)退出登录时,数据库才能真正的关闭

通常,正常的数据库关闭是没有意义的,即使只剩下database control在运行,也总是存在未退出登录的用户。也许关闭一个数据库需要几天或更长的事件(如果用户一直没有自己关闭)

immediate:使用这个选项时,不允许任何新的用户连接,当前的所有连接的会话都被终止。任何活动的事务都会都将回滚,随后数据库会被关闭。是一种常用的关闭数据库方式,快速关闭数据库。

transactional:使用这个选项时,不允许任何新的用户连接,没有存在于某个事务中的现有会话被终止,允许当前位于某个事务中的会话在完成该事务之后终止。一但所有会话终止,数据就会被关闭(使用shutdown  immediate)

abort:就oracle而言,使用这个选项相当于断电。实例被立即终止。此时,任何数据都不会被写入磁盘。但是在下一次启动数据库的时候,速度比较慢(需要实例恢复)。建议在以下情况使用这种方式。

  1. 数据库一直处于非正常的工作状态,不能用shutdown normal或者shutdown  immediate命令关闭。
  2. 需要立即关闭数据库
  3. 在启动数据库实例时遇到问题

  • 使用Navicat for Oracle工具远程图形化管理oracle

在win7宿主机上安装软件Navicat for Oracle。

连续点击下一步安装即可。

  1. 新建连接

2. 点击高级---角色选择sysdba,位置选择图片设置的位置。

设置位置:C:\Users\yanyan\Documents\Navicat\Oracle\servers\oracleserver

3. 查看数据库

  • Sql语句以及基本操作

 

  1. 使用scott用户连接数据库服务器

如果锁定了scott,则需要解锁

 

alter user scott  account  unlock;

修改密码并且登录服务器

查看scott用户的数据库下所有的表

  1. 新建表products

查看表products的结构

Desc products

设置自动提交事物

Set  autocommit on

格式化字段

1)在图形化查看emp表。

在sqlplus查看emp表

上图看出来布局很乱

3)格式化

再次查询

发现第一列无法正常显示,是因为长度不够,EMPNO的长度为4,所以格式化empno的命令应该为col  empno for  9999

再次查询正常

举例说明格式化问题:

SQL> conn sys/123.abc as sysdba;

已连接。

SQL>select file_name,tablespace_name from dba_data_files;

SQL>col file_name for a55;

SQL>col tablespace_name for a10

SQL>select file_name,tablespace_name from dba_data_files;

 

FILE_NAME TABLESPACE

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

/u01/app/oracle/oradata/orcl/users01.dbf USERS

/u01/app/oracle/oradata/orcl/undotbs01.dbf UNDOTBS1

/u01/app/oracle/oradata/orcl/sysaux01.dbf SYSAUX

/u01/app/oracle/oradata/orcl/system01.dbf SYSTEM

/u01/app/oracle/oradata/orcl/example01.dbf EXAMPLE

目前默认一行可以显示80字符,超过80字符就会换行。

SQL>show linesize;

linesize 80

SQL>set linesize 60;

 

可以查看以下显示效果:

SQL>select file_name,tablespace_name from dba_data_files;

一次默认显示14行

 

SQL>col username for a30

SQL>select username from dba_users;

一次默认显示14行

 

SQL>showpagesize;

pagesize 14

 

修改默认显示的行为100

SQL>set pagesize 100

SQL>select username from dba_users;

以上的col file_name for a10 、linesize、pagesize的设置只在当前会话中有效,断开连接之后就不会再有效果了。可以通过修改$ORACLE_HOME/sqlplus/admin/下的glogin.sql实现

[oracle@orclsrv ~]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/sqlplus/admin/

[oracle@orclsrv admin]$ ls

glogin.sql help  libsqlplus.def  plustrce.sqlpupbld.sql

[oracle@orclsrv admin]$

[oracle@orclsrv admin]$vimglogin.sql

添加常用的一些参数

setpagesize 100

setlinesize 120

coldname for a20

colloc for a15

colfile_name for a55

coltablespace_name for a10

col name for a20

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值