首页 > 代码库 > 8月4

8月4

创建数据库用dbca图形界面创建。

Listener监听服务   工作在1521端口      一个监听可以为所有的数据库服务,除了浏览器,em服务是和数据库一对一的。

OEM企业管理器:OEM for db control   emctlem 的控制命令  emca修改配置    lsnrctl管理监听    

Ememctl start | stop |status dbconsole

Portlist.ini

  

Listener

Lsnrctl然后回车

Lsnrctl start |stop |status |service

  

数据库database

如果是showdown 就用startup mount 不用加;        如果是nomount就用alter database mount;

 

 

 

 

启动实例:

$ ls $ORACLE_HOME/dbs/spfileorcl.ora

SQL> shutdown immediate  关闭

SQL> startup nomount   不加载状态

SQL> select status from v$instance;

SQL> select * from v$sgainfo;

SQL> select * from hr.employees;

SQL> conn hr/hr

 

SQL> startup mountalter database mount;         加载状态

SQL> show parameter control_files     显示控制文件的参数值

SQL> select status from v$instance;

SQL> select * from v$controlfile;

SQL> select name from v$datafile;

SQL> select * from hr.employees;

SQL> conn hr/hr

 

SQL> startupalter database open;

SQL> select status from v$instance;

SQL> select * from hr.employees;

SQL> conn hr/hr

 

关闭数据库:

SQL> shutdown normal      正常关闭

SQL> shutdown transactional             事务性关闭

SQL> shutdown immediate            立即关闭

SQL> shutdown abort          异常关闭  

控制脚本:

$ vi /etc/oratab

$ vi $ORACLE_HOME/bin/dbstart   批量启动     可以扫描系统里的所有数据库

$ vi $ORACLE_HOME/bin/dbshut   批量关闭

重启数据库:

SQL> startup force  强行重启

startup force = shutdown abort + startup

startup force mount = shutdown abort + startup mount

 

练习:

熟悉3个服务的启动和关闭

参数管理

参数文件:

$ ls $ORACLE_HOME/dbs/spfileorcl.ora

预先备份:

$ cp spfileorcl.ora spfileorcl.ora.bak

不可以通过vi直接修改!

查看参数:

SQL> show parameter

SQL> select NAME, VALUE from v$parameter;

修改参数:

动态参数:当前内存的值改完立即生效,并写入到参数文件中。

$ strings $ORACLE_HOME/dbs/spfileorcl.ora|grep reource_limit

SQL> show parameter RESOURCE_LIMIT

SQL> alter system set RESOURCE_LIMIT=true;

SQL> show parameter RESOURCE_LIMIT

$ strings $ORACLE_HOME/dbs/spfileorcl.ora|grep reource_limit

 

静态参数:只写入文件,内存里的值不允许被修改,重启数据库可以看到。

$ strings $ORACLE_HOME/dbs/spfileorcl.ora|grep processes

*.processes=150

SQL> show parameter processes      值为150

SQL> alter system set processes=300 scope=spfile;   scope指范围

SQL> show parameter processes      值为150

$ cat $ORACLE_HOME/dbs/spfileorcl.ora

*.processes=300

 

重启数据库,静态参数修改生效:

SQL> shutdown immediate

SQL> startup

SQL> show parameter processes      值为300

 

session级别修改参数:  动态参数在 会话级别修改      不会保存在参数文件中

SQL> select sysdate from dual;

SQL> alter session set nls_date_format=‘dd-mon rr‘;

SQL> select sysdate from dual; 只影响当前会话,不影响系统

SQL> conn / as sysdba

SQL> select sysdate from dual; 恢复默认设置

 

文本格式pfile/二进制格式spfile格式转换:

SQL> create pfile=‘/home/oracle/initorcl.ora‘ from spfile;

$ cat /home/oracle/initorcl.ora

$ mv $ORACLE_HOME/dbs/spfileorcl.ora $ORACLE_HOME/dbs/spfileorcl.ora.bak

SQL> shutdown immediate

SQL> create spfile from pfile=‘/home/oracle/initorcl.ora‘;

$ strings $ORACLE_HOME/dbs/spfileorcl.ora

 

指定参数文件启动数据库:

SQL> startup pfile=‘/home/oracle/initorcl.ora‘

 

练习:

修改resource_limitprocesses参数。并在alert log中找到对应的信息。

警告日志和后台进程的转储文件

$ find /u01 -name alert_*.log

$ vi /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

SQL> show parameter dump

练习:

查看alert log中最近一次启动/关闭实例的详细信息。

查看alert log中记录的用户对参数所做的修改。

 

8月4