如题:
1.如何查看和调整数据库的最大连接数?
2.linux下查看alert log?
3.在自定义的类型后面加上index by pls_integer 表是什么意思?
4.oracle中自治事务pragma autonomous_transaction 的理解?
5.这句话怎么理解:
如果某一操作包含大量的SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是
预编译的,在首次被运行一个存储过程时,查询优化器对其进行分析优化,并给出最终被存在系统表中的执行计划。
而批处理的SQL语句在每次运行时都要进行编译和优化,因此速度相对要慢一些。
1.如何查看和调整数据库的最大连接数?
2.linux下查看alert log?
3.在自定义的类型后面加上index by pls_integer 表是什么意思?
4.oracle中自治事务pragma autonomous_transaction 的理解?
5.这句话怎么理解:
如果某一操作包含大量的SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是
预编译的,在首次被运行一个存储过程时,查询优化器对其进行分析优化,并给出最终被存在系统表中的执行计划。
而批处理的SQL语句在每次运行时都要进行编译和优化,因此速度相对要慢一些。
show parameter processes;
alter system set processes = ? scope=spfile;
--
select * from v$resource_limit t where resource_name in ('processes', 'sessions');2. alert log在不同的ORACLE版本位于不同的目录下。其命名格式为:alert_SID.log
这是个文本文件,用vi或将之下载到WINDOWS后用文本编辑器打开3. type x is table of varchar2(50) index by pls_integer;
这是一个数组类型。可以这样使用:
declare
type x is table of varchar2(50) index by pls_integer;
v_x x;
begin
v_x(1) := 'good';
v_x(100) := 'nice';
end;
--1.如何查看和调整数据库的最大连接数?
--查看当前连接数
SQL> select SID,USER#,STATUS,SERVER from v$session; SID USER# STATUS SERVER
---------- ---------- -------- ---------
159 0 ACTIVE DEDICATED
160 0 ACTIVE DEDICATED
161 0 ACTIVE DEDICATED
162 0 ACTIVE DEDICATED
163 0 ACTIVE DEDICATED
164 0 ACTIVE DEDICATED
165 0 ACTIVE DEDICATED
166 0 ACTIVE DEDICATED
167 0 ACTIVE DEDICATED
168 0 ACTIVE DEDICATED
169 0 ACTIVE DEDICATED SID USER# STATUS SERVER
---------- ---------- -------- ---------
170 0 ACTIVE DEDICATEDSQL> select SID,USER#,STATUS,SERVER from v$session; SID USER# STATUS SERVER
---------- ---------- -------- ---------
159 0 ACTIVE DEDICATED
160 0 ACTIVE DEDICATED
161 0 ACTIVE DEDICATED
162 0 ACTIVE DEDICATED
163 0 ACTIVE DEDICATED
164 0 ACTIVE DEDICATED
165 0 ACTIVE DEDICATED
166 0 ACTIVE DEDICATED
167 0 ACTIVE DEDICATED
168 0 ACTIVE DEDICATED
169 0 ACTIVE DEDICATED SID USER# STATUS SERVER
---------- ---------- -------- ---------
170 0 ACTIVE DEDICATED--查看活动状态连接数
SQL> select count(*) from v$session where status = 'ACTIVE'; COUNT(*)
----------
12--设置最大连接数
SQL> show parameter processes;NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 150
SQL> alter system set processes = 180;
alter system set processes = 180
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
SQL> alter system set processes = 180 scope =spfile;System altered.--2.linux下查看alert log?
SQL> show parameter background_dump_dest NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /opt/oracle/admin/orcl/bdump
SQL> ho ls /opt/oracle/admin/orcl/bdump
alert_orcl.log orcl_lgwr_3099.trc orcl_lgwr_3123.trc orcl_lgwr_6248.trc
orcl_cjq0_6273.trc orcl_lgwr_3109.trc orcl_lgwr_6183.trc orcl_lgwr_6322.trcSQL> ho cat /opt/oracle/admin/orcl/bdump/alert_orcl.log --3.在自定义的类型后面加上index by pls_integer 表是什么意思?
--不太懂
/*
4.oracle中自治事务pragma autonomous_transaction 的理解?
一般情况下利用触发器禁止某些对表的更新等操作时,若记录日志,则触发器最后抛出异常时会造成日志回滚。利用自治事务可防止此点
对数据库有写操作(INSERT、UPDATE、DELETE、CREATE、ALTER、COMMIT)的存储过程或函数是无法简单的用SQL来调用的,此时可以将其设为自治事务,从而避免ORA-14552(无法在一个查询或DML中执行DDL、COMMIT、ROLLBACK)、ORA- 14551(无法在一个查询中执行DML操作)等错误。需要注意的是函数必须有返回值,但仅有IN参数(不能有OUT或IN/OUT参数)
*/
/*5.这句话怎么理解:
如果某一操作包含大量的SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是
预编译的,在首次被运行一个存储过程时,查询优化器对其进行分析优化,并给出最终被存在系统表中的执行计划。
而批处理的SQL语句在每次运行时都要进行编译和优化,因此速度相对要慢一些。*/
/*
存储过程中的SQL 代码经过编译,优化后,其查询执行计划被缓存到库缓冲区,因此下次有该存储过程的再此运行将直接在缓冲区调用执行计划即可。而SQL 批则不能实现执行计划的可重用。*/
而批处理的SQL语句在每次运行时都要进行编译和优化,因此速度相对要慢一些。
这个说法是不对的,前端应用调用数据库时都有类似prepare()的方法,调用这个方法后再反复执行,效率跟存储过程是一样的。
SELECT VALUE FROM v$parameter t WHERE t.NAME = 'sessions';
ALTER SYSTEM SET processes=<数字>
ORACLE自动设置sessions=processes*1.1+5
2.
SELECT VALUE FROM v$parameter t WHERE t.NAME = 'background_dump_dest';
3.
index by pls_integer指定索引表的下标类型为整形,同其它语言中的数组下标
4.
自治事务实现的功能是,在当前事务中开启一个新事务(新事务即自治事务),自治事务的提交或回滚不影响当前的事务。同时自治事务也是看不到当前会话所做的未提交的修改。
5.
已编译,执行计划确定,不需要重新解析