Skip to content

Statspack setup in CDB #379

@talek

Description

@talek

Hello,

I'm playing around with oradb_manage_statspack role. It's working flawless in a non-CDB database, but it's not in a CDB. I always get:

TASK [opitzconsulting.ansible_oracle.oradb_manage_statspack : oradb_manage_statspack | Create Statspack Schema in PDBs (existing user is ignored)] ***
Monday 11 September 2023  13:36:13 +0300 (0:00:00.059)       0:00:05.125 ******
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: NoneType: None
failed: [molecule] (item=MYCDB PDB1 MYCDB) => {"ansible_loop_var": "opdb", "changed": true, "failed_when_result": true, "msg": "non-zero return code", "opdb": [{"cdb": "MYCDB", "datafile_dest": "/data/oradata/MYCDB", "home": "19c", "pdb_name": "PDB1", "state": "present", "statspack"
: {"purgedays": 14, "snaplevel": 7, "state": "present", "tablespace": "PERFSTAT_TBS"}, "tablespaces": [{"autoextend": true, "bigfile": false, "content": "permanent", "maxsize": "4G", "name": "PERFSTAT_TBS", "next": "50M", "size": "10M", "state": "present"}]}, {"cdb": "MYCDB", "dataf
ile_dest": "/data/oradata/MYCDB", "home": "19c", "pdb_name": "PDB2", "state": "present", "statspack": {"purgedays": 14, "snaplevel": 7, "state": "present", "tablespace": "PERFSTAT_TBS"}, "tablespaces": [{"autoextend": true, "bigfile": false, "content": "permanent", "maxsize": "4G",
"name": "PERFSTAT_TBS", "next": "50M", "size": "10M", "state": "present"}]}], "rc": 127, "stderr": "", "stderr_lines": [], "stdout": "ORACLE_HOME=\r\nORACLE_SID=MYCDB\r\n/var/tmp/ansible-tmp-1694428574.030089-81994-118030467811178/spcreate.sh: line 10: /bin/sqlplus: No such file or
directory\r\n", "stdout_lines": ["ORACLE_HOME=", "ORACLE_SID=MYCDB", "/var/tmp/ansible-tmp-1694428574.030089-81994-118030467811178/spcreate.sh: line 10: /bin/sqlplus: No such file or directory"]}

Apparently, the oracle_home_db (maybe in orasw_metada) is not computed correctly when this role is used in a CDB context.

The playbook:

---
- name: Statspack setup
  hosts: "{{ hostgroup }}"
  become: true
  vars:
    dbpasswords:
      MYCDB:
        sys: "Oracle123"
        system: "Oracle123"
    db_homes_config:
      19c:
        home: 19c
        oracle_home: /u01/app/oracle/product/19c/ee_db01
        version: 19.3.0.0
        edition: EE
        opatch_minversion: 12.2.0.1.32
        opatchauto: []
        opatch: []
    oracle_databases:
      - home: 19c
        oracle_db_name: MYCDB
        is_container: true
        state: present
    oracle_pdbs:
      - home: 19c
        pdb_name: PDB1
        cdb: MYCDB
        datafile_dest: /data/oradata/MYCDB
        state: present
        statspack:
          purgedays: 14
          snaplevel: 7
          tablespace: PERFSTAT_TBS
          state: present
        tablespaces:
          - name: PERFSTAT_TBS
            size: 10M
            autoextend: true
            next: 50M
            maxsize: 4G
            content: permanent
            bigfile: false
            state: present
      - home: 19c
        pdb_name: PDB2
        cdb: MYCDB
        datafile_dest: /data/oradata/MYCDB
        statspack:
          purgedays: 14
          snaplevel: 7
          tablespace: PERFSTAT_TBS
          state: present
        tablespaces:
          - name: PERFSTAT_TBS
            size: 10M
            autoextend: true
            next: 50M
            maxsize: 4G
            content: permanent
            bigfile: false
            state: present
        state: present
  tasks:
    - name: Provision tablespaces
      ansible.builtin.include_role:
        name: opitzconsulting.ansible_oracle.oradb_manage_tablespace

    - name: Install statspack
      ansible.builtin.include_role:
        name: opitzconsulting.ansible_oracle.oradb_manage_statspack

Any ideas? Thanks!

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions