ORACL

sqlplus /nolog

select count(*) from v$process;

conn system/123456@orcl as sysdba

 

show parameter processes

show parameter sessions

 

修改processes和sessions值:sessions=(1.1*process+5)

 

select count(*) from v$process; --取得数据库目前的进程数。

select value from v$parameter where name = 'processes';     --取得进程数的上限。

 

select count(*) from v$session; --取得数据库目前的会话数。

select value from v$parameter where name = 'sessions'; --取得会话数的上限。

 

系统进程数process和系统会话数session之间存在一个关系:

session数=process数*1.1+5

 

a)  修改process值

alter system set processes=1000 scope=spfile;   --将process值改为1000

b)  修改session值

alter system set sessions=1105 scope=spfile;    --将sessions值改为1105

 

create pfile from spfile= 'D:\pfile.ora'    --从D:\pfile.ora(之前备份出来的pfile文件)创建系统配置信息。

shutdowm immediate

startup

 

 

 

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

sqlplus /nolog

select count(*) from v$process;

conn system/123456@orcl as sysdba

 

show parameter processes

show parameter sessions

 

--------------------------------需要在系统的环境下执行---------------------------------

查看状态命令:lsnrctl status

启动监听:lsnrctl start

关闭监听:lsnrctl stop

 

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

通过pfile来启动数据库.然后重建spfile了

startup pfile='D:/app/Administrator/admin/orcl/pfile/init.ora';

create spfile from pfile='D:/app/Administrator/admin/orcl/pfile/init.ora';

shutdown immediate;

startup;

 

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

怎么可以快速做一个和原表一样的备份表? 

create table new_table as (select * from old_table); 

select a.tablespace_name,

       a.bytes / 1024 / 1024 "Sum MB",

       (a.bytes - b.bytes) / 1024 / 1024 "used MB",

       b.bytes / 1024 / 1024 "free MB",

       round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used"

  from (select tablespace_name, sum(bytes) bytes

          from dba_data_files

         group by tablespace_name) a,

       (select tablespace_name, sum(bytes) bytes, max(bytes) largest

          from dba_free_space

         group by tablespace_name) b

 where a.tablespace_name = b.tablespace_name

 order by ((a.bytes - b.bytes) / a.bytes) desc

--使用语法表空间检查情况:

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",

       D.TOT_GROOTTE_MB "表空间大小(M)",

       D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",

       TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,

                     2),

               '990.99') "使用比",

       F.TOTAL_BYTES "空闲空间(M)",

       F.MAX_BYTES "最大块(M)"

  FROM (SELECT TABLESPACE_NAME,

               ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,

               ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES

          FROM SYS.DBA_FREE_SPACE

         GROUP BY TABLESPACE_NAME) F,

       (SELECT DD.TABLESPACE_NAME,

               ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB

          FROM SYS.DBA_DATA_FILES DD

         GROUP BY DD.TABLESPACE_NAME) D

WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME

ORDER BY 4 DESC

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

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size 

FROM dba_tablespaces t, dba_data_files d 

WHERE t.tablespace_name = d.tablespace_name 

GROUP BY t.tablespace_name;

 

 

猜你喜欢

转载自nidexuanzecjy-2014.iteye.com/blog/2278149