Oracle数据库配置

发布时间 2023-12-28 14:18:36作者: 遇见阿杜

一:修改Oracle数据库内存

       查看当前内存配置      show parameter memory,万一配置错了起不来,只能通过pfile文件重新启动

         

         修改memory_target

                MEMORY_TARGET:oracle所能使用的最大内存,该参数可以动态调整

                MEMORY_MAX_TARGET:MEMORY_TARGET参数所能动态设定的最大值,不能动态调整,需要重启数据库

                SQL>alter system set memory_max_target=2048M scope=spfile;

                SQL> alter system set memory_target =2048M scope=spfile;

         重启数据库后生效

         shutdown  immediate;

         startup

         show parameter memory

二:连接数/会话

       oracle限制某个用户的连接数

         1. 查看resource_limit参数:

SQL> show parameter resource_limit

设置 RESOURCE_LIMIT参数为TRUE,开启资源限制:

alter system set resource_limit =TRUE;

该改变对密码资源无效,密码资源总是可用的

2. 创建PROFILE :

SQL>create profile sessnum limit sessions_per_user 20; --最大连接数限制为20

3. 将PROFILE指定给用户:

SQL>alter user test profile sessnum;

另外,SESSIONS_PER_USER不会像10g和11g那样限制12C中的并行从进程。

drop profile sessnum cascade;

当某个profile被删除时,如果这个profile已经被分配给某个用户,那么我们在删除的时候要加上cascade,并且已经被分配的用户的profile会被自己修改成default profile。

当前进程的连接数

select count(*) from v$process;

当前会话的连接数

select count(*) from v$session;

查看数据库的并发连接数

select count(*) from v$session where status='ACTIVE';

查询数据库允许的最大连接数

select value from v$parameter where name = 'processes';

 

修改数据库允许的最大连接数:

alter system set processes = 300 scope = spfile;

(需要重启数据库才能实现连接数的修改)

 

查看当前数据库建立的会话情况

select count(1),username from v$session group by username

结束/杀掉会话

SELECT SID, SERIAL# FROM V$SESSION WHERE USERNAME = 'ETC';

ALTER SYSTEM KILL SESSION '13,772';

字符集

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

AMERICAN_AMERICA.ZHS16GBK

注意:以上两种字符集是一样的

select * fromnls_database_parameters(服务端字符)

select * fromnls_session_parameters(客户端字符)

 

查询语句:select userenv('language') from dual;(客户端字符)

查询结果:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

 学习网址:  https://zhuanlan.zhihu.com/p/532100964?utm_id=0