oracle 变量设置

来源:互联网 发布:乐高编程机器人价格 编辑:程序博客网 时间:2024/06/05 00:57

一:oracle 字符集的查看和设置
1:查看数据库服务器当前字符集参数设置
SELECT * FROM v$nls_parameters;
或select * from nls_database_parameters
或select userenv(‘language’) from dual;
查询结果中
NLS_CHARACTERSET表示字符集,
NLS_NCHAR_CHARACTERSET表示国家字符集
NLS_LANGUAGE 语言
NLS_TERRITORY 地域
NLS_CURRENCY 本地货币字符
NLS_ISO_CURRENCY ISO货币字符
NLS_NUMERIC_CHARACTERS 小数字符和组 分隔开
NLS_CHARACTERSET 字符集
NLS_CALENDAR 日历系统
NLS_DATE_FORMAT 缺省的日期格式
NLS_DATE_LANGUAGE 缺省的日期语言
NLS_SORT 字符排序序列
NLS_TIME_FORMAT 时间格式
NLS_TIMESTAMP_FORMAT 时间戳格式
以上的字段都可以用 alter system set修改
注意:nls_database_parameters表示数据库的字符集,在创建数据库的时候设定的,一般不会改变.
      v$nls_parameters 显示当前会话值 ,他受客户端nls 的控制。
      所以2个视图的查询结果是可能不一样的。


2:修改方法
通过ALTER DATABASE CHARACTER SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII的超集,修改数据库字符集可使用ALTER DATABASE CHARACTER SET UTF8。
AL32UTF8,UTF8、UTFE是UTF-8编码字符集


3. 查看数据库可用字符集参数设置
SELECT * FROM v$nls_valid_values;


4:客户端字符集环境
select * from nls_instance_parameters:
其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表


5:会话字符集环境
select * from nls_session_parameters
来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。


注意:client端的字符集通过环境变量NLS_LANG设置 如果检查的结果发现server端与client端字符集不一致,就可能产生乱码


二:日期格式设置
select TO_DATE('12-Jan-1985 11:12:11 AM', 'dd-Mon-yyyy HH:MI:SS AM') from dual
显示无效月份时
解决方法:alter session set NLS_DATE_LANGUAGE = American


三:初始化参数设置
SELECT * FROM V$PARAMETER;有两百多个参数
alter session 修改当前会话的参数设置
alter system  修改所有会话的参数设置 要 特权用户或者dba用户才可以执行 
SELECT name,type,isses_modifiable,issys_modifiable FROM V$PARAMETER;
其中isses_modifiable标识初始化参数是否可以使用alter_session 进行修过
其中issys_modifiable标识初始化参数是否可以使用alter_system 进行修过

例如修改:NLS_DATE_LANGUAGE
alter system set NLS_DATE_LANGUAGE = American


四:查看oracle数据库的系统参数
v$controlfile:控制文件的信息;
v$datafile:数据文件的信息;
v$log: 日志文件的信息;
v$process:处理器的信息;
v$session:会话信息;
v$transaction:事务信息;
v$resource:资源信息;
v$sga:系统全局区的信息。


五:修改用户
1:修改口令字
alter user 用户名 identified by "123456"

2:修改用户缺省表空间
alter user 用户名 default tablespace users

3:将用户加锁
alter user 用户名 account lock;
alter user 用户名 account unlock;

4:删除用户
drop user 用户名;

drop user 用户名 cascade(将用户及其所建实体全部删除);

六:sqlplus的设置(set,show命令 )

SQL> show all   --查看所有68个系统变量值

SQL> show user  --显示当前连接用户

SQL> show error --显示错误

SQL> set heading off  --禁止输出列标题,默认值为ON

SQL> set feedback off --禁止显示最后一行的计数反馈信息,默认值为"对6个或更多的记录,回送ON"

SQL> set timing on    --默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能

SQL> set sqlprompt "SQL> " --设置默认提示符,默认值就是"SQL> "

SQL> set linesize 1000     --设置屏幕显示行宽,默认100

SQL> set autocommit ON       --设置是否自动提交,默认为OFF

SQL> set pause on --默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页

SQL> set arraysize 1 --默认为15

SQL> set long 1000   --默认为80