SQL>showparameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ deferred_segment_creation booleanTRUE SQL>altersystemset deferred_segment_creation=false; 系统已更改。 SQL>showparameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ deferred_segment_creation booleanFALSE
# root用户 # 安装rlwrap su - root rpm -ivh /data/software/Oracle/rlwrap-0.42-1.el6.x86_64.rpm
# oracle用户 su – oracle # 修改 .bash_profile vi .bash_profile # 添加2行 alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' # 验证修改结果 sqlplus / as sysdba 其中上下左右退格键正常使用
主要方法1:(如果此方法无效,再尝试下一方法) 数据库显示正常,需要三者统一,客户端编码、数据库编码、系统编码。 oracle用户 #### 查看客户端编码、数据库编码、系统编码 # 查看系统编码 locale # 进入数据库 sqlplus / as sysdba startup; # 查看oracle数据库的编码 select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; # 查看oracle客户端编码 select * from nls_instance_parameters where parameter='NLS_LANGUAGE';
#### 修改编码 # Linux系统默认 utf-8,将数据库和客户端也修改为utf-8的编码 1.首先以sysdba的身份登录上去 sqlplus / as sysdba 2.关闭数据库shutdown immediate; 3.以mount打来数据库,startup mount 4.设置session SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION; SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; 5.启动数据库 alter database open;
6.修改字符集 ALTER DATABASE CHARACTER SET AL32UTF8; 这会可能会报错,提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改: ALTER DATABASE character set INTERNAL_USE AL32UTF8;