RAC修改字符集「建议收藏」

RAC修改字符集「建议收藏」字符集修改做过几次了,这次感觉还是有点不顺,走了弯路,再记一遍【概况】准备搭建RAC+RAC DG,发现两端字符集不大一致,担心到时出问题。 【目标】将备库NLS_NCHAR_CHARACTERSET

字符集修改做过几次了,这次感觉还是有点不顺,走了弯路,再记一遍
【概况】
准备搭建RAC+RAC DG,发现两端字符集不大一致,担心到时出问题。

【目标】
将备库NLS_NCHAR_CHARACTERSET修改成与主库一致。
–备
NLS_NCHAR_CHARACTERSET UTF8
修改为
–主
NLS_NCHAR_CHARACTERSET AL16UTF16

0、备库 修改前
PRIMARY-SYS@TESTDB2>set pagesize 100
PRIMARY-SYS@TESTDB2>col value$ for a30
PRIMARY-SYS@TESTDB2>select name,value$ from props$ where name like “%NLS%”;

NAME VALUE$
—————————————————————————————— ——————————
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET ZHS16GBK
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET UTF8
NLS_RDBMS_VERSION 11.2.0.4.0

20 rows selected.

1、节点2 先停掉,在节点1修改完成后再启动
[root@NODE2 ~]# ls -l /u01/app/11.2.0/grid/bin/crsctl
-rwxr-xr-x 1 root oinstall 8576 Jan 13 2017 /u01/app/11.2.0/grid/bin/crsctl
[root@NODE2 ~]#
[root@NODE2 ~]# /u01/app/11.2.0/grid/bin/crsctl stop cluster
CRS-2673: Attempting to stop “ora.crsd” on “NODE2”
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on “NODE2”
CRS-2673: Attempting to stop “ora.LISTENER_SCAN1.lsnr” on “NODE2”
CRS-2673: Attempting to stop “ora.LISTENER.lsnr” on “NODE2”
CRS-2673: Attempting to stop “ora.CRSDG.dg” on “NODE2”
CRS-2673: Attempting to stop “ora.TESTDB.db” on “NODE2”
CRS-2677: Stop of “ora.LISTENER_SCAN1.lsnr” on “NODE2” succeeded
CRS-2673: Attempting to stop “ora.scan1.vip” on “NODE2”
CRS-2677: Stop of “ora.LISTENER.lsnr” on “NODE2” succeeded
CRS-2673: Attempting to stop “ora.NODE2.vip” on “NODE2”
CRS-2677: Stop of “ora.scan1.vip” on “NODE2” succeeded
CRS-2672: Attempting to start “ora.scan1.vip” on “NODE1”
CRS-2677: Stop of “ora.NODE2.vip” on “NODE2” succeeded
CRS-2672: Attempting to start “ora.NODE2.vip” on “NODE1”
CRS-2677: Stop of “ora.TESTDB.db” on “NODE2” succeeded
CRS-2673: Attempting to stop “ora.DATA.dg” on “NODE2”
CRS-2673: Attempting to stop “ora.FRA.dg” on “NODE2”
CRS-2677: Stop of “ora.DATA.dg” on “NODE2” succeeded
CRS-2677: Stop of “ora.FRA.dg” on “NODE2” succeeded
CRS-2676: Start of “ora.scan1.vip” on “NODE1” succeeded
CRS-2672: Attempting to start “ora.LISTENER_SCAN1.lsnr” on “NODE1”
CRS-2676: Start of “ora.NODE2.vip” on “NODE1” succeeded
CRS-2676: Start of “ora.LISTENER_SCAN1.lsnr” on “NODE1” succeeded
CRS-2677: Stop of “ora.CRSDG.dg” on “NODE2” succeeded
CRS-2673: Attempting to stop “ora.asm” on “NODE2”
CRS-2677: Stop of “ora.asm” on “NODE2” succeeded
CRS-2673: Attempting to stop “ora.ons” on “NODE2”
CRS-2677: Stop of “ora.ons” on “NODE2” succeeded
CRS-2673: Attempting to stop “ora.net1.network” on “NODE2”
CRS-2677: Stop of “ora.net1.network” on “NODE2” succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on “NODE2” has completed
CRS-2677: Stop of “ora.crsd” on “NODE2” succeeded
CRS-2673: Attempting to stop “ora.ctssd” on “NODE2”
CRS-2673: Attempting to stop “ora.evmd” on “NODE2”
CRS-2673: Attempting to stop “ora.asm” on “NODE2”
CRS-2677: Stop of “ora.evmd” on “NODE2” succeeded
CRS-2677: Stop of “ora.asm” on “NODE2” succeeded
CRS-2673: Attempting to stop “ora.cluster_interconnect.haip” on “NODE2”
CRS-2677: Stop of “ora.cluster_interconnect.haip” on “NODE2” succeeded
CRS-2677: Stop of “ora.ctssd” on “NODE2” succeeded
CRS-2673: Attempting to stop “ora.cssd” on “NODE2”
CRS-2677: Stop of “ora.cssd” on “NODE2” succeeded
[root@NODE2 ~]#

2、节点1

PRIMARY-SYS@TESTDB1>show parameter pfile;

NAME TYPE VALUE
———————————— ——————————— ——————————
spfile string +DATA/TESTDB/parameterfile/spf
ile.344.1016736315
PRIMARY-SYS@TESTDB1>create pfile from spfile;
–这样的话就直接修改上面生成的pfile文件中cluster_database=false 用pfile mount +修改INTERNAL_USE + open ,然后再创建spfile共节点2一起使用

–下面没必要修改spfile,保持spfile(两节点共享的)中cluster_database=TRUE
–alter system set cluster_database=false;
PRIMARY-SYS@TESTDB1>alter system set cluster_database=false scope=spfile;

System altered.

–需要【重启】才能生效,尽管上面已经修改了
PRIMARY-SYS@TESTDB1>show parameter cluster_database

NAME TYPE VALUE
———————————— ——————————— ——————————
cluster_database boolean TRUE
cluster_database_instances integer 2
PRIMARY-SYS@TESTDB1>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

–mv initTESTDB1.ora initTESTDB1.ora.bak,最后又mv回来了,没改回就报下面的错了
PRIMARY-SYS@TESTDB1>startup mount;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file “/u01/app/oracle/product/11.2.0/db_home1/dbs/initTESTDB1.ora”

PRIMARY-SYS@TESTDB1>startup mount;
ORACLE instance started.

Total System Global Area 7.4826E+10 bytes
Fixed Size 2261048 bytes
Variable Size 4.6976E+10 bytes
Database Buffers 2.7649E+10 bytes
Redo Buffers 199049216 bytes
Database mounted.
PRIMARY-SYS@TESTDB1>ALTER SYSTEM ENABLE RESTRICTED SESSION;

System altered.

PRIMARY-SYS@TESTDB1>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

System altered.

PRIMARY-SYS@TESTDB1>ALTER SYSTEM SET AQ_TM_PROCESSES=0;

System altered.

PRIMARY-SYS@TESTDB1>ALTER DATABASE OPEN;

Database altered.
–这一步是【重点要修改的】
PRIMARY-SYS@TESTDB1>ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;

Database altered.

–pfile启动了,没法修改spfile了
PRIMARY-SYS@TESTDB1>alter system set cluster_database=true scope=spfile sid=”*”;
alter system set cluster_database=true scope=spfile sid=”*”
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE is in use

PRIMARY-SYS@TESTDB1>show parameter pfile;

NAME TYPE VALUE
———————————— ——————————— ——————————
spfile string

–手动修改initTESTDB1.ora中的cluster_database=true,重建spfile
PRIMARY-SYS@TESTDB1>create spfile from pfile=”/u01/app/oracle/product/11.2.0/db_home1/dbs/initTESTDB1.ora”;

File created.

PRIMARY-SYS@TESTDB1>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
PRIMARY-SYS@TESTDB1>startup mount;
ORACLE instance started.

Total System Global Area 7.4826E+10 bytes
Fixed Size 2261048 bytes
Variable Size 4.6976E+10 bytes
Database Buffers 2.7649E+10 bytes
Redo Buffers 199049216 bytes
Database mounted.
–还得改回去,0->1
PRIMARY-SYS@TESTDB1>ALTER SYSTEM DISABLE RESTRICTED SESSION;

System altered.

PRIMARY-SYS@TESTDB1>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=1;

System altered.

PRIMARY-SYS@TESTDB1>ALTER SYSTEM SET AQ_TM_PROCESSES=1;

System altered.

PRIMARY-SYS@TESTDB1>show parameter pfile;

NAME TYPE VALUE
———————————— ——————————— ——————————
spfile string /u01/app/oracle/product/11.2.0
/db_home1/dbs/spfileTESTDB1.or
a
PRIMARY-SYS@TESTDB1>alter system set cluster_database=true scope=spfile sid=”*”;

System altered.

PRIMARY-SYS@TESTDB1>alter database open;

Database altered.

–cluster_database【重启】才生效

PRIMARY-SYS@TESTDB1>show parameter cluster_database

NAME TYPE VALUE
———————————— ——————————— ——————————
cluster_database boolean FALSE
cluster_database_instances integer 1
PRIMARY-SYS@TESTDB1>shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
PRIMARY-SYS@TESTDB1>
PRIMARY-SYS@TESTDB1>
PRIMARY-SYS@TESTDB1>
PRIMARY-SYS@TESTDB1>startup
ORACLE instance started.

Total System Global Area 7.4826E+10 bytes
Fixed Size 2261048 bytes
Variable Size 4.9392E+10 bytes
Database Buffers 2.5233E+10 bytes
Redo Buffers 199049216 bytes
Database mounted.
Database opened.
PRIMARY-SYS@TESTDB1>show parameter cluster_database

NAME TYPE VALUE
———————————— ——————————— ——————————
cluster_database boolean TRUE
cluster_database_instances integer 2
PRIMARY-SYS@TESTDB1>

PRIMARY-SYS@TESTDB1>set pagesize 100
PRIMARY-SYS@TESTDB1>col value$ for a30
PRIMARY-SYS@TESTDB1>select name,value$ from props$ where name like “%NLS%”;

NAME VALUE$
—————————————————————————————— ——————————
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET ZHS16GBK
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
–发现已【修改】成功
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 11.2.0.4.0

20 rows selected.

PRIMARY-SYS@TESTDB1>

3、第二个节点启动
[root@NODE2 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster
CRS-2672: Attempting to start “ora.cssdmonitor” on “NODE2”
CRS-2676: Start of “ora.cssdmonitor” on “NODE2” succeeded
CRS-2672: Attempting to start “ora.cssd” on “NODE2”
CRS-2672: Attempting to start “ora.diskmon” on “NODE2”
CRS-2676: Start of “ora.diskmon” on “NODE2” succeeded
CRS-2676: Start of “ora.cssd” on “NODE2” succeeded
CRS-2672: Attempting to start “ora.ctssd” on “NODE2”
CRS-2676: Start of “ora.ctssd” on “NODE2” succeeded
CRS-2672: Attempting to start “ora.evmd” on “NODE2”
CRS-2672: Attempting to start “ora.cluster_interconnect.haip” on “NODE2”
CRS-2676: Start of “ora.evmd” on “NODE2” succeeded
CRS-2676: Start of “ora.cluster_interconnect.haip” on “NODE2” succeeded
CRS-2672: Attempting to start “ora.asm” on “NODE2”
CRS-2676: Start of “ora.asm” on “NODE2” succeeded
CRS-2672: Attempting to start “ora.crsd” on “NODE2”
CRS-2676: Start of “ora.crsd” on “NODE2” succeeded

–设置了自动重启,所以失败。。。
PRIMARY-SYS@TESTDB2>startup mount
ORA-10997: another startup/shutdown operation of this instance inprogress
ORA-09968: unable to lock file
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 169786
。。。自启动了。。。

–稍等发现已启动OK
PRIMARY-SYS@TESTDB2>select inst_id,instance_name,status from gv$instance;

INST_ID INSTANCE_NAME STATUS
———- ———————————————— ————————————
2 TESTDB2 OPEN
1 TESTDB1 OPEN

2 rows selected.

自此两个节点都OK了

【总结】
上面可能说的有点乱,捋一捋。。。不知道说的对不对
0、做事之前要盘算计划好,眼高手低是技术一大障碍,说来都很美好,做起来总不是那么一帆风顺的,稍微一个错误浪费的时间比事前多花点时间准备好多了,当然牛人除外,能够及时处理。
1、根据节点1生成的pfile,修改cluster_database=false启动修改,然后再改回来是不是少点麻烦
2、修改字符集要关闭一个节点,在另外一个节点修改,修改前要把这个节点的cluster_database改成false(别改spfile,spfile是两个节点公用的,改了等下又要改回来,重复工作!),重启(才生效),修改时按照上面mount之后操作即可,修改后再把0改成1,cluster_database再改成true,重启(生效),启动节点2(还是修改之前的spfile额,cluster_database仍为true),结束。

【小插曲】两节点不从ASM中的spfile启动了
PRIMARY-SYS@DINPAY1>show parameter pfile;

NAME TYPE VALUE
———————————— ——————————— ——————————
spfile string /u01/app/oracle/product/11.2.0
/db_home1/dbs/spfileDINPAY1.or
a
PRIMARY-SYS@DINPAY1>create pfile from spfile;

File created.

PRIMARY-SYS@DINPAY1>create spfile from pfile=”/u01/app/oracle/product/11.2.0/db_home1/dbs/initDINPAY1.ora”;
create spfile from pfile=”/u01/app/oracle/product/11.2.0/db_home1/dbs/initDINPAY1.ora”
*
ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance

PRIMARY-SYS@DINPAY1>shut immediate

PRIMARY-SYS@DINPAY1>startup pfile=”/u01/app/oracle/product/11.2.0/db_home1/dbs/initDINPAY1.ora”;

PRIMARY-SYS@DINPAY1>show parameter pfile;

NAME TYPE VALUE
———————————— ——————————— ——————————
spfile string
PRIMARY-SYS@DINPAY1>create spfile=“+data” from pfile=”/u01/app/oracle/product/11.2.0/db_home1/dbs/initDINPAY1.ora”;

File created.
PRIMARY-SYS@DINPAY1>show parameter pfile;

NAME TYPE VALUE
———————————— ——————————— ——————————
spfile string
PRIMARY-SYS@DINPAY1>shut immediate

–grid登陆查找生成spfile位置
ASMCMD> cd +DATA/dinpay/parameterfile/
ASMCMD> ls
spfile.282.1016709123
spfile.343.1016734531
spfile.344.1016736315
spfile.346.1025548589
–刚刚生成的
+DATA/dinpay/parameterfile/spfile.346.1025548589

–更新pfile,别这样create pfile from spfile;指定pfile生成位置
[oracle@zhjlrac1 dbs]$ pwd
/u01/app/oracle/product/11.2.0/db_home1/dbs
[oracle@szml02-db01 dbs]$ cat initDINPAY1.ora
SPFILE=”+DATA/dinpay/parameterfile/spfile.346.1025548589″

PRIMARY-SYS@DINPAY1>startup
ORACLE instance started.

Total System Global Area 7.4826E+10 bytes
Fixed Size 2261048 bytes
Variable Size 4.9124E+10 bytes
Database Buffers 2.5501E+10 bytes
Redo Buffers 199049216 bytes
Database mounted.
Database opened.
PRIMARY-SYS@DINPAY1>

PRIMARY-SYS@DINPAY1>show parameter pfile;

NAME TYPE VALUE
———————————— ——————————— ——————————
spfile string +DATA/dinpay/parameterfile/spf
ile.346.1025548589
另外一个节点页如上指向这个spfile,重启OK。

如果直接使用create pfile from spfile;命令创建pfile,那么生成的pfile 文件将覆盖原有$ORACLE_HOME/dbs 目录下的pfile 文件。 而在之前的pfile文件里面值保留了一条指向spfile存放位置的记录。 这样修改之后,就会造成数据库启动时会因为找不到spfile文件而读取本地的pfile文件,而不是共享设备上的spfile文件。这样对参数管理上就会带来麻烦,也带来其他的隐患。
所以对于RAC,要慎用 create pfile from spfile; 来创建pfile 文件, 在创建的时候,尽量指定pfile的生成位置

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10495.html

(0)
上一篇 2022-12-26
下一篇 2022-12-26

相关推荐

  • Python Setup.py:构建和分发Python软件的核心工具

    Python Setup.py:构建和分发Python软件的核心工具Python是一种高级编程语言,已经成为了web开发、数据科学、机器学习等领域的主要语言之一。当你开发了一个Python代码库,你希望在其他地方使用它,那么如何分发这个代码库呢?这就需要用到Python Setup.py,一个构建和分发Python软件的核心工具。本文将详细介绍Python Setup.py的使用方法。

    2023-12-06
    111
  • Linux和MySQL添加用户和授予权限[亲测有效]

    Linux和MySQL添加用户和授予权限[亲测有效]Linux下添加账户和设置密码 useradd 添加用户 useradd –d /usr/sam -m test 此命令创建了一个用户test, 其中-d和-m选项用来为登录名test产生一个主目录…

    2023-03-08
    150
  • [CosmosDB]如何导出数据「建议收藏」

    [CosmosDB]如何导出数据「建议收藏」
    资料参考 https://docs.azure.cn/zh-cn/cosmos-db/import-data 步骤 1. 下载数据导出文件 2. 解压缩 3…

    2023-04-05
    166
  • 使用Python的Sleepy Tie库来构建HTTP客户端

    使用Python的Sleepy Tie库来构建HTTP客户端Sleepy Tie是一个基于Python 3编写的轻量级异步HTTP客户端库。它基于Python标准库中的asyncio和aiohttp模块,提供了简单易用的HTTP请求接口,支持异步和同步请求,以及SSL/TLS加密、HTTP代理等功能。Sleepy Tie库封装了aiohttp库的接口,使得使用者不需要了解HTTP协议的细节,就能快速构建高性能、高并发的HTTP客户端应用。

    2024-03-29
    77
  • Python中的str

    Python中的str在Python的编程中,字符串(str)是最为普遍的数据类型之一,几乎所有的编程项目都涉及到字符串的处理和运用。Python中字符串的概念,是由若干个字符组成的序列。

    2024-06-19
    46
  • net framework initialization_entityframework core

    net framework initialization_entityframework core1、EF简介 ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。该框架曾经为.NET Framewor…

    2023-02-22
    146
  • 字节跳动基于 Apache Hudi 的多流拼接实践方案

    字节跳动基于 Apache Hudi 的多流拼接实践方案字节跳动数据湖团队在实时数仓构建宽表的业务场景中,探索实践出的一种基于 Hudi Payload 的合并机制提出的全新解决方案。 字节跳动数据湖团队在实时数仓构建宽表的业务场景中,探索实践出的一种基于

    2023-05-10
    145
  • Python编程,无所不能

    Python编程,无所不能Python是一种面向对象、解释型的高级编程语言,由Guido van Rossum于1989年底在荷兰创造。它具有简单明了、易读易学、代码量少、可移植性强等特点,并且可以用于各种编程领域。

    2024-04-29
    69

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注