Skip to content

Commit 9c97a99

Browse files
committed
Added support for db_domain in init.ora
ansible-oracle did not support a non default value for db_domain in the past. This has been changed with some limitations: - db_domain could be set in nonCDB or CDB - db_domain in PDB is not supported at the moment - oracle_listeners_config and listener_installed are needed to configure SID_LIST_LISTENER for CDB The connection to nonCDB/CDB will fail, when SID_LIST_LISTENER is missing! The whole commit will be replaced by a refactered one in 4.0.
1 parent 85dc6df commit 9c97a99

File tree

22 files changed

+574
-41
lines changed

22 files changed

+574
-41
lines changed

changelogs/fragments/db_domain.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
minor_changes:
3+
- "Added support for db_domain in init.ora (oravirt#356)"
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
# oradb_manage_grants
2+
3+
Manage grants for users in Oracle Databases
4+
5+
## Table of content
6+
7+
- [Requirements](#requirements)
8+
- [Default Variables](#default-variables)
9+
- [configure_cluster](#configure_cluster)
10+
- [db_mode](#db_mode)
11+
- [db_password_cdb](#db_password_cdb)
12+
- [db_password_pdb](#db_password_pdb)
13+
- [db_service_name](#db_service_name)
14+
- [db_user](#db_user)
15+
- [listener_port](#listener_port)
16+
- [listener_port_template](#listener_port_template)
17+
- [oracle_base](#oracle_base)
18+
- [oracle_env](#oracle_env)
19+
- [user_cdb_password](#user_cdb_password)
20+
- [user_pdb_password](#user_pdb_password)
21+
- [Discovered Tags](#discovered-tags)
22+
- [Dependencies](#dependencies)
23+
- [License](#license)
24+
- [Author](#author)
25+
26+
---
27+
28+
## Requirements
29+
30+
- Minimum Ansible version: `2.9.0`
31+
32+
33+
## Default Variables
34+
35+
### configure_cluster
36+
37+
#### Default value
38+
39+
```YAML
40+
configure_cluster: false
41+
```
42+
43+
### db_mode
44+
45+
#### Default value
46+
47+
```YAML
48+
db_mode: sysdba
49+
```
50+
51+
### db_password_cdb
52+
53+
#### Default value
54+
55+
```YAML
56+
db_password_cdb: '{% if dbpasswords is defined and dbpasswords[item.0.oracle_db_name]
57+
is defined and dbpasswords[item.0.oracle_db_name][db_user] is defined%}{{ dbpasswords[item.0.oracle_db_name][db_user]
58+
}} {%- else %}{{ default_dbpass }} {%- endif %}'
59+
```
60+
61+
### db_password_pdb
62+
63+
#### Default value
64+
65+
```YAML
66+
db_password_pdb: '{% if dbpasswords is defined and dbpasswords[item.0.cdb] is defined
67+
and dbpasswords[item.0.cdb][db_user] is defined %}{{ dbpasswords[item.0.cdb][db_user]
68+
}} {%- else %}{{ default_dbpass }} {%- endif %}'
69+
```
70+
71+
### db_service_name
72+
73+
#### Default value
74+
75+
```YAML
76+
db_service_name: '{% if item.0 is defined %} {%- if item.0.oracle_db_unique_name is
77+
defined %}{{ item.0.oracle_db_unique_name }} {%- elif item.0.oracle_db_instance_name
78+
is defined %}{{ item.0.oracle_db_instance_name }} {%- else %}{{ item.0.oracle_db_name
79+
}} {%- endif %} {%- endif %}'
80+
```
81+
82+
### db_user
83+
84+
#### Default value
85+
86+
```YAML
87+
db_user: sys
88+
```
89+
90+
### listener_port
91+
92+
#### Default value
93+
94+
```YAML
95+
listener_port: 1521
96+
```
97+
98+
### listener_port_template
99+
100+
#### Default value
101+
102+
```YAML
103+
listener_port_template: '{% if item.0.listener_port is defined %}{{ item.0.listener_port
104+
}}{% else %}{{ listener_port }}{% endif %}'
105+
```
106+
107+
### oracle_base
108+
109+
#### Default value
110+
111+
```YAML
112+
oracle_base: /u01/app/oracle
113+
```
114+
115+
### oracle_env
116+
117+
#### Default value
118+
119+
```YAML
120+
oracle_env:
121+
ORACLE_HOME: '{{ oracle_home_db }}'
122+
LD_LIBRARY_PATH: '{{ oracle_home_db }}/lib'
123+
```
124+
125+
### user_cdb_password
126+
127+
#### Default value
128+
129+
```YAML
130+
user_cdb_password: '{% if dbpasswords is defined and dbpasswords[item.0.oracle_db_name]
131+
is defined and dbpasswords[item.0.oracle_db_name][item.1.schema] is defined %}{{
132+
dbpasswords[item.0.oracle_db_name][item.1.schema] }} {%- else %}{{ default_dbpass
133+
}} {%- endif %}'
134+
```
135+
136+
### user_pdb_password
137+
138+
#### Default value
139+
140+
```YAML
141+
user_pdb_password: '{% if dbpasswords is defined and dbpasswords[item.0.cdb] is defined
142+
and dbpasswords[item.0.cdb][item.0.pdb_name] is defined and dbpasswords[item.0.cdb][item.0.pdb_name][item.1.schema]
143+
is defined %}{{ dbpasswords[item.0.cdb][item.0.pdb_name][item.1.schema] }} {%- else
144+
%}{{ default_dbpass }} {%- endif%}'
145+
```
146+
147+
## Discovered Tags
148+
149+
**_users,grants_**
150+
151+
152+
## Dependencies
153+
154+
- orasw_meta
155+
- oradb_facts
156+
157+
## License
158+
159+
license (MIT)
160+
161+
## Author
162+
163+
Mikael Sandström

roles/oradb_manage_grants/meta/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ galaxy_info:
2222

2323
dependencies:
2424
- role: orasw_meta
25+
- role: oradb_facts

roles/oradb_manage_grants/tasks/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
directory_privs: "{{ item.1.directory_privs | default(omit) }}"
4343
hostname: "{{ ansible_hostname }}"
4444
port: "{{ listener_port_template }}"
45-
service_name: "{{ item.0.pdb_name }}"
45+
service_name: "{{ _db_service_pdb }}"
4646
user: "{{ db_user }}"
4747
password: "{{ db_password_pdb }}"
4848
mode: "{{ db_mode }}"

roles/oradb_manage_parameters/meta/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ galaxy_info:
2222

2323
dependencies:
2424
- role: orasw_meta
25+
- role: oradb_facts

roles/oradb_manage_parameters/tasks/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
- name: Manage parameters (pdb)
3030
opitzconsulting.ansible_oracle.oracle_parameter:
3131
hostname: "{{ ansible_hostname }}"
32-
service_name: "{{ item.0.pdb_name }}"
32+
service_name: "{{ _db_service_pdb }}"
3333
port: "{{ listener_port_template }}"
3434
user: "{{ db_user }}"
3535
password: "{{ db_password_pdb }}"
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
# oradb_manage_profiles
2+
3+
Manage database profiles in Oracle
4+
5+
## Table of content
6+
7+
- [Requirements](#requirements)
8+
- [Default Variables](#default-variables)
9+
- [attr_name](#attr_name)
10+
- [attr_value](#attr_value)
11+
- [configure_cluster](#configure_cluster)
12+
- [db_password_cdb](#db_password_cdb)
13+
- [db_password_pdb](#db_password_pdb)
14+
- [db_service_name](#db_service_name)
15+
- [db_user](#db_user)
16+
- [listener_port](#listener_port)
17+
- [listener_port_template](#listener_port_template)
18+
- [oracle_base](#oracle_base)
19+
- [oracle_env](#oracle_env)
20+
- [user_cdb_password](#user_cdb_password)
21+
- [user_pdb_password](#user_pdb_password)
22+
- [Discovered Tags](#discovered-tags)
23+
- [Dependencies](#dependencies)
24+
- [License](#license)
25+
- [Author](#author)
26+
27+
---
28+
29+
## Requirements
30+
31+
- Minimum Ansible version: `2.9.0`
32+
33+
34+
## Default Variables
35+
36+
### attr_name
37+
38+
#### Default value
39+
40+
```YAML
41+
attr_name: "{% if item.1.attributes is defined %}{{ item.1.attributes | default (omit)\
42+
\ | map(attribute='name') | list }} {%- else %}None {%- endif %}"
43+
```
44+
45+
### attr_value
46+
47+
#### Default value
48+
49+
```YAML
50+
attr_value: "{% if item.1.attributes is defined %}{{ item.1.attributes | default (omit)\
51+
\ | map(attribute='value') | list }}{% else %}None{% endif %}"
52+
```
53+
54+
### configure_cluster
55+
56+
#### Default value
57+
58+
```YAML
59+
configure_cluster: false
60+
```
61+
62+
### db_password_cdb
63+
64+
#### Default value
65+
66+
```YAML
67+
db_password_cdb: '{% if dbpasswords is defined and dbpasswords[item.0.oracle_db_name]
68+
is defined and dbpasswords[item.0.oracle_db_name][db_user] is defined%}{{ dbpasswords[item.0.oracle_db_name][db_user]
69+
}} {%- else %}{{ default_dbpass }} {%- endif %}'
70+
```
71+
72+
### db_password_pdb
73+
74+
#### Default value
75+
76+
```YAML
77+
db_password_pdb: '{% if dbpasswords is defined and dbpasswords[item.0.cdb] is defined
78+
and dbpasswords[item.0.cdb][db_user] is defined %}{{ dbpasswords[item.0.cdb][db_user]
79+
}} {%- else %}{{ default_dbpass }} {%- endif %}'
80+
```
81+
82+
### db_service_name
83+
84+
#### Default value
85+
86+
```YAML
87+
db_service_name: '{% if item.0 is defined %} {%- if item.0.oracle_db_unique_name is
88+
defined %}{{ item.0.oracle_db_unique_name }} {%- elif item.0.oracle_db_instance_name
89+
is defined %}{{ item.0.oracle_db_instance_name }} {%- else %}{{ item.0.oracle_db_name
90+
}} {%- endif %} {%- endif %}'
91+
```
92+
93+
### db_user
94+
95+
#### Default value
96+
97+
```YAML
98+
db_user: system
99+
```
100+
101+
### listener_port
102+
103+
#### Default value
104+
105+
```YAML
106+
listener_port: 1521
107+
```
108+
109+
### listener_port_template
110+
111+
#### Default value
112+
113+
```YAML
114+
listener_port_template: '{% if item.0.listener_port is defined %}{{ item.0.listener_port
115+
}}{% else %}{{ listener_port }}{% endif %}'
116+
```
117+
118+
### oracle_base
119+
120+
#### Default value
121+
122+
```YAML
123+
oracle_base: /u01/app/oracle
124+
```
125+
126+
### oracle_env
127+
128+
#### Default value
129+
130+
```YAML
131+
oracle_env:
132+
ORACLE_HOME: '{{ oracle_home_db }}'
133+
LD_LIBRARY_PATH: '{{ oracle_home_db }}/lib'
134+
```
135+
136+
### user_cdb_password
137+
138+
#### Default value
139+
140+
```YAML
141+
user_cdb_password: '{% if dbpasswords is defined and dbpasswords[item.0.oracle_db_name]
142+
is defined and dbpasswords[item.0.oracle_db_name][item.1.schema] is defined %}{{
143+
dbpasswords[item.0.oracle_db_name][item.1.schema] }} {%- else %}{{ default_dbpass
144+
}} {%- endif%}'
145+
```
146+
147+
### user_pdb_password
148+
149+
#### Default value
150+
151+
```YAML
152+
user_pdb_password: '{% if dbpasswords is defined and dbpasswords[item.0.cdb] is defined
153+
and dbpasswords[item.0.cdb][item.0.pdb_name] is defined and dbpasswords[item.0.cdb][item.0.pdb_name][item.1.schema]
154+
is defined %}{{ dbpasswords[item.0.cdb][item.0.pdb_name][item.1.schema] }} {%- else
155+
%}{{ default_dbpass }} {%- endif%}'
156+
```
157+
158+
## Discovered Tags
159+
160+
**_dbprofiles_**
161+
162+
163+
## Dependencies
164+
165+
- orasw_meta
166+
- oradb_facts
167+
168+
## License
169+
170+
license (MIT)
171+
172+
## Author
173+
174+
Mikael Sandström

roles/oradb_manage_profiles/meta/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ galaxy_info:
2222

2323
dependencies:
2424
- role: orasw_meta
25+
- role: oradb_facts

roles/oradb_manage_profiles/tasks/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
attribute_value: "{{ attr_value | default(omit) }}"
3333
hostname: "{{ ansible_hostname }}"
3434
port: "{{ listener_port_template }}"
35-
service_name: "{{ item.0.pdb_name }}"
35+
service_name: "{{ _db_service_pdb }}"
3636
user: "{{ db_user }}"
3737
password: "{{ db_password_pdb }}"
3838
with_subelements:

roles/oradb_manage_roles/meta/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ galaxy_info:
2222

2323
dependencies:
2424
- role: orasw_meta
25+
- role: oradb_facts

0 commit comments

Comments
 (0)